Как решить проблемы при продаже алкоголя и сканировании акцизных марок в 1С:УТ 11.4

Системный администратор 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

Процесс продажи алкогольной продукции в 1С:Управление торговлей 11.4 существенно отличается от аналогичного процесса в «1С:Розница». Часто пользователи сталкиваются с ситуацией, когда сканер успешно считывает линейный штрихкод, открывается окно ввода акцизной марки, сканер издает звуковой сигнал при чтении марки, но в самой программе ничего не происходит. Рассмотрим подробно, почему это возникает и как настроить оборудование для корректной работы.

Анализ проблемы: Почему сканер «молчит» в 1С

Разберем ситуацию, когда в РМК (Рабочее место кассира) при считывании акцизной марки PDF417 или DataMatrix окно сканирования просто висит. Выясним причину через отладку. Часто проблема кроется в процедурах проверки формата штрихкода. Проанализируем типичный участок кода, который может вызывать остановку процесса:


ТипШтрихкодМарки.Проверить(Штрихкод);
Исключение
    Возврат Ложь;
КонецПопытки;

Если СтрДлина(Штрихкод) = 150 Тогда
    ТипШтрихкода = Перечисления.ТипыШтрихкодов.DataMatrix;
Иначе 
    ТипШтрихкода = Перечисления.ТипыШтрихкодов.PDF417;
КонецЕсли;

Если сканер настроен в режиме эмуляции клавиатуры (HID), данные передаются через драйвер операционной системы. В этот момент могут возникать следующие искажения:

  1. Раскладка клавиатуры: Если включена русская раскладка, спецсимволы в марке могут быть заменены на кириллические аналоги, что делает марку невалидной для 1С.
  2. Скорость передачи: PDF417 содержит большое количество символов. При передаче «в разрыв клавиатуры» часть символов может теряться или дублироваться.
  3. Регистр: Нажатая клавиша Caps Lock может инвертировать регистр символов марки.

Перевод сканера в режим эмуляции COM-порта

Для стабильной работы в УТ 11.4 настоятельно рекомендуется перевести сканер в режим COM-порта. Рассмотрим, как это сделать по шагам:

  1. Найдите инструкцию к вашему сканеру (например, Youjie YJ4600 или Honeywell) и отсканируйте управляющий штрихкод для включения USB Serial Emulation.
  2. Установите соответствующий драйвер виртуального COM-порта от производителя на локальный компьютер.
  3. В настройках 1С:УТ 11.4 (НСИ и администрирование -> РМК и оборудование -> Подключаемое оборудование) измените тип подключения сканера с «Клавиатура» на «COM-порт».
  4. Укажите номер порта, который появился в диспетчере устройств Windows.

Именно режим COM позволяет 1С получать данные напрямую через драйвер торгового оборудования, минуя фокус ввода клавиатуры и региональные настройки ОС.

Настройка работы через удаленный рабочий стол (RDP)

Если база 1С расположена на сервере, а сканер подключен к локальному терминалу, необходимо «пробросить» порты. Выясним, как обеспечить видимость устройства на сервере:

Во-первых, в свойствах RDP-подключения на вкладке «Локальные ресурсы» нажмите кнопку «Подробнее» и установите флажок напротив «Порты».

Во-вторых, на самом сервере в диспетчере устройств должен появиться соответствующий последовательный порт (например, COM3, перенаправленный с клиента). Посмотрим на важный нюанс: драйвер эмуляции COM-порта должен быть установлен и на сервере тоже, иначе система не сможет корректно обработать входящий поток данных.

Проблема сопоставления алкокодов (Base36)

Иногда сканирование проходит, но 1С выдает ошибку о том, что марка принадлежит другой продукции. Рассмотрим подробнее механизм преобразования. В старых марках (PDF417) алкокод зашит в позициях с 4 по 19 в кодировке Base36. Программа должна преобразовать его в десятичный вид для сопоставления с карточкой номенклатуры ЕГАИС.

Проанализируем ситуацию: на бутылке код 0150325000008167840, а после сканирования программа видит 0150325000008167845. Разница в последней цифре говорит о программной ошибке преобразования или некорректно считанном символе. В таких случаях помогает обновление конфигурации до последних релизов 11.4.13+, где алгоритмы работы с Base36 были оптимизированы под требования помарочного учета.

Ошибка «Преобразование значения к типу Число» при печати чеков

После успешного сканирования марки может возникнуть ошибка в общем модуле МенеджерОборудованияКлиентСервер в строке 1916 (или аналогичной в зависимости от релиза). Система пишет: «Преобразование значения к типу Число не может быть выполнено».

Разберем причину: при формировании слип-чека ЕГАИС программа обращается к драйверу ККТ, чтобы узнать параметр ШиринаСтроки. Если драйвер (например, старый АТОЛ 8.х) не возвращает этот параметр, переменная принимает значение Неопределено. Попытка совершить математическую операцию с этим значением приводит к фатальной ошибке.

Способы решения:

  1. Обновление драйвера: Перейдите на использование драйверов версии 10.х.
  2. Настройка оборудования: Зайдите в «Параметры подключения» вашего фискального регистратора в 1С и вручную укажите количество символов в строке (обычно 32 или 48).
  3. Использование расширений: Можно применить расширение конфигурации, которое будет принудительно подставлять числовое значение, если драйвер вернул пустоту. Код в расширении может выглядеть так:

Если ПараметрыПанели.ШиринаСтроки = Неопределено Тогда
    ПараметрыПанели.ШиринаСтроки = 32;
КонецЕсли;

Итоги настройки

Подведем итоги нашей совместной работы. Для того чтобы продажа алкоголя в УТ 11.4 работала без сбоев, необходимо обеспечить три условия:

Выполнив эти шаги, мы добьемся стабильного процесса продажи, при котором данные будут корректно уходить и в ОФД, и в систему ЕГАИС.

← На главную