20.07.2009 16:30
может наталкивался кто...

на работающем магазине полностью переустановлен укм4 на новый сервер и "новую" (только относительно предыдущей) версию по такой схеме:
1) новый сервер поднят на новой машине; старый еще работает;
2) касса закрывает смену, смена пришла в см2000 из старого сервера;
3) на кассе переустанавливается клиент (с дискетки, как новая установка);
4) на кассе подправляются таблички state и out_shift_open под состояние фискалки;
5) касса регистрируется на новый сервер и начинает работать.

все прошло замечательно, но на новом сервере получил проблему в конвертерах экспорта (парадоксовый супермаг, то есть 2.5M) по одной кассе. на любой экспорт (хоть по смене, хоть по чекам) вижу в журнале сервера:

class std::runtime_error( Expression 'shifts.size() == 1' failed. ). Пауза 60 сек.

это полный текст в колонке "событие". ну пауза, естественно, подрастает постепенно. "задача" - конвертер экспорта по смене или по чекам.

вторая касса, а их там всего две, нормально выгружается.

на сервер укм с проблемной кассы данные успешно приходят.

кто-нибудь может подсказать, что должно означать это самое загадочное Expression 'shifts.size() == 1' failed ?
этот текст присутствует только в ukmserver.exe, так что не очень-то разберешься, чего хочет.
20.07.2009 17:39
так и не понял я, чего оно хотело.
видимо, что-то некорректно с кассы в сервер экспортнулось.

удалил по этой кассе все, что нашел в trm_out_*
обнулил по этой кассе все id в cnv_out_versions
перестартовал в службах сервер укм

все смены и оперчеки сразу посыпались, куда положено.

тема закрыта.
17.10.2022 19:04
Доброго времени суток!
А возможно ли по подробнее про таблицы. куда и где смотреть. Проблема в том в базу экспорта не прилетают данные о закрытие смены(поля:время и логин null) , хотя в ukmservere смены зарыты. Если запускать в ручную через конвертер, то смены закрываются нормально. В логах ошибка. описанная Вами выше. УКМ 4 и102, на кассах Lillo.
Спасибо!
18.10.2022 11:30
Не совсем ваш случай, но м.б. пригодится.

Вытащил из старых записей по ошибкам УКМ.
Тут речь про конвертер Стандартный 2 CSV экспорт по смене.
Цитата:
Expression 'shifts.size() == 1' failed
19:15:06.203: 0x00000798: WARNING: converter#{38989c4e-a273-4b45-89cd-3f842724a28c}#Стандартный 2 CSV экспорт по смене (Фудк##02771ee8: Expression 'shifts.size() == 1' failed.. Пауза 300 сек.

Проблема в данных по чекам после добавления/удаления кассы. Если не возиться с поиском несоответствий, проще всего выставить конвертеру id смены последнюю из существующих.

Поиск несоответствий в закрытых и выгруженных сменах
SQL код:
SELECT sc.cash_id, MAX(id) closed_shift_id, cu.last_unload_obj_id unloaded_shift_id
  FROM trm_out_shift_close sc, cnv_unload_state cu
 WHERE sc.cash_id=cu.cash_id
   AND cu.obj_type=5
 GROUP BY sc.cash_id
 HAVING closed_shift_id<>unloaded_shift_id; 
Синхронизация выгруженной смены для конкретного id конвертера (converter# из текста ошибки).
SQL код:
UPDATE cnv_unload_state cu
   SET cu.last_unload_obj_id = 
   (SELECT MAX(id) closed_shift_id
      FROM trm_out_shift_close sc
     WHERE sc.cash_id=cu.cash_id
     GROUP BY sc.cash_id)
 WHERE cu.cnv_id='{38989c4e-a273-4b45-89cd-3f842724a28c}'
   AND cu.obj_type=5; 
19.10.2022 16:21
vdm, Спасибо!!! Думаю очень пригодиться!
Часовой пояс GMT +3, время: 00:10.

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