Как протестировать печать фискальных чеков в 1С без подключенного кассового аппарата?

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

При доработке алгоритмов формирования чеков или изменении состава выводимой номенклатуры часто возникает необходимость проверить результат без подключения реального фискального регистратора (ККТ). Ситуация усложняется, если отладку нужно выполнять непосредственно на рабочей базе данных и требуется исключить риск сбоев в работе реальных кассиров. Рассмотрим подробно, как правильно организовать тестирование печати чеков в 1С, настроить эмулятор торгового оборудования и проанализировать передаваемые данные.

1. Изоляция настроек на рабочей базе через справочник «Рабочие места»

Чтобы тестовые настройки оборудования не нарушили работу пользователей на продуктивной базе, необходимо правильно разграничить профили кассового оборудования. В системах 1С привязка кассовой техники выполняется к конкретной записи справочника РабочиеМеста, которая идентифицируется ИНН, сетевым именем компьютера и параметрами текущего сеанса.

Разберем по шагам процесс безопасной настройки:

  1. Перейдем в справочник Рабочие места (через интерфейс настройки торгового оборудования).
  2. Создадим отдельный элемент справочника специально для нашего локального компьютера или сетевого имени разработчика.
  3. Привяжем тестовый драйвер или эмулятор ККТ исключительно к созданному рабочему месту.

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

2. Использование штатного эмулятора ККТ

Платформа 1С и Библиотека подключаемого оборудования (БПО) предоставляют встроенный механизм эмуляции фискальных регистраторов. При использовании эмулятора программа полностью проходит весь стандартный цикл подготовки данных для 54-ФЗ, но вместо физической отправки команды на ККТ выводит результат на экран.

В конфигурациях (например, УПП, УТ 10.3/11, Розница) подключение эмулятора выполняется через справочник торгового оборудования:

  1. Добавляем новое устройство с типом ККТ с передачей данных.
  2. Выбираем драйвер 1С:Эмулятор ККТ с передачей данных.
  3. Закрепляем созданное устройство за нашим тестовым рабочим местом.

При вызове операции печати чека эмулятор визуализирует документ в отдельном окне. В нем прописаны все переданные строки: наименования номенклатуры, количество, цены, итоговые суммы, а также теги ФФД (признаки предмета и способа расчета, ставки НДС).

3. Проверка состава данных в отладчике 1С

До момента вызова внешней компоненты драйвера 1С формирует структуру или таблицу значений со всеми реквизитами чека. Чтобы убедиться, что номенклатурные позиции собираются корректно, проанализируем процесс в режиме отладки.

Установим точку останова в общем модуле, отвечающем за интеграцию с торговым оборудованием (например, перед вызовом функций подготовки XML или параметров чека). Посмотрим на пример структуры, которая передается в процедуру печати:


// Пример проверки таблицы позиций чека перед отправкой в ККТ
ТаблицаПозиций = ПараметрыОперации.ТаблицаТоваров;

Для Каждого СтрокаТовара Из ТаблицаПозиций Цикл
    Сообщить("Номенклатура: " + СтрокаТовара.Наименование 
        + ", Количество: " + СтрокаТовара.Количество 
        + ", Цена: " + СтрокаТовара.Цена 
        + ", Сумма: " + СтрокаТовара.Сумма);
КонецЦикла;

С помощью табло отладчика можно проверить заполнена ли таблица товаров и правильно ли рассчитываются скидки и налоги до передачи пакета на кассовый аппарат.

4. Особенности вывода номенклатуры в УПП 1.3 при печати из ПКО

В типовой конфигурации «Управление производственным предприятием» (УПП 1.3) печать чека из документа Приходный кассовый ордер имеет свои нюансы:

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

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

5. Ограничения работы с эмулятором

Необходимо учитывать, что эмулятор проверяет только программную логику и полноту структуры XML/данных в 1С. Существуют нюансы, которые эмулятор проверить не может:

← На главную