Как протестировать работу онлайн-кассы в 1С без физического оборудования

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

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

Использование штатного эмулятора 1С на базе БПО

В современных типовых решениях 1С (таких как 1С:Розница, 1С:Управление торговлей, 1С:ERP Управление предприятием, 1С:Комплексная автоматизация и 1С:Бухгалтерия предприятия) интеграция с торговым оборудованием реализована через единую Библиотеку подключаемого оборудования (БПО). Для всех типов фискальных устройств — ККТ с передачей данных, фискальных регистраторов и автоматических касс — платформа использует единый стандарт взаимодействия и унифицированный интерфейс команд.

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

  1. Перейдем в раздел администрирования или настроек параметров учета и откроем справочник Подключаемое оборудование.
  2. Создадим новый элемент оборудования с типом ККТ с передачей данных.
  3. В поле драйвера оборудования выберем предопределенный пункт 1С:ККТ с передачей данных (эмулятор).
  4. Запишем элемент и нажмем кнопку Настроить для перехода к параметрам виртуального устройства.
  5. В окне настроек параметров кассы укажем тестовые данные: произвольный регистрационный номер ККТ (РНМ), номер фискального накопителя (ФН), заводской серийный номер аппарата и ИНН организации. Реальной проверки этих номеров через ФНС или ОФД не происходит, поэтому можно ввести любые подходящие по формату цифры.
  6. Выберем поддерживаемую версию формата фискальных данных, например, ФФД 1.05 или ФФД 1.2, а также зададим систему налогообложения организации по умолчанию.
  7. Сохраним настройки и выполним операцию Тест устройства. Система выдаст сообщение об успешной проверке связи.

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

Тестирование через виртуальные драйверы производителей

В ситуациях, когда необходимо проверить работу специфических функций оборудования конкретной марки (например, АТОЛ или Штрих-М), стандартного эмулятора БПО может быть недостаточно. Производители кассового оборудования поставляют собственные универсальные драйверы, в которых также предусмотрен режим эмуляции.

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

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

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

Ограничения программных эмуляторов

Несмотря на высокую гибкость программной эмуляции, важно помнить об ограничениях, с которыми сталкивается разработчик при тестировании:

  1. Отсутствие реального сетевого канала: Эмуляторы не формируют защищенную сессию обмена данными с оператором фискальных данных (ОФД) и серверами ФНС. Невозможно протестировать службы передачи чеков (такие как EoU — Ethernet over USB, EoT или сетевые протоколы передачи).
  2. Невозможность эмуляции аппаратных сбоев: Виртуальная касса не может сымитировать замятие кассовой ленты, внезапное отключение питания во время отрезки чека, аппаратный сбой печатающей головки, тайм-аут передачи пакета данных по перегруженному интерфейсу или рассинхронизацию встроенных часов реального времени ККТ с часами сервера.
  3. Ограничения криптографического контроля: При продаже товаров, подлежащих обязательной маркировке («Честный ЗНАК»), по протоколу ФФД 1.2 реальный кассовый аппарат передает коды маркировки непосредственно в фискальный накопитель, где аппаратный криптопроцессор выполняет их локальную валидацию (формирование реквизита «проверен в ФН») и отправляет запрос на сервер проверки ИС МП. Программный эмулятор выполняет лишь базовую синтаксическую валидацию структуры чека, но не воспроизводит полный цикл криптографической проверки.
  4. Поведение фискальной памяти: Эмулятор не позволяет сымитировать исчерпание ресурса фискального накопителя, переполнение неотправленных документов или блокировку кассы по истечении 30 дней отсутствия связи с серверами ОФД.

Аппаратные стенды с МГМ (макетом фискального накопителя)

Если проект требует полной имитации кассового узла крупного розничного магазина с проверкой всех этапов передачи данных в тестовый контур ОФД и государственные системы маркировки, оптимальным решением является использование физической кассы с установленным МГМ (массо-габаритным макетом фискального накопителя).

МГМ полностью повторяет протокол и электронику боевого фискального накопителя, но не регистрируется в налоговых органах на постоянной основе. Его можно перезагружать, очищать память и регистрировать повторно неограниченное количество раз с тестовыми ИНН и номерами. Подключив такую кассу к тестовому стенду ОФД, можно воспроизвести полную цепочку кассового обслуживания без риска испортить дорогостоящий боевой накопитель.

Таким образом, для подавляющего большинства задач разработки и проверки конфигураций 1С вполне достаточно штатного эмулятора БПО. Для более детальной интеграции применяются демо-режимы драйверов вендоров, а для финального комплексного тестирования на стыке систем используется аппаратный стенд с МГМ.

← На главную