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

Не выгружаются чеки с кассы на сервер УКМ4 : УКМ-4

21.11.2024 17:50


17.02.2013 09:37
Всем доброго времени суток!
Есть сервер УКМ 4 50sp 1.К нему подцеплены кассы магазинов(без промежуточных серверов, через VPN тоннели).На кассах залита линукс-сборка от С+ стандартная.Связь касса-сервер и сервер-касса работает без сбоев(через pytty и winSCP спокойно лазаю по кассам с сервака).
Ситуация такая:в один "прекрасный момент" кассы(2 шт) одного из магазинов не выгрузили чеки в УКМ за определённый период(примерно с 17:10 до 23:00).При этом продажи в магазине шли.В УКМ приходят с них же выгрузки чеков уже следующего дня.Собственно вопросы:
1.Почему последующие выгрузки с кассы пришли в автоматическом режиме,а выгрузки за указанный период-нет?(Даже если допустить обрыв связи с магазином,разве не должны кассы после восстановления соединения скидывать ВСЕ невыгруженные данные на сервер?Почему идёт скидывание чеков так избирательно?)
2.Как выгрузить за этот период с касс чеки в УКМ за данный период?(Быть может вручную?).
З.Ы.:Прошу сильно не пинать за, быть может для кого-то элементарные вопросы,но для меня УКМ пока в новинку:).
17.02.2013 09:46
Добрый день! Ответ на вопрос почему с такими исходными данными вы врятли получите.
Для того чтобы хоть попытаться понять что произошло нужен лог сервера за это время и лог кассы, это как минимум.
17.02.2013 10:40
Посмотрел логи с касс и сервера.В логах и первой и второй касс лезут ошибки типа :
2012_11_27_19_01_13/ukm/libukm/ccore.cpp(2932) ReceiptSubtotal: expression '!m_ReceiptItems.get().empty()' failed
12:37:58: 0x00004000: FATAL: diag: КОД НЕИЗВЕСТЕН НЕИЗВЕСТНАЯ ОШИБКА expression '!m_ReceiptItems.get().empty()' failed
и после автоперезапуска укм клиента на кассе после пробития нескольких чеков сыпятся ошибки начиная с 15:04:05(вылечил путём закрытия смены на кассе,далее по логам видно).
На второй кассе такого не наблюдалось(только ошибка,указанная выше).На серевере ошибок не увидел.Прикрепляю логи касс и сервака.
В логах:192.168.4.60(Терминал 6)-первая касса;192.168.4.61(Терминал 7)-вторая касса;192.168.1.166-сервер.
Вложения
Тип файла: 7z logs.from.192.168.1.166.7z (753.6 Кб, 190 просмотров)
Тип файла: 7z logs.from.192.168.4.60.7z (15.7 Кб, 168 просмотров)
Тип файла: 7z logs.from.192.168.4.61.7z (3.4 Кб, 171 просмотров)
17.02.2013 17:57
Собсно спустя некоторое время чеки с касс на сервер всё же дошли,но ответы на вышеописанные вопросы хотелось бы услышать от опытных людей(по поводу ошибки на кассе в том числе,что за код 2932?).Кому не трудно,поделитесь опытом:).Заранее благодарен.
21.02.2013 11:22
Уверены что кассы не выгрузили чеки на сервер УКМ?
Просто по логу сервера "импорт с терминала Терминал №6" прослеживается на всем указанном Вами промежутке времени и вслед за каждым импортом следует "2 DBF экспорт по чекам(Глория 6)", только вот но обламывался по причине обсуждавшейся тут Два 2dbf экспорта одновременно.
Который в 23:17 все же отработал после рестарта УКМ-сервера.
Собственно вопрос - где же небыло чеков? На УКМ-сервере, или в том Бэк-офисе, куда выгружаются чеки?

По поводу :ccore.cpp(2932) ReceiptSubtotal: expression '!m_ReceiptItems.get().empty()' failed
FATAL: diag: КОД НЕИЗВЕСТЕН НЕИЗВЕСТНАЯ ОШИБКА expression '!m_ReceiptItems.get().empty()' failed
Что выдавало на кассе?
Чеки добивали или аннулировали?
Как эти чеки выглядят на УКМ-сервере?
Возможно тут проблема с какой-нибудь скидкой, либо с зарегистрированным клиентом (если это было).
21.02.2013 11:25
Это больше похоже на ту ошибку, которую исправили в последнем (8-м) патче к 50 сп2.
Цитата:
4903 - не идет репликация между сго-см-касса
02.03.2013 11:15
Цитата:
wood30 Уверены что кассы не выгрузили чеки на сервер УКМ?
Просто по логу сервера "импорт с терминала Терминал №6" прослеживается на всем указанном Вами промежутке времени и вслед за каждым импортом следует "2 DBF экспорт по чекам(Глория 6)", только вот но обламывался по причине обсуждавшейся тут Два 2dbf экспорта одновременно.
Который в 23:17 все же отработал после рестарта УКМ-сервера.
Собственно вопрос - где же небыло чеков? На УКМ-сервере, или в том Бэк-офисе, куда выгружаются чеки?

