Почему в чеке 1С не печатается признак агента и задваивается телефон поставщика: детальное решение проблемы

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

При оформлении продаж по агентским схемам (комиссия, поручение, платежное посредничество) в программах 1С пользователи часто сталкиваются с некорректным поведением кассовых аппаратов. Наиболее распространенная техническая проблема на ККТ производства компании «Штрих-М» — отсутствие обязательного признака агента (тег 1057) на чеке и одновременное дублирование (задвоение) контактного телефона поставщика или принципала. В этой статье мы подробно разберем причины этой проблемы и пошагово настроим систему для корректной работы.

Выясняем причины неисправности

Прежде чем приступать к исправлению настроек, проанализируем ситуацию. Некорректное поведение фискального регистратора связано со следующими факторами:

  1. Ошибки в драйвере ККТ. Старые версии драйверов Штрих-М (ниже версии 4.14.0.731) некорректно обрабатывали переданные из 1С XML-структуры данных чека. Даже если 1С передавала заполненный признак AgentSign или SignSubjectCalculationAgent, драйвер отбрасывал эти данные при отправке команд в ККТ.
  2. Конфликт автопечати тегов. Задвоение телефона поставщика происходит из-за того, что в настройках ККТ активирована функция автоматической печати загруженных тегов. Программа 1С самостоятельно формирует текстовые строки для чека, а кассовый аппарат дублирует их из своей внутренней памяти.
  3. Непонимание логики битовой маски признака агента. Часто программисты и бухгалтеры путаются в передаваемых значениях (например, почему передается число 64 или 8 вместо привычных наименований). Эти цифры представляют собой битовую маску тега 1057 в соответствии с требованиями ФФД.

Шаг 1. Обновление драйвера Штрих-М

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

Для устранения этой ошибки выполним следующие действия:

  1. Перейдем на официальный сайт или файловый архив компании «Штрих-М».
  2. Скачаем и установим версию драйвера ККТ не ниже 4.14.0.731 (рекомендуется использовать наиболее актуальные стабильные сборки линейки 4.15 или выше).
  3. В базе 1С в справочнике «Подключаемое оборудование» обновим интеграционную компоненту для работы с новым драйвером.

Шаг 2. Устранение задвоения телефона поставщика в таблицах ККТ

Чтобы убрать дублирование информации о телефоне поставщика, необходимо отключить автоматическую печать тегов на уровне прошивки кассового аппарата. За это отвечает специальный параметр в системных таблицах ККТ.

Рассмотрим по шагам процесс настройки через стандартную утилиту «Тест драйвера ККТ»:

  1. Запустим утилиту «Тест драйвера ФР» и установим связь с кассовым аппаратом.
  2. Перейдем в раздел меню «Настройки» или «Параметры ККТ».
  3. Откроем «Таблицы» устройства. Нам необходима Таблица № 17 («Региональные настройки»).
  4. В открывшейся таблице найдем поле № 25 («Rus автопечать тегов»).
  5. По умолчанию в этом поле может быть установлена единица (1). Изменим это значение на 0 (ноль).
  6. Запишем изменения в таблицу и перезагрузим кассовый аппарат.

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

Шаг 3. Проверка передачи данных из 1С

Убедимся, что 1С формирует корректные данные для передачи на фискальный регистратор. В XML-пакете, который отправляется на кассу, для агентских позиций должны присутствовать специальные атрибуты. Пример структуры передаваемых параметров для позиции чека выглядит следующим образом:


<Receipt>
    <Positions>
        <FiscalString Name="Агентская услуга" Quantity="1" Price="1000" Sum="1000" Tax="None">
            <AgentData AgentSign="6">
                <VendorData VendorPhone="88005553535" VendorName="ООО Принципал" VendorINN="7700000000" />
            </AgentData>
        </FiscalString>
    </Positions>
</Receipt>

Обратим внимание на атрибут AgentSign. Значение 6 (или в некоторых кодировках битовая маска 64) соответствует типу агента «Иной агент» (комиссионер или поверенный). Если вы используете договор комиссии, убедитесь, что в карточке номенклатуры или в договоре контрагента в 1С правильно выбран вид агентского договора.

Анализ битовой маски признака агента (Тег 1057)

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

Если в вашей системе отображается число 64, это абсолютно корректно для большинства классических посреднических схем в оптовой и розничной торговле.

Особенности печати реквизитов на бумажном чеке

Иногда после обновления драйвера пользователи замечают, что ИНН и наименование поставщика (теги 1226 и 1225) печатаются в электронном чеке (отправляются в ОФД), но отсутствуют на бумажной ленте.

Выясним причину этого поведения. Согласно требованиям налогового законодательства и ФФД 1.05 / 1.2, ИНН поставщика является строго обязательным для передачи в ОФД в электронном виде. При этом для печатной (бумажной) формы чека этот реквизит имеет статус «может не включаться». Большинство современных драйверов по умолчанию отключают печать этих строк на бумаге в целях экономии кассовой ленты. Если вашим клиентам критически важно видеть ИНН принципала на бумаге, вы можете настроить шаблон чека непосредственно в самой программе 1С или включить детальное отображение тегов в настройках драйвера.

Важное замечание по переходу на ФФД 1.2

Проанализируем перспективу работы с агентскими реквизитами. Если ваша касса переведена на современный формат ФФД 1.2, правила работы с признаком агента меняются:

Это позволяет в рамках одного чека продавать одновременно и собственные товары (без признака агента), и агентские услуги. Каждая позиция в чеке теперь помечается своим собственным признаком индивидуально, что исключает необходимость разделения продаж на несколько разных чеков.

← На главную