Как настроить 1С:Эмулятор ККТ 5.2.4.4 и увидеть эмулируемый чек, если окно быстро исчезает?

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

При разработке и тестировании торговых операций в решениях на базе 1С, таких как 1С:Управление торговлей 11, 1С:ERP или 1С:Комплексная автоматизация, программисты часто сталкиваются с необходимостью эмуляции работы кассового оборудования. Использование реальной ККТ для тестов не всегда удобно и оправдано, особенно когда речь идет о проверке передачи фискальных данных по 54-ФЗ или работе с эквайрингом. Фирма «1С» предоставляет для этих целей специальный инструмент — 1С: Эмулятор ККТ с передачей данных.

Однако в последних версиях этого драйвера (начиная с 5.2.4.4) пользователи столкнулись с проблемой: окно с визуализацией чека мелькает на экране лишь доли секунды и закрывается, не позволяя проверить корректность сформированных данных. В этой статье мы подробно разберем, где найти актуальный эмулятор, почему изменилось его поведение и как эффективно тестировать чеки в новых условиях.

Где скачать актуальную версию эмулятора ККТ 5.2.4.4

Рассмотрим процесс поиска дистрибутива, так как он не является самостоятельным продуктом и «спрятан» внутри материалов для разработчиков. Для получения корректной версии драйвера выполним следующие шаги:

  1. Перейдем на портал 1С:ИТС в раздел обновлений программ.
  2. Найдем в списке программных продуктов раздел Стандартные библиотеки.
  3. Выберем пункт 1С:Библиотека подключаемого оборудования, редакция 3.2 (БПО).
  4. Прокрутим страницу до самого низа (подвал страницы).
  5. В подразделе Дополнительные материалы мы увидим ссылку на 1C: Эмулятор ККТ с передачей данных (54-ФЗ) c функций эквайринговых операций, версия 5.2.4.4.

Проанализируем технические требования. Данная версия предназначена для работы с БПО версии 3.2.7 и выше. Она поддерживает эмуляцию не только ККТ, но и эквайрингового терминала, электронных весов и дисплея покупателя. Важным преимуществом является поддержка кроссплатформенности (Windows и Linux) в 32- и 64-битном исполнении.

Почему чек исчезает мгновенно: технологические особенности

Выясним причину, по которой привычная настройка «Задержка закрытия окна», присутствовавшая в старых версиях эмулятора, исчезла. В предыдущих редакциях эмулятор работал через технологию COM, что позволяло драйверу удерживать модальное или независимое окно в операционной системе Windows. Современная версия 5.2.4.4 разработана на основе Native API.

Переход на Native API продиктован требованиями безопасности и кроссплатформенности. Однако это наложило ограничения на взаимодействие драйвера с графическим интерфейсом пользователя. В текущей реализации окно чека генерируется как временная форма для предварительного просмотра, и программный интерфейс 1С закрывает его сразу после завершения вызова метода НапечататьЧек. Увеличить время отображения штатными настройками драйвера в этой версии, к сожалению, невозможно. Для решения этой проблемы можно использовать расширение для вывода чеков из эмулятора ККТ на обычный принтер.

Способ 1: Использование регистра «Фискальные операции»

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

Проанализируем ситуацию: когда вы пробиваете чек через эмулятор, программа формирует XML-пакет с данными. Этот пакет сохраняется в информационной базе еще до того, как будет отправлен на драйвер. Для просмотра этих данных выполним следующие действия:

  1. Перейдем в раздел Администрирование — Обслуживание.
  2. Откроем Регламентные операции или напрямую через Все функции (Функции для технического специалиста) найдем регистр сведений ФискальныеОперации.
  3. Найдем последнюю запись по вашему документу (например, Реализация товаров и услуг или Чек ККМ).
  4. Внутри записи будет доступно поле с XML-данными. Нажмем кнопку просмотра.

В этом XML-документе вы увидите все реквизиты чека: ставки НДС (включая новые 22%), коды маркировки, данные покупателя и суммы. Это гораздо надежнее, чем визуальная проверка картинки.

Способ 2: Проверка через временные файлы и логирование

Если нам критически важно увидеть именно графическое представление чека, рассмотрим способ извлечения данных из временных папок операционной системы. Эмулятор при формировании визуальной формы часто создает временный HTML-файл.

Выясним, где искать эти данные. В ОС Windows путь обычно выглядит так: %TEMP%\1C_Emulator_.... Попробуйте очистить папку TEMP, пробить чек и сразу обновить содержимое папки. Найденный файл можно открыть любым браузером и детально изучить.

Также рекомендуется включить детальное логирование в настройках самого оборудования в 1С:

  1. Откроем НСИ и администрирование — РМК и оборудование — Подключаемое оборудование.
  2. Зайдем в настройки нашего эмулятора.
  3. Установим флаг Вести лог-файл (если доступно в интерфейсе) или настроим лог в параметрах драйвера.

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

Тестирование сложных сценариев: Маркировка и Эквайринг

Версия 5.2.4.4 предоставляет уникальные возможности для тестирования функционала Честного ЗНАКа. Разберем, как проверить работу с маркировкой. Данный эмулятор поддерживает ФФД 1.2, а значит, он умеет имитировать запросы к серверу ИС МП.

При выполнении операции ПроверитьМаркировку в коде 1С, эмулятор возвращает положительный результат проверки кода DataMatrix, что позволяет разработчику пройти по ветке кода «Успешная проверка» без наличия реальной кассы с фискальным накопителем версии М.

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


// Пример получения параметров фискального устройства в коде
Оповещение = Новый ОписаниеОповещения("ЗавершитьПодключение", ЭтотОбъект);
МенеджерОборудования.ПодключитьОборудование(ИдентификаторУстройства, Оповещение);

// Если используем эмулятор 5.2.4.4, можем проверить поддержку ФФД 1.2
Результат = "";
МенеджерОборудования.ВыполнитьКоманду(ИдентификаторУстройства, "GetFiscalDeviceParameters", , Результат);
// В Результат придет XML с признаками поддержки ТС ПИоТ

Также рассмотрим тестирование эквайринга. Эмулятор версии 5.2.4.4 позволяет имитировать отказ в авторизации карты или нехватку средств. Для этого в настройках драйвера можно выбрать соответствующие режимы имитации ошибок. Это позволяет проверить, как ваша доработка или конфигурация отрабатывает отмену чека при неудачной оплате по терминалу.

Имитация нештатных ситуаций

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

Подводя итог, отметим, что хотя визуальное отображение чека в версии 5.2.4.4 стало менее удобным из-за архитектуры Native API, функциональные возможности драйвера значительно расширились. Для качественной отладки мы рекомендуем использовать просмотр регистра ФискальныеОперации и системные логи, что дает гораздо более полную информацию о работе системы в соответствии с 54-ФЗ.

← На главную