По поводу :ccore.cpp(2932) ReceiptSubtotal: expression '!m_ReceiptItems.get().empty()' failed
FATAL: diag: КОД НЕИЗВЕСТЕН НЕИЗВЕСТНАЯ ОШИБКА expression '!m_ReceiptItems.get().empty()' failed
Что выдавало на кассе?
Чеки добивали или аннулировали?
Как эти чеки выглядят на УКМ-сервере?
Возможно тут проблема с какой-нибудь скидкой, либо с зарегистрированным клиентом (если это было).
В 23:17 рестарт сервера УКМ-норма(сори что заранее не предупредил не обращать внимания на события после 23:10).В это время происходит остановка служб MySQL и УКМ на сервере(выполняется задание на архивацию базы УКМа).С ошибками на кассе вопрос решился(кассиры несколько раз клацали кнопку скидки в одном чеке,вот касса и уходила в ошибку,вылечилось путём вправки мозга кассирам:)).Чеков не было на сервере УКМа(потом появились,спустя примерно часов 5).
Кстати по поводу 2ДБФ конвертеров-пока вроде работают стабильно(12 магазинов-по 3 конвертера на каждый),часто ли возникают с ними проблемы?.Бэк-офис 1с.Вопрос по этому поводу:наши 1с программеры тоже отказываются работать с текстовыми конвертерами,неужели с точки написания выгрузок/загрузок в 1с он настолько сложнее табличных ДБФов?

Добавлено через 7 минут 32 секунды
Цитата:
Mtirt Это больше похоже на ту ошибку, которую исправили в последнем (8-м) патче к 50 сп2.
У меня несколько другая структура:): кассы магазинов цепляются напрямую по ВПНке к главному серверу,без серверов магазинов:).Кстати, хотелось бы спросить:что даёт наличие сервера в магазине впринципе?Зачем он вообще нужен,если двусторонний обмен данными сервер-касса(без промежуточных звеньев) идёт нормально?
02.03.2013 11:36
Цитата:
Artem_sdw Кстати, хотелось бы спросить:что даёт наличие сервера в магазине впринципе?Зачем он вообще нужен,если двусторонний обмен данными сервер-касса(без промежуточных звеньев) идёт нормально?
А если связи не будет, а цену/скидку надо будет очень-очень срочно поменять? А если касс всего не 10, а 200? А как смотреть что-то в магазине самом? Вариантов ответов много...
04.03.2013 08:09
Цитата:
Artem_sdw У меня несколько другая структура:): кассы магазинов цепляются напрямую по ВПНке к главному серверу,без серверов магазинов:).Кстати, хотелось бы спросить:что даёт наличие сервера в магазине впринципе?Зачем он вообще нужен,если двусторонний обмен данными сервер-касса(без промежуточных звеньев) идёт нормально?
Система с типом "звезда" более надежная.
Меньше зависит от отсутствия связи между офисом и магазином.
Меньше внешнего трафика.
04.03.2013 12:10
Цитата:
Mtirt Меньше зависит от отсутствия связи между офисом и магазином.
Меньше внешнего трафика.
Но:
1. в случае использования всяких онлайновых сервисов (подарочные карты/сертификаты, оплата со счёта клиента, банковские платежи, выполняемые через сервер УКМ) отсутствие связи в любом сегменте (СГО - СМ или СМ - кассы) равнозначно отсутствию связи СГО - кассы. Поэтому СМ малоэффективен в случае, если данные из бэк-офиса на магазины отправляются через СГО.
2. в случае краха СМ возможных путей решения проблемы два: восстановление СМ (из бэкапа либо перезаливка с нуля, в принципе несложно) либо подсоединение касс к СГО (навсегда либо временно до перезаливки сервера). Если СМов много, то бэкап каждого повышает стоимость эксплуатации системы.
3. Схема СГО - кассы эффективна в случае, если касс меньше 8-10 шт. На больших количествах касс СМ становится эффективен - из-за трафика данных от бэк-офиса.
4. Если используется контроль остатков (с резервированием в открытом чеке), то СМы однозначно! хоть восемь касс, хоть две. Потому как в случае с проблемами или высокой нагрузкой в каналах связи между магазином и ЦО будем получать очень большие лаги при пробитии каждой позиции товара (проверка товара в наличии и резервирование его) и началом пробития нового чека сразу вслед за пробитием предыдущего (перемещение резервированного товара в списание).
5. И - да, перезаливка кассы без СМ проходит более витиевато и долго (тут)..

У нас сейчас 40 СМов, которые мы не восстанавливаем в случае краха, их кассы подключая к СГО.
С СГО напрямую работают 152 кассы в 71 магазине, ширина канала на каждый магазин - 512 кБит. Данные реплицируются серез СГО. Подарочные сертификаты, карты лояльности, контроль остатков (только просмотр в режиме "Проверка цены"). Задержек в обслуживании покупателей не было даже 30.12.2012 (самый пиковый день продаж был, от наплыва чеков не успевали отрабатывать конвертеры стандартный Экспорт 4, разгреблось где-то к 20:00).
Часовой пояс GMT +3, время: 17:50.

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