Процесс продажи алкогольной продукции в 1С:Управление торговлей 11.4 существенно отличается от аналогичного процесса в «1С:Розница». Часто пользователи сталкиваются с ситуацией, когда сканер успешно считывает линейный штрихкод, открывается окно ввода акцизной марки, сканер издает звуковой сигнал при чтении марки, но в самой программе ничего не происходит. Рассмотрим подробно, почему это возникает и как настроить оборудование для корректной работы.
Разберем ситуацию, когда в РМК (Рабочее место кассира) при считывании акцизной марки PDF417 или DataMatrix окно сканирования просто висит. Выясним причину через отладку. Часто проблема кроется в процедурах проверки формата штрихкода. Проанализируем типичный участок кода, который может вызывать остановку процесса:
ТипШтрихкодМарки.Проверить(Штрихкод);
Исключение
Возврат Ложь;
КонецПопытки;
Если СтрДлина(Штрихкод) = 150 Тогда
ТипШтрихкода = Перечисления.ТипыШтрихкодов.DataMatrix;
Иначе
ТипШтрихкода = Перечисления.ТипыШтрихкодов.PDF417;
КонецЕсли;
Если сканер настроен в режиме эмуляции клавиатуры (HID), данные передаются через драйвер операционной системы. В этот момент могут возникать следующие искажения:
Caps Lock может инвертировать регистр символов марки.Для стабильной работы в УТ 11.4 настоятельно рекомендуется перевести сканер в режим COM-порта. Рассмотрим, как это сделать по шагам:
Youjie YJ4600 или Honeywell) и отсканируйте управляющий штрихкод для включения USB Serial Emulation.Именно режим COM позволяет 1С получать данные напрямую через драйвер торгового оборудования, минуя фокус ввода клавиатуры и региональные настройки ОС.
Если база 1С расположена на сервере, а сканер подключен к локальному терминалу, необходимо «пробросить» порты. Выясним, как обеспечить видимость устройства на сервере:
Во-первых, в свойствах RDP-подключения на вкладке «Локальные ресурсы» нажмите кнопку «Подробнее» и установите флажок напротив «Порты».
Во-вторых, на самом сервере в диспетчере устройств должен появиться соответствующий последовательный порт (например, COM3, перенаправленный с клиента). Посмотрим на важный нюанс: драйвер эмуляции COM-порта должен быть установлен и на сервере тоже, иначе система не сможет корректно обработать входящий поток данных.
Иногда сканирование проходит, но 1С выдает ошибку о том, что марка принадлежит другой продукции. Рассмотрим подробнее механизм преобразования. В старых марках (PDF417) алкокод зашит в позициях с 4 по 19 в кодировке Base36. Программа должна преобразовать его в десятичный вид для сопоставления с карточкой номенклатуры ЕГАИС.
Проанализируем ситуацию: на бутылке код 0150325000008167840, а после сканирования программа видит 0150325000008167845. Разница в последней цифре говорит о программной ошибке преобразования или некорректно считанном символе. В таких случаях помогает обновление конфигурации до последних релизов 11.4.13+, где алгоритмы работы с Base36 были оптимизированы под требования помарочного учета.
После успешного сканирования марки может возникнуть ошибка в общем модуле МенеджерОборудованияКлиентСервер в строке 1916 (или аналогичной в зависимости от релиза). Система пишет: «Преобразование значения к типу Число не может быть выполнено».
Разберем причину: при формировании слип-чека ЕГАИС программа обращается к драйверу ККТ, чтобы узнать параметр ШиринаСтроки. Если драйвер (например, старый АТОЛ 8.х) не возвращает этот параметр, переменная принимает значение Неопределено. Попытка совершить математическую операцию с этим значением приводит к фатальной ошибке.
Способы решения:
Если ПараметрыПанели.ШиринаСтроки = Неопределено Тогда
ПараметрыПанели.ШиринаСтроки = 32;
КонецЕсли;
Подведем итоги нашей совместной работы. Для того чтобы продажа алкоголя в УТ 11.4 работала без сбоев, необходимо обеспечить три условия:
CR - 13).Выполнив эти шаги, мы добьемся стабильного процесса продажи, при котором данные будут корректно уходить и в ОФД, и в систему ЕГАИС.