При переходе на онлайн-кассы по требованиям 54-ФЗ многие пользователи конфигурации 1С:Розница и типовой Библиотеки подключаемого оборудования (БПО) сталкиваются со специфической ситуацией при открытии смены на фискальных регистраторах АТОЛ (модели 11Ф, 22Ф, 30Ф, 55Ф). Физически аппарат успешно печатает чек «Отчет об открытии смены», смена в самом фискальном накопителе открывается, однако на экране рабочего места кассира (РМК) в 1С появляется окно со сбоем:
«При открытии смены произошла ошибка. При выполнении операции произошла ошибка: неверный номер регистра. Смена не открыта на фискальном устройстве».
В результате в базе данных документ кассовой смены не формируется, продажи заблокированы, а закрывать смену на устройстве администраторам приходится вручную через низкоуровневые утилиты драйвера ККТ. Разберем детально физику процесса, выясним причину сбоя и рассмотрим проверенные способы устранения проблемы.
Проанализируем журнал взаимодействия драйвера с ККТ. Лог-файл драйвера АТОЛ по умолчанию сохраняется в каталоге учетной записи пользователя:
C:\Users\<ИмяПользователя>\AppData\Roaming\ATOL\DRIVERS\FprnM1C.txt
В момент вызова операции открытия смены в логе фиксируется код: Ошибка! ResultCode = -3901 ResultDescription = "Неверный номер регистра". Выясним, откуда берется этот ответ:
0x6C (-3901).Рассмотрим штатный и наиболее надежный способ устранения ошибки — обновление внутреннего микропрограммного обеспечения (прошивки) центральной платы ККТ до версии 2628, 2908 или выше. В данных версиях ПО АТОЛ полностью реализовал поддержку регистров 52 и 53.
Разберем процедуру и технические нюансы прошивки:
AT037.01.01 построен на чипе LPC1768;
AL.P011.40.000 построен на чипе LPC4078.
Flash Magic) через интерфейсный кабель строго по инструкции производителя или силами специалистов авторизованного сервисного центра.После обновления микропрограммы опрос регистров 52 и 53 проходит успешно, и смена в 1С:Розница открывается штатно.
Посмотрим на альтернативное программное решение со стороны 1С. В последующих релизах конфигурации 1С:Розница и обновленных версиях Библиотеки подключаемого оборудования разработчики изменили логику опроса устройства:
Обновим конфигурацию до актуального релиза и обновим интеграционную компоненту драйвера в справочнике подключаемого оборудования программы.
Если кассовый узел необходимо запустить срочно, а возможность оперативно перепрошить аппарат в сервисном центре отсутствует, применим точечную доработку в конфигураторе. Разберем по шагам, как перехватить исключение при чтении регистров:
МенеджерОборудованияКлиент, МенеджерОборудованияВызовСервера или обработку драйвера АТОЛ:ККТ с передачей данных).
Попытка
// Считывание параметров через регистры 52 и 53
РезультатЧтения = ОбъектДрайвера.ПолучитьПараметрыККТ(НомерСмены, НомерЧека);
Исключение
// В случае отсутствия регистров на старой прошивке
// получаем номер смены из общих свойств состояния кассы
НомерСмены = ОбъектДрайвера.НомерСмены;
НомерЧека = 1;
КонецПопытки;
Такой программный обход позволяет модулю 1С проигнорировать аппаратную ошибку -3901, получить признак открытой смены из общих реквизитов устройства, успешно записать документ Кассовая смена и начать регистрацию розничных продаж.
Параллельно с ошибкой регистров при первом запуске касс часто возникают проблемы с отправкой чеков в ОФД через службу EthernetOverUSB (EoU). Обратим внимание на следующие правила настройки:
settings.xml службы EoU должен быть четко прописан номер порта, выделенного под передачу данных, а в драйвере ККТ в разделе ОФД выбран канал связи EthernetOverUSB.EthernetOverUSB должна быть установлена и запущена на локальном компьютере, к которому касса подключена физически. В терминальную сессию пробрасывается только COM-порт для работы драйвера 1С.