При модернизации или замене парка контрольно-кассовой техники на онлайн-кассы нового образца (соответствующие требованиям 54-ФЗ) на нетиповых конфигурациях «1С:Управление производственным предприятием 1.3» часто возникают две проблемы. Сначала система отказывается определять устройство при проверке связи, выдавая ошибку порта, а после успешного прохождения теста печать чека из документов (например, из Приходного кассового ордера) блокируется сообщением «Фискальный регистратор не подключен». Рассмотрим подробно, почему возникают эти ошибки и как по шагам восстановить штатную печать чеков.
Проанализируем первую ошибку, с которой сталкиваются при настройке: кассу пытаются подключить через устаревшую обработку обслуживания ATOLFiscalPrinters_v2.epf. В списке поддерживаемых моделей такой обработки присутствуют только старые фискальные регистраторы с ЭКЛЗ (например, FPrint-55K, FPrint-22K, FPrint-02K). Попытка прописать модель FPrint-55Ф вручную в коде старой обработки приводит к системным сбоям драйвера.
Устройство АТОЛ FPrint-55Ф относится к принципиально новому классу оборудования — ККТ с передачей данных (онлайн-касса с фискальным накопителем). Для него в 1С используется отдельная библиотека и специализированные обработки обслуживания (или встроенные драйверы БПО по стандарту «1С:Совместимо»).
Если при попытке выполнить тест устройства драйвер сообщает: «Тест не пройден. Дополнительное описание: Порт недоступен (System Error. Code: 2. Не удается найти указанный файл)», разберем причины этой проблемы:
1cv8.exe должны быть установлены 32-битные драйверы ККТ.После того как касса успешно добавлена в справочник оборудования и тест связи проходит без ошибок, при нажатии кнопки «Чек» в документе «Приходный кассовый ордер» (ПКО) программа выдает ошибку: «Фискальный регистратор не подключен» или «Драйвер ФР не загружен».
Выясним причину такого поведения. В релизах УПП 1.3 с поддержкой онлайн-касс механизмы работы с кассовой техникой были переписаны на работу с модулями БПО. Однако если конфигурация нетиповая и доработки переносились выборочно вручную, код в формах документов (ПКО, РКО, Чек ККМ) часто остается старым. Процедура печати обращается к механизму СерверТО и ищет оборудование только по признаку старого фискального регистратора, полностью игнорируя ККТ с передачей данных.
Проанализируем проблемный участок кода в модуле формы документа ПриходныйКассовыйОрдер в процедуре ОсновныеДействияФормыЧек():
// Устаревший фрагмент кода в нетиповой форме:
МассивФР = ПолучитьСерверТО().ПолучитьСписокУстройств(
Перечисления.ВидыТорговогоОборудования.ФискальныйРегистратор,
Справочники.КассыККМ.ПустаяСсылка());
Так как наше устройство зарегистрировано как онлайн-касса, метод ПолучитьСписокУстройств возвращает пустой массив, из-за чего система генерирует исключение об отсутствии подключенного регистратора.
Для быстрого устранения ошибки скорректируем фильтрацию по виду оборудования, указав перечисление ККТ (ККТ с передачей данных), либо выполним проверку обоих видов оборудования:
// Исправленный вариант выборки оборудования:
МассивУстройств = ПолучитьСерверТО().ПолучитьСписокУстройств(
Перечисления.ВидыТорговогоОборудования.ККТ,
КассаККМ);
Если МассивУстройств.Количество() = 0 Тогда
// Проверяем наличие классического ФР, если кассы работают параллельно
МассивУстройств = ПолучитьСерверТО().ПолучитьСписокУстройств(
Перечисления.ВидыТорговогоОборудования.ФискальныйРегистратор,
КассаККМ);
КонецЕсли;
Если МассивУстройств.Количество() = 0 Тогда
Предупреждение("Устройство для печати чеков не подключено!");
Возврат;
КонецЕсли;
Важное архитектурное замечание: простая замена значения перечисления восстанавливает обращение к кассе, но старый формат пакета фискализации через СерверТО не передает реквизиты, обязательные для 54-ФЗ (теги систем налогообложения, ставки НДС, реквизиты кассира, признак предмета расчета). Правильным долгосрочным решением для сильно измененных конфигураций является полное обновление процедуры печати чека из типового актуального релиза конфигурации УПП 1.3 с вызовом общего модуля МенеджерОборудованияКлиент и передачей сформированной структуры чека.
Чтобы исключить системные сообщения о неподключенном оборудовании, проверим параметры привязки кассы в информационной базе:
После изменения типа оборудования на ККТ и корректировки обращения к торговому оборудованию в форме кассового ордера печать чеков на АТОЛ FPrint-55Ф проходит в штатном режиме.