Как выбрать и настроить эмулятор ККТ в 1С:Управление торговлей для проверки чеков с данными поставщика?

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

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

Варианты эмуляторов ККТ для 1С

Рассмотрим основные решения, которые применяются для имитации кассового аппарата в типовых конфигурациях на базе Библиотеки подключаемого оборудования (БПО):

  1. Типовой эмулятор ККТ NativeAPI от фирмы «1С». Поставляется в составе дополнительных файлов конфигураций и обновлений БПО. Это официальная внешняя компонента, поддерживающая современные требования стандартов взаимодействия 1С с кассовым оборудованием. Найти её можно на портале обновлений в разделе дополнительных материалов библиотеки подключаемого оборудования (проект CEL) в самом низу списка загрузок. Компонента стабильно работает в актуальных релизах УТ 11, КА 2 и ERP.
  2. Учебный драйвер ККТ для 1С:БПО от компании «1С-Рарус». Существуют сборки под стандарты NativeAPI для БПО версий 3.X и 4.X. Драйвер разработан специально для демонстрационных и тестовых целей, легко подключается через стандартный справочник подключаемого оборудования и формирует понятную печатную форму чека.
  3. Специализированные сторонние серверы эмуляции ККМ (например, решения класса «РБ-Софт: Сервер ККМ»). Подобные комплексы предоставляют расширенные возможности логирования и перехвата команд фискализации, эмулируя работу популярных протоколов оборудования.
  4. Виртуальный режим работы в оригинальных драйверах производителей (АТОЛ, Штрих-М). Вместо абстрактных учебных заглушек можно использовать штатный драйвер ККТ от производителя, настроив его на работу с виртуальным каналом или программным эмулятором фискального накопителя. Этот способ максимально точно воспроизводит поведение реальной кассы и проводит строгую валидацию длины и формата каждого реквизита.

Почему в чеке эмулятора могут не отображаться данные поставщика

Часто при тестировании возникает ситуация: эмулятор успешно пробивает чек, но блок с реквизитами комитента отсутствует. Выясним причину такого поведения. Это не всегда означает ошибку самого эмулятора — чаще всего срабатывают типовые механизмы контроля конфигурации 1С:

  1. Отсутствие признака агента в настройках ККТ. В карточке подключаемого оборудования при настройке параметров регистрации кассового аппарата обязательно должен быть взведен флаг признака агента (например, Комиссионер или Поверенный). Если в параметрах кассы данный признак отключен, модуль фискализации 1С программно вырезает агентские реквизиты из чека перед отправкой команды в драйвер.
  2. Неверно заполненный вид запасов при списании. Проанализируем движения документа: позиция номенклатуры должна списываться исключительно по виду запасов Товары на комиссии с указанием конкретного комитента и договора. Если документ реализации списал позицию как собственный товар, конфигурация сформирует стандартный чек без реквизитов принципала.
  3. Ошибки в карточке контрагента-поставщика. Для передачи тега 1226 (ИНН поставщика) и наименования поставщика (тег 1225) в карточке комитента должен быть заполнен корректный ИНН, проходящий проверку контрольного числа, а также контактный телефон при необходимости (тег 1171). При наличии синтаксических ошибок в данных эти поля отбрасываются.
  4. Упрощенный макет вывода самого эмулятора. Многие бесплатные учебные драйверы принимают полный пакет фискализации без ошибок, но их визуальное диалоговое окно чека выводит только стандартные строки (наименование, цена, сумма, ставка НДС) и попросту не умеет графически отображать составной тег 1224 (данные поставщика).

Как проверить корректность передачи данных поставщика

Разберем по шагам, как достоверно убедиться в том, что 1С передает данные комитента в драйвер ККТ, даже если окно предварительного просмотра эмулятора их скрывает:

  1. Анализ XML-пакета фискализации. В момент пробития чека конфигурация формирует XML-структуру операции. Поставим точку останова в процедуре фискализации чека общих модулей подсистемы БПО или подключим расширенное логирование драйвера. Внутри тега товарной строки FiscalString должны присутствовать обязательные атрибуты:
    
    <!-- Пример структуры тегов комиссионного товара в пакете фискализации -->
    <FiscalString 
        Name="Комиссионный товар" 
        Quantity="1" 
        PriceWithDiscount="1500.00" 
        Amount="1500.00" 
        AgentSign="Agent">
        <SupplierInfo 
            SupplierINN="7701234567" 
            SupplierName="ООО Поставщик" />
    </FiscalString>
    
    Наличие признака AgentSign (тег 1222) и блока SupplierInfo (тег 1224 с вложенным ИНН поставщика) свидетельствует о том, что конфигурация 1С отработала алгоритм корректно.
  2. Включение логирования в настройках подключаемого оборудования. Откроем форму настройки установленного эмулятора в разделе администрирования оборудования и установим признак ведения лог-файла. В лог записываются все входящие XML-запросы от платформы, что позволяет изолировать проблемы конфигурации от визуальных ограничений драйвера.

Ограничения разрядности платформы

При установке внешних компонент эмуляторов важно учитывать разрядность используемого клиента 1С:Предприятия. Если запускается 64-разрядный клиент (x64), старые 32-битные эмуляторы (особенно поставляемые в виде COM-объектов) подключить не удастся — система выдаст ошибку загрузки внешней компоненты. Для современных баз на платформе 8.3 рекомендуется использовать драйверы стандарта NativeAPI, содержащие сборки под обе архитектуры (x86 и x64).

← На главную