Форум OlegON > Программы и оборудование для автоматизации торговли > Кассовые программы > УКМ-4

Доработка операционной системы касс : УКМ-4

28.03.2024 13:27


01.03.2010 17:21
NGhost
 
Цитата:
Onesoft Если в строке "PROMPT_FOR_IPADDRESS=" добавить "Y", то заливка терминала бует сопровождаться запросом IP-адреса.
Если в строке "PROMPT_FOR_IPADDRESS=" добавить "Y", то заливка терминала бует сопровождаться вылетов скрипта в шелл.
02.03.2010 10:41
Onesoft
 
Цитата:
NGhost Если в строке "PROMPT_FOR_IPADDRESS=" добавить "Y", то заливка терминала бует сопровождаться вылетов скрипта в шелл.
Значит, надо освежить файлы в папке %programfiles%\ukmclient, возможно, там остались "хвосты" предыдущих версий, не подправленные при обновлении на более новые (хотя такое наблюдалось в версиях ранее 42-ой, в которой это было налажено).

Вот скриншот установки клиента 42sp6 на этапе ввода запрашиваемого IP-адреса:


Изначально был задан адрес 192.168.138.4, его инталлятор терминала использует при начальной заливке терминала. Затем инсталлятор запросил IP адрес, я ввёл 192.168.138.25, инсталлятор запросил "Is it correct?", я сделал вид, что ошибся, сказал "n" (годится любой символ кроме трёх утвердительных "enter", "y" или "Y") и ввёл адрес 192.168.138.125. Затем сказал "y" и терминал успешно дозалился до конца.
И вот лог первой загрузки терминала:
Цитата:
10:38:21: INFO:Global:---------- Client v.42 Service Pack 6 started -----------
10:38:21: INFO:sound#0x916a7f0:started
10:38:21: INFO:NTLP#0x9170640:started
10:38:21: INFO:Connector to server#0x9170a18:started
10:38:21: INFO:NTLP#0x9170640:Socket 6 connected to 192.168.138.21: new channel 152480208 created
10:38:21: WARNING:main:Успешно найден
10:38:21: INFO:main:Подождите
10:38:31: WARNING:debug#ukm-client.cpp(323) StartNetwork:St13runtime_error( Wait replication fail: transaction failed )
10:38:31: INFO:main:ОШИБКА
10:38:31: INFO:hardware:initializing
10:38:31: FATAL:diag:10018 Неверная конфигурация оборудования. Основной принтер не найден
10:38:31: INFO:main:terminating global task's
10:38:31: INFO:hardware:terminating poll task's
10:38:31: INFO:sound#0x916a7f0:Pending terminate request received
10:38:31: INFO:NTLP#0x9170640:Pending terminate request received
10:38:31: INFO:Connector to server#0x9170a18:Pending terminate request received
10:38:31: INFO:sound#0x916a7f0:finished
10:38:31: INFO:Connector to server#0x9170a18:finished
10:38:36: INFO:NTLP#0x9170640:Channel 152480208 closed
10:38:36: WARNING:PROTOCOL:ChannelDied
10:38:36: INFO:NTLP#0x9170640:finished
10:38:36: INFO:NTLP#0x9170640:Pending terminate request received
(кассовую линейку и конфигурации уж не стал настраивать)
Для убедительности вот ещё скриншот (SSH-сессия с этим терминалом):
02.03.2010 16:41
NGhost
 
Цитата:
Onesoft Изначально был задан адрес 192.168.138.4, его инталлятор терминала использует при начальной заливке терминала. Затем инсталлятор запросил IP адрес, я ввёл 192.168.138.25, инсталлятор запросил "Is it correct?", я сделал вид, что ошибся, сказал "n" (годится любой символ кроме трёх утвердительных "enter", "y" или "Y") и ввёл адрес 192.168.138.125. Затем сказал "y" и терминал успешно дозалился до конца.
Вот в этом и проблема. Идея была в том, чтобы создать универсальный носитель (флешка, дискетка), с которым малоквалифицированный инженер тех. службы мог бы разъезжать по точкам и на месте заливать кассы. Лазить по этой флешке ему крайне не рекомендуется. При заливке 2 и более касс 1 IP для их загрузки использовать не удобно.

По дефолту если не выставлена переменная $IPADDRESS, скрипт установки вываливается в шелл, чем очень удивляет вышеупомянутого инженера тех. службы.

Но разговор не об этом, предлагаю вернуться к изначальной теме.
02.03.2010 23:26
Onesoft
 
Цитата:
NGhost Вот в этом и проблема. Идея была в том, чтобы создать универсальный носитель (флешка, дискетка), с которым малоквалифицированный инженер тех. службы мог бы разъезжать по точкам и на месте заливать кассы. Лазить по этой флешке ему крайне не рекомендуется. При заливке 2 и более касс 1 IP для их загрузки использовать не удобно.

По дефолту если не выставлена переменная $IPADDRESS, скрипт установки вываливается в шелл, чем очень удивляет вышеупомянутого инженера тех. службы.
А зачем по флешке лазить-то? Один раз указал $IPADDRESS, по которому инсталлятор терминала заливает файлы, потом вбил другой IP адрес, по которому касса дальше будет работать - и дальше пошёл. Всё равно же ведь надо руками вбивать адрес. Тем более, что это не шелл, а самый, что ни на есть, интерактивный режим, только без рамок, кнопок и теней.

Цитата:
NGhost Но разговор не об этом, предлагаю вернуться к изначальной теме.
На мой взгляд, наш спор про IP адрес как раз и свидетельствует в пользу того, что не стоит, наверное, вмешиваться в ОС и прочий функционал, не зная всех особенностей ОС и функционала кассовой системы: малая беда, если будет выполнена бесполезная работа, но гораздо большая беда, если эта работа ещё и негативно отразится на функционировании не только ПО, но и на корректном исполнении бизнес-процессов. Ещё один довод в пользу этого: линуксовый модуль sb_pilot СБРФ был готов ещё задолго до 44 версии, однако пока он не был оттестирован как следует, зелёный свет ему не давали. Потому что в таких вещах нужно до конца экспериментально удостовериться в том, что в результате любого сбоя система окажется устойчивой: деньги будут переведены куда следует, покупатель не окажется обманутым, а безопасность платежей не обнаружит уязвимостей. И даже после выхода 44й версии работу с модулем разработчики УКМ 4.0 продолжали шлифовать. Так что вот такое вот моё личное мнение.
А вот что бы я стал делать: простым копированием готовых исполняемых файлов или скриптов, запускаемых по cron или даже при помощи программ plink и pscp периодически мониторить жизненно важные компоненты системы, такие как, например, состояние жёсткого диска (smartctl) и лог MySQL на предмет наличия в нём ошибок. Ну или - максимум - простой скриптовый демон, который так же мониторил бы логи ukmclient'а, не отбирая для своей задачи ресурсов, ведь зачастую оборудованием кассовым располагаем не самым мощным... Для нашей сети магазинов я написал скрипт, который, подключившись к серверу, определит IP адреса касс магазина и в реальном времени откроет в PuTTY все их логи, буквально одним кликом мыши. По звонку из магазина я даже могу не спрашивать, на какой именно кассе проблема. Этот скрипт + средства мониторинга HDD S.M.A.R.T и MySQL = вполне достаточно для обеспечения стабильной работы касс и быстрой диагностики и решения проблем. Кроме того, начиная с 43й или 44й некоторые средства контроля ресурсов касс уже реализованы, а именно - на этапе загрузки кассы проверяется и ремонтируется БД, если касса перед этим выключалась "грубо", а также отключение автозапуска (ukmoff) ukmclient при циклическом reboot'е терминала вследствие фатальной ошибки 139 (чтобы можно было войти удалённо по SSH на терминал и произвести ремонтно-восстановительные работы). Эти две доработки были инициированы мною ещё в бытность руководителем группы внедрения УКМ 4.0 в С+. Вы же, по-момему, сервисная организация? Так обратитесь лучше в С+ с предложением о доработке, расскажите своё видение её решения, договоритесь с менеджерами о взаимовыгодном сотрудничестве, от этого должны только выиграть все! :drink_mini:
10.03.2010 20:06
NGhost
 
Цитата:
Onesoft Так обратитесь лучше в С+ с предложением о доработке, расскажите своё видение её решения, договоритесь с менеджерами о взаимовыгодном сотрудничестве, от этого должны только выиграть все! :drink_mini:
Хотя С+ и стал в последнее время поворачиваться лицом к клиенту, поворота пока не достаточно. А уж к интеграторам, я думаю, не начнет поворачиваться еще долго.
Последние переговоры от имени клиента оставили вместо "взаимовыгодного сотрудничества" какой-то неприятный осадок. В итоге клиент, проголосовал своим рублем за мелкого интегратора, а не С+ (имеются в виду работы по обновлению УКМ). Вот так.
Часовой пояс GMT +3, время: 13:27.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.