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

Невыгрузка в бэкофис стандартным конвертером : УКМ-4

29.03.2024 14:53


21.08.2006 14:26
OlegON
 
Проблема невыгрузки смен в бэк-офис имеет два аспекта:

1. Смены не выгружаются в бэк-офис, т.к. они не выгрузились с кассового терминала на сервер УКМ. Проблема характерна для любого конвертера экспорта, т.к. в данном случае от конвертера это не зависит, но может являться результатом следующих проблем:

1.1. отсутствует связь между терминалом и сервером – необходимо проверить, запущена ли служба сервера УКМ 4.0, работает ли терминал и существует ли связь по протоколам TCP (пингуется ли терминал с сервера и сервер с терминала), возможно также, что терминал соединён с другим сервером УКМ 4.0, найденным в сети, либо на сервере УКМ установлен антивирусный пакет, сетевой экран и т.п. Проблема также может проявлять себя в случае, описанном в ошибке №1038 («потеря связи между кассой и сервером», возникает во время работы терминала; восстанавливается при перезапуске службы сервера УКМ либо при перезагрузке терминала).

1.2. В структуре данных БД терминала существует ошибка, которая препятствует автоматической выгрузке данных с терминала. Выгрузка данных с терминала осуществляется по протоколу MySQL выполнением на стороне сервера УКМ стандартных запросов чтения данных из БД терминала, при наличии ошибки в структуре данных один из таких запросов будет выполняться позорительно долго, при этом в журнале сервера работа с терминалом заканчивается на записи вида:

12:37:57: INFO:CashReader#00DE3288:Cash(101): importing out_receipt_item

12:39:13: INFO:CashReader#00DE3288:Cash(101): importing out_receipt_link

12:39:13: INFO:CashReader#00DE3288:Cash(101): importing out_receipt_payment

12:39:19: INFO:CashReader#00DE3288:Cash(101): importing out_receipt_payment_handler

12:39:23: INFO:CashReader#00DE3288:Cash(101): importing out_receipt_subtotal

12:39:26: INFO:CashReader#00DE3288:Cash(101): importing out_shift_open

12:39:26: INFO:CashReader#00DE3288:Cash(101): importing out_shift_payments

12:39:26: INFO:CashReader#00DE3288:Cash(101): importing out_receipt_discounts

Где в скобках Cash() указывается номер кассового терминала. Если при этом на кассовом терминале в консоли MySQL выполнить запрос show processlist, то в списке процессов будет фигурировать запрос вида select * from out_receipt_.... с большим временем выполнения. Исправление данной проблемы:

1.2.1. выполнить на кассовом терминале ukmoff и reboot;

1.2.2. после перезагрузки терминала выполнить ремонт БД терминала при помощи скрипта clidbrepair.sh;

1.2.3. по завершении работы скрипта можно исследовать полученный файл.log, в конце его будут после строки reparing будут перечислены отремонтированные таблицы;

1.2.4. выполнить на кассовом терминале ukmon и reboot;

1.2.5. по окончании загрузки терминала данные по продажам автоматически выгрузятся на сервер УКМ.

2. Смены не выгружаются в бэк-офис из УКМ, данные с терминалов на сервер УКМ выгружены. Т.к. стандартный конвертер экспорта УКМ 4.0 выгружает данные по сменам в БД MySQL, то все проблемы с СУБД MySQL также оказывают влияние как на работу конвертера, так и на хранение самих данных в БД export. Поэтому существует два направления, в которых возможно развитие проблемы:

2.1. Ошибка в структуре БД export, при этом либо сервер УКМ не может осуществить экспорт данных в БД, либо процедура чтения данных в бэк-офисе не может получить доступ к данным БД export (по типу проблемы п.1.2). Методика исправления данной проблемы:

2.1.1. остановить службу сервера УКМ;

2.1.2. остановить процедуру чтения данных в бэк-офисе из БД export;

2.1.3. остановить службу СУБД MySQL, дождаться её остановки – необходимо для закрытия всех соединений и завершения выполнения всех запросов, а также завершения кеширования всех таблиц;

2.1.4. запустить службу СУБД MySQL;

2.1.5. выполнить ремонт БД export, запустив на сервере УКМ скрипт exportdbrepair.cmd;

2.1.6. по завершении работы скрипта можно исследовать полученный файл.log, в конце его будут после строки reparing будут перечислены отремонтированные таблицы;

2.1.7. запустить службу сервера УКМ;

2.1.8. запустить процедуру чтения данных в бэк-офисе из БД export;

2.2. Ошибка в работе конвертера экспорта, зарегистрирована под №1042: «При автоматическом экспорте выгрузки сперва пишется запись в таблицу cnv_unload_state, затем только выгружаются данные». В БД сервера УКМ существует таблица cnv_unload_state, в которой содержатся номера последних выгруженных смен по конкретным конвертерам экспорта смен (и номера чеков по конкретным конвертерам почековой выгрузки). Т.е. ошибка характерна для работы любого конвертера экспорта, она может возникнуть, в частности, при остановке службы сервера во время выполнения экспортирования данных (в БД export для стандартного конвертера экспорта УКМ 4.0), также может возникнуть при ситуации, описанной в п.2.1. (харатерно для БД export). Если смена, не выгруженная автоматически, выгружается затем вручную, значит, это оно.
21.08.2006 17:34
bayan
 
А нет ли какого-то решения для незагрузки из бэкофиса стандартным конвертером??? А то есть такая проблема, а темы плодить не хочется...
21.08.2006 17:47
OlegON
 
Хочется/не хочется, а надо, ибо за тобой кто-то пойдет и пройдет мимо, если в тему не выделишь... Нет у меня пока никакого решения.
09.06.2007 14:32
RK
 
Лог на сервере:

09.06.2007 14:17:43 Replicator#21#00DA4C88 monitoring
09.06.2007 14:17:43 Replicator#21#00DA4C88 updated
09.06.2007 14:17:41 Replicator#21#00DA4C88 waiting client permission
09.06.2007 14:16:44 CashReader#00D7FAB8 Cash(21): importing out_shift_close
09.06.2007 14:16:44 CashReader#00D7FAB8 Cash(21): begin importing
09.06.2007 14:16:42 Replicator#21#00DA4C88 updating
09.06.2007 14:16:42 Replicator#21#00DA4C88 started
09.06.2007 14:16:42 Cash#21 Подключилась из 14257920 канала

Ч\з веб на кассу тоже не войти. (на остальные - нормально). УКМ пишет касса в онлайне.
select * from state вешает кассу.
Тестирование mysql- все таблицы-OK.
Не выгружает на сервер УКМ уже 2 дня. Товары обновляются.
Как с этим быть?
09.06.2007 14:35
Mtirt
 
Перезагрузка кассы и сервера УКМ не помогает?
Мне обычно помогает это...
09.06.2007 14:39
RK
 
Уже раз 15...
Она и сейчас онлайн, а последняя смена за 7-е. Товары на неё уходят. С неё - никаких данных.
09.06.2007 14:42
RK
 
Как посмотреть на сервере последнюю смену на кассе (БД сервера)
09.06.2007 14:52
Mtirt
 
Администрирование-Конвертеры данных-Экспорт по смене- Ручная выгрузка. При выборе конкретной кассы тебе покажут список последних смен.
09.06.2007 14:58
RK
 
Цитата:
Mtirt Администрирование-Конвертеры данных-Экспорт по смене- Ручная выгрузка. При выборе конкретной кассы тебе покажут список последних смен.
В том-то и дело, что на сервере нет смен.
В мониторе висит: Текущее состояние Выполняется считывание с кассы 21 //(именно эта касса)
Журнал обновляется....
09.06.2007 15:01
Mtirt
 
К Mysql базе кассы можешь подцепиться чем-нибудь? Посмотреть содержимое таблиц данных?
Часовой пояс GMT +3, время: 14:53.

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