1. trambalda 07.11.13 11:05 Сейчас в теме

Проблемы при пробитии чека

Коллеги, добрый день

"Розница" 2.0.8.6, используем "ШТРИХ-МИНИ", при пробитии чека замяло ленту, 1С выдала ошибку что чек не отражен в ФР, причем код ошибки какой-то ffff. Для проверки сняли икс-отчет - в ФР операция все же зафиксировалась; а в 1С документ "Чек ККМ" остался непроведенным и с пустым статусом. При закрытии смены получается разница между зеткой и суммой на этот чек. Как быть в таких случаях?
Ответы
Сортировка: Древо
3. Liris 42 08.11.13 10:05 Сейчас в теме
(1) Поддержу топик-стартера. Та же самая проблема. И как отловить ее - не понятно.
Исходные данные: Розница 2.0.8.11, Платформа 1С:Предприятие 8.2 (8.2.19.73)
Есть несколько наблюдений:
а) Ситуация проявляется чаще всего при выполнении операции оплаты. Хоть "нал", хоть "б/нал". Скрин документа прилагаю;
б) В ФРе вся информация о чеках есть. В базе Розницы документы введены, но не заполнены как положено. Не проведены;
в) В документ "ЧекККМ" не записываются сведения, которые должны быть получены от ФРа. Конкретно НомерЧекаККМ и НомерСмены (на скрине видно);
г) В таких ситуациях в документ ВСЕГДА записывается информация об оплате. Это говорит о том, что транзакция по оплате проходит успешно, а следующая операция, которая отдает команду ФРу, не завершается успехом.

Если с этой ситуацией сталкиваются как минимум двое, значит есть в чем-то схожая проблема.
В настройках драйвера ФРа установлен таймаут 500мс, как порекомендовали специалисты СЦ. По-умолчанию устанавливается 150мс. Но, это не решает проблему.
4. copybases 70 10.11.13 12:23 Сейчас в теме
(3) Liris,
Если с этой ситуацией сталкиваются как минимум двое, значит есть в чем-то схожая проблема.

Если бы двое...
Но в моих случаях основную проблемную ситуацию описывают так:
1) Закрывается чек
2) Выдаётся ошибка, что чек не пробит ККМ, и чековый буфер на экране не очищается,хотя на фискальнике чек регистрируется.
3) Кассиры повторяют закрытие чека.
В результате по фискальнику регистрируется 2 продажи, по 1С - одна.

Что приходится делать?
Если ФР выдаёт ошибку, то кассирам задаём вопрос: "Вышел ли чек из фискальника?" Если они отвечают ДА, то чек закрывается в 1С как пробитый, например (Розница 2.0):
Обработки.РМК.Форма.Модуль.СоздатьЧеки():
После фрагмента: Отказ = НЕ ПробитьЧекВыполнить(ОбъектЧекККМ, Ответ);
ДОБАВЛЯЕМ:
Если Отказ Тогда
Отказ = ВывестиИнформациюВопрос("ВНИМАНИЕ!!! Проверьте чек на ФР и нажмите ""Да"", если чек напечатан
полностью. Если чек не напечатан или напечатан не полностью, то нажмите ""Нет""",
КодВозвратаДиалога.Нет) = КодВозвратаДиалога.Нет;
КонецЕсли;

Совсем правильно, но более сложно было бы "залезть" в ФР и посмотреть: какая сумма через него прошла, потом сравнить с суммой 1С и принять решение или хотя бы выдать подсказку кассиру.
5. Liris 42 10.11.13 13:44 Сейчас в теме
(4) copybases,
После фрагмента: Отказ = НЕ ПробитьЧекВыполнить(ОбъектЧекККМ, Ответ);

Спасибо за отклик. Не чувствую себя одиноким с этой проблемой. ;-)
Судя по коду, проблема кроется в функции ПробитьЧекВыполнить. По не понятной мне причине, функция возвращает Ложь, хотя чек проведён по ФРу.
Это поведение устройства или его драйвера? Уважаемые коллеги, в каком направлении"копать"?
Предложенный код (4) только заплатка, но не решение проблемы.
9. copybases 70 11.11.13 00:50 Сейчас в теме
(5) Liris,
Это поведение устройства или его драйвера?

Не знаю наверняка, но на моделях ШТРИХ-ФР-К или ШТРИХ-МИНИ-ФР-К проблема проявляется редко. На моделях ШТРИХ-М-ФР-К и ШТРИХ-LIGHT-ФР-К - чаще. Возможно, что эти результаты моих наблюдений не объективны, и я не учёл каких-то других факторов.
Предложенный код (4) только заплатка

Согласен (((
2. igorscorp77 07.11.13 18:58 Сейчас в теме
Разница у вас получается только в 1С, если я правильно понял? если смену закрыли из 1С, то чеки теперь улетели и остался только Отчёт о розничных продажах. Вот в нём и добавьте эту продажу. Правда может ругнуться, сейчас точно сказать не могу. Но как-то так. В ФР вы ничего не уберёте.
6. mixa4 10.11.13 14:33 Сейчас в теме
Та же проблема присутствует в древней но все еще работающей связке 1С7: штрих-м: кассир v1 + штрих-фр-ф (или типа того, длинный такой), то есть старо.

Тут бы иметь незафискализированый ФР на котором можно по-пробовать тестовые чеки на коротких бумажках и посмотреть что там ФР возвращает, или действительно как-то определить пробился ли - по сумме наличности, как было сказано, или еще по-моему там последний пробитый чек выцепить из ФР можно.
7. trambalda 10.11.13 15:53 Сейчас в теме
Я в течение ближайшего месяца буду покупать новый ФР-МИНИ для новой точки и у меня будет примерно месяц на тесты, попробую разобраться.
18. Liris 42 24.12.13 06:09 Сейчас в теме
(7) trambalda, Купил новый ШТРИХ-МИНИ? Было время проверить его в "бою"?
19. trambalda 24.12.13 09:11 Сейчас в теме
(18) Liris, к сожалению, пока нет, произошла задержка с открытием новой точки, потому оборудование все будет закупаться либо в конце декабря, либо сразу после новогодних, соответственно и тесты начну сразу как приобрету.
8. YuryB 10.11.13 20:25 Сейчас в теме
У нас возникает аналогичная проблема. Розница 2.0.8.11.
Для кассира в момент проблемы это выглядит как "зависание" кассы на этапе оплаты.
10. Liris 42 11.11.13 17:09 Сейчас в теме
Сегодня заметил закономерность. Возможно, это совпадение.
За выходные такая ситуация произошла на двух магазинах. Начал анализировать за три последние месяца, получилось 11 случаев, все на разных магазинах. Закономерность в том, что ошибочный документ записывается в те интервалы времени, когда происходит обмен. Выгрузка вычисляется так же просто, по журналу событий. Например, обмен запустился в 11:00:00, документ записан в 11:00:05. Потобная ситуация с большинством документов, с разницей в 5-15секунд. Может при обмене возникает блокировка и документ не дожидается её окончания?
Хотя, это наблюдение может быть совпадением. По наблюдаю ещё.
11. bes-kkm 11.11.13 19:40 Сейчас в теме
последовательность действий такова:
1. сносим все атоловские дрова,
2. устанавливаем последний драйвер от Штрих-м,
3. заходим в тест драйвера напрямую (не через 1С), что-то типа Пуск/Все программы/Штрих-М/Тест ККМ,
4. настраиваем ФР. Если всё нормально, проверяем в каком состоянии находится ФР (смена должна быть закрыта, ЭКЛЗ активизирована), для нового ФР только смена закрыта. Устанавливаем скорость. Снимаем х-отчёт, чтобы убедиться в работоспособности.
5. Выходим из теста драйвера ККМ, запускаем 1С.
6. Удаляем все настройки торгового оборудования, подключаем новый ФР (лучше через помощник) обработкой от Штрих-М, проверяем правильность подключения через снятие х-отчёта.
12. trambalda 11.11.13 22:12 Сейчас в теме
(11) bes-kkm, вообще-то вопрос был совсем не в этом. А чисто админские приемчики "не понимая в чем дело все снести и переустановить заново, и так сто раз до просветления" - это непрофессионально.
13. Liris 42 12.11.13 06:10 Сейчас в теме
(11) bes-kkm, О какой редакции "Розница" Вы говорите? О каком мастере подключения торгового оборудования?
Посмотрите снимок экрана. Можно добавить ТО, и настроить добавленное.
14. Liris 42 13.11.13 11:43 Сейчас в теме
Докладываю "горячие" результаты:
  • Заменил драйвера ФРа на кассах. Взял вот этот драйвер;
  • Установил таймаут 1000мс в настройках торгового оборудования (настройках ФРа)
В течении двух дней ни одного "косячного" чека не появилось. Подожду до конца недели.
Если ошибок не возникнет, то считаем проблему решенной.
Еще хочу поставить Платформу 8.3. Но это на след.неделе (для сохранения чистоты текущего эксперимента).
15. mixa4 13.11.13 13:31 Сейчас в теме
(14) Liris, при чем тут таймауты и платформа, если суть проблемы в логике реализованной в обработке обслуживания ФР, где функция печати чека возвращает не результат пробития чека, а что-то типа состояния ФР после пробития+отрезки+печати клише?

У вас скорее всего напуганные кассиры стали бумагу вовремя менять, вот и не видно пока проблемы.
16. copybases 70 13.11.13 23:15 Сейчас в теме
(15) mixa4,
при чем тут таймауты

таймаут-то как раз помогает: ошибку выдаёт драйвер по истечении таймаута, и если это время увеличить, то дождаться от драйвера положительного результата удаётся чаще. Проверено. Но совсем избежать таких ситуаций не удаётся.
А вот 8.3 пока, я думаю, ставить не нужно. Точно не поможет.
функция печати чека возвращает не результат пробития чека, а что-то типа состояния ФР после пробития+отрезки+печати клише

В том-то и дело, что это состояние возвращается как результат закрытия чека.
Мы говорим: "Драйвер, скажи фискальнику, чтобы он закрыл чек!". Фискальник чек успешно печатает, а драйверу говорит, что не напечатал (или драйвер видит, что чек напечатан, но тут же об этом почему-то забывает) и драйвер отвечает нам: "Неудача, устройство не отвечает!". Какую логику тут не реализуй, а пока не проверишь: увеличился ли фискальный счётчик на эту сумму или нет, объявлять продажу зарегистрированной или нет нельзя.
TSvetlakova2008; Liris; +2 Ответить
17. Liris 42 24.12.13 05:43 Сейчас в теме
Доброго дня, коллеги!
Неделю как включил логирование всех действий драйвера ФР. Хочу все же найти и понять проблему с "не проведенными" чеками. За этот месяц ситуация проявилась пять раз.
К этому сообщению прикрепил логфайл драйвера ФР ШТРИХ-М. На выходных произошла ситуация, при которой продажа прошла по ФРу (фискализировалась, напечатался чек), но в Рознице ЧекККМ остался не проведенным? с "пустым" статусом, с незаполненными реквизитами НомерСменыККМ и НомерЧекаККМ. Табличная часть "Оплата" содержит информацию об оплате чека.
В логе смотрите время 22.12.2013 13:00:20, строка файла 851. Предыдущие чеки (до этого "косячного") и последующие записались нормально, без ошибок.
Сам просмотрел файл, понял только то, что чек печатался 5 сек. Может в этом проблема?

P.S. Параллельно написал письмо в поддержку Штрих-М. Может там помогут. Со слов специалистов ШТРИХ-М, у них есть опыт успешной эксплуатации конфигурации Розница на сети ~400 магазинов.
22. Nurbek_EkipazhKZ 44 02.04.14 22:16 Сейчас в теме
(17) Liris, удалось решить проблему у меня схожая ситуация? Или может спецы со Штрих-М какое нибудь разъяснение дали?
23. Liris 42 03.04.14 06:33 Сейчас в теме
(22)(20) Добрый день, коллеги.
Не могу сказать, что полностью решил проблему. Разобрался в ней. На текущий момент ошибки не возникают, если соблюдать определенные правила.
Поиск проблемы занял продолжительное время и показал, что проблема комплексная.
На текущий момент мне известны составляющие этой проблемы:
1) Быстродействие конфигурации (платформы) на конкретном рабочем месте. В своих постах упоминал, что на рабочих местах кассиров использовал системы на базе Intel Atom D2500NH. При выборе оборудования меня каким-то образом уговорили на использование безвентиляторной системы.
Решение было не верным. Следовало выбирать под выделенный бюджет самую быструю память и подходящую по деньгам платформу. Сейчас это платформа iH61+Pentium (Haswell)+2Гб ОЗУ;
2) Интегрированный банковский терминал (пинпад от СБ РФ) использовали по шине USB. После пыток службы поддержки СБ РФ и консультаций со специалистами эквайрингового центра, выяснил нестабильность работы пинпада на шине USB. Проблема кроется в питании пинпада от шины USB. При определенном стечении обстоятельств пинпад нагружал шину USB и материнская плата ее отключала (в итоге вырубалась клавиатура, мышь, ФР). По рекомендации специалистов пересадил все пинпады на RS-232 с независимым питанием;
3) Обмен данными. Отказался от штатного способа выполнения обмена данными, который использует отдельный сеанс на рабочем месте. Для этого написал скрипт, выполняющий процедуру обмена через COM-соединение. ИМХО, такой способ работает быстрее и не отнимает много ресурсов системы. Сейчас заканчиваю работу над новым вариантом утилиты обмена. Вскоре она появится на Инфостарте :-);
4) Настройки обмена. Было замечено, что часть ошибок возникает из-за невозможности записать данные в базу при пробитии чека. Оказалось в момент записи и проведения документа ЧекККМ выполнялся обмен данными, который блокировал таблицы на запись. Чтобы добиться минимального времени транзакции (особенно при выполнении обмена) в параметрах синхронизации установил параметр "Количество элементов в транзакции" равным 1. Интервал обмена увеличил до 15 минут (изначально было 5 минут);
5) Драйвер ФРа. Стараюсь следить за выходом свежих версий драйверов от "Штрих-М". Обновлением драйверов так же решил какие-то проблемы, при которых драйвер 4.9 "забывал" НомерСмены и НомерЧека, передавая в Розницу (обработке обслуживания) пустые значения. Сейчас работаю с драйвером 4.10.321;
6) Таймаут в настройках ФРа. Опытным путем подобрал оптимальное время 7000мс для касс на Intel Atom и 1000мс на новых системах.

Может что-то забыл написать. Была проделана большая работа совместно с производителями оборудования, разработчиками ПО (в т.ч. Фирма 1С и Рарус), инженерами и т.п.
TSvetlakova2008; +1 Ответить
27. Dima_ 102 29.10.14 08:14 Сейчас в теме
(23) Liris, Добрый день!
Столкнулся с аналогичной проблемой.
1. Пожалуйста, скажите, что вы делали далее с этими чеками, если уже смена закрыта и отчёт о розничных продажах сформирован?
2. Странно, что как правило у такого чека время совпадает с предыдущим до секунды. (есть случаи 11 чеков с одним временем подряд 1 Архивный, все последующие не проведённые и одинаковые по содержанию, только номера разные.). Вы это заметили? На вашем скрине в (3) Err_ChekKKM1.PNG это тоже видно.
3. Я использую вашу обработку для обмена данными.
4. Чтобы избежать в дальнейшем таких чеков, мне остаётся только увеличить таймаут принтеров? Или есть новые данные по этой проблеме?
20. dmitzin 12 16.01.14 10:35 Сейчас в теме
Испытываю те же самые проблемы с не проведенными чеками.
Розница 2.0, платформа 301, версия 2.0.3.9.
Итак проблемы с чеками чаще всего возникают при блокировке транзакций в 1с, вызванные в моем случае автообменом.
Для того, чтобы решить данную проблему я в 5 магазинах поставил Postgres, правда пришлось купить серверную лицензию за 42 куска, проблема ушла. В случаях с файловой БД подойдет только изменение кода, вывод диалога вопрос ответ да-нет пользователю, как предложил коллега ранее на форуме, затем либо аннулирование чека, либо его проведение в 1с. Номер чека и номер смены можно получить с ФР стандартными средствами:
ftp://ftp.shtrih-m.ru/download/FR/Doc/DriverFR_%20specification_1C.pdf
21. Rokov 17.01.14 03:49 Сейчас в теме
fprint 03k, бывают такие же проблемы....
24. Amirzhan 03.04.14 13:29 Сейчас в теме
Здравствуйте ! А как долго все работает стабильно :?
25. Liris 42 04.04.14 05:06 Сейчас в теме
(24) Вопрос ко мне?
В первых числах февраля этого года появились первые результаты тестов и замеров. После этого начал составлять условия, которые описал выше.
Третий месяц пошел, как проблемы с чеками перестали появляться.
26. F1215 04.04.14 08:03 Сейчас в теме
На FPrint03K, конфига - Рарус.Магазин бытовой техники и средств сотовой связи 2.0.5.7 та же проблема при включении автообмена. Происходит блокировка и усе -приехали
28. StalkerAkella 7 12.08.16 11:50 Сейчас в теме
Аналогичный вопрос, кто как выходит из данной ситуации?
1. Пожалуйста, скажите, что вы делали далее с этими чеками, если уже смена закрыта и отчёт о розничных продажах сформирован?
29. maxicom 23.12.16 08:17 Сейчас в теме
(28) Зависит о клиента. Я либо делаю списания товаров по данному чеку, либо запихиваю товары в отчет о розничных товарах (по настроению). На выходных буду пробовать решать аналогичную проблему с чеками.
30. simgo83 63 21.02.17 09:05 Сейчас в теме
Та же проблема, с конфликтом блокировки таблицы товаров на складе при проведении чека и сеансе обмена данными. Никто не задавался вопросом изменить код так чтобы команда на ФР о пробитии чека шла только после успешного проведения чека в 1с?
31. Shad2008 3 23.03.17 09:25 Сейчас в теме
Такая же проблема: 15 магазинов, обмен каждые 15 минут РИБ по рабочему месту на кассах (файловая база), магазины поделены на 4 дивизиона. На рабочих местах SSD, на более новых компах логика на базе AMD (большая частота проца). памяти по 4Gb. Проблема есть везде...
Сложности с воспроизведением проблемы на тестовом стенде, чтобы точно проверить действенность решения. Модуль с момента "немного" поменялся, думаю надо вносить правки в процедуру ПробитьЧекВыполнитьЗавершение в строке 738.
Идея с тем, чтобы сначала проводить чек, а потом пробивать - не то пальто, от слова совсем. А вот Записывать чек, без проведения, а потом перед закрытием проверять такие чеки и проводить - это более верно. Т.е. если результат проведения = Ложь - записывать чек в базу, а потом уже проводить.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Удаленный консультант-разработчик 1С
Краснодар
зарплата от 60 000 руб. до 60 000 руб.
Полный день



Ведущий программист 1С
Москва
зарплата от 150 000 руб. до 180 000 руб.
Полный день

Руководитель проектов 1С
Москва
Полный день