Почему в 1С при печати чека из ПКО возникает ошибка «Фискальный регистратор не подключен»?

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

При работе с торговым оборудованием в конфигурациях на обычных формах (таких как 1С:Комплексная автоматизация 1.1, 1С:Управление производственным предприятием 1.3 или 1С:Управление торговлей 10.3) часто возникает парадоксальная ситуация: тест устройства проходит успешно, снятие X-отчета через меню управления выполняется без ошибок, но при попытке пробить чек из документа «Приходный кассовый ордер» (ПКО) программа выдает сообщение: «Фискальный регистратор не подключен».

Проанализируем причины этой проблемы и разберем по шагам, как настроить систему и модуль документа для корректной печати чеков.

Причина 1: Несоответствие типов торгового оборудования (ККТ с передачей данных и Фискальный регистратор)

С переходом на требования 54-ФЗ в структуре конфигураций 1С появилось разделение оборудования на классические фискальные регистраторы и онлайн-кассы нового типа — ККТ с передачей данных. Если физическое устройство (например, АТОЛ 22Ф) подключено в справочнике как ККТ с передачей данных, а алгоритм кнопки «Чек» в документе ПКО обращается к устаревшему механизму и ищет устройство с типом Перечисление.ВидыТорговогоОборудования.ФискальныйРегистратор, возникает логический конфликт.

В результате процедура инициализации не находит объект с требуемым типом и возвращает статус отсутствия подключения.

Причина 2: Особенности инициализации торгового оборудования при открытии формы

В архитектуре обычных форм подключение кассового аппарата происходит в момент открытия формы документа в событии ПриОткрытии. Если в этот момент COM-порт был временно заблокирован внешним приложением (например, утилитой драйвера «Тест ККТ») или тестом из настроек 1С, внутренняя переменная подключения устройства принимает значение Ложь. Нажатие кнопки «Чек» уже не пытается повторно подключить порт, а сразу прерывает выполнение с ошибкой.

Пошаговый алгоритм устранения ошибки

Разберем последовательность действий, которая позволит локализовать и устранить неполадку:

  1. Проверка занятости портов. Закроем все сторонние утилиты драйвера ККТ (ДТО АТОЛ, службы тестирования связи). Перезапустим сеанс «1С:Предприятие», чтобы освободить виртуальные COM-порты.
  2. Проверка привязки касс в справочниках. Проверим соответствие настроек: откроем справочник Кассы ККМ, найдем используемую кассу и убедимся, что к ней привязан именно созданный экземпляр оборудования, а реквизит Организация совпадает с организацией в документе ПКО.
  3. Проверка персональных настроек пользователя. Перейдем в меню «Сервис» → «Настройки пользователя» и проверим заполнение реквизитов: Основная касса, Основная касса ККМ и Основная организация.
  4. Проверка идентификатора рабочего места. Настройки оборудования жестко привязаны к имени компьютера и учетной записи операционной системы. При работе через терминальный сервер (RDP) убедимся, что для текущего сеанса создано и выбрано корректное рабочее место.

Поиск проблемы с помощью отладки

Если параметры кассы и пользователя заданы верно, выясним точную причину через режим отладки конфигуратора. Поставим точку останова в модуле формы документа «Приходный кассовый ордер» в процедурах ПриОткрытии и обработчике кнопки печати чека.

Посмотрим на пример логики подключения, которую необходимо проверить в коде формы:


// В процедуре ПриОткрытии проверяется доступность устройства:
мВидТорговогоОборудования = Перечисление.ВидыТорговогоОборудования.ККТ;
// Либо для онлайн-касс в обновленных конфигурациях:
// Перечисление.ВидыТорговогоОборудования.ККТСПередачейДанных

мУстройствоПодключено = ПолучитьСерверТО().ПодключитьКлиента(ЭтаФорма, мВидТорговогоОборудования);

При нажатии на кнопку печати чека проанализируем значение переменной состояния подключения. Если в типовом коде вызов построен через старый интерфейс фискального регистратора:


Если Не мУстройствоПодключено Тогда
    Предупреждение("Фискальный регистратор не подключен!");
    Возврат;
КонецЕсли;

Убедимся, что переданный идентификатор устройства совпадает с реальным ID подключенной онлайн-кассы, а тип запрашиваемого оборудования в коде соответствует типу, указанному в карточке торгового оборудования.

← На главную