Как вывести признак агента в кассовом чеке при продаже комиссионных товаров в 1С:Управление торговлей 11?

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

При переходе на программу 1С:Управление торговлей (редакция 11) пользователи часто сталкиваются с неприятным сюрпризом: при продаже комиссионных товаров через обычное Рабочее место кассира (РМК) в чеке ККМ не печатается признак агента (тег 1222) и ИНН поставщика (тег 1226). В то же время в более простых конфигурациях, таких как «1С:Розница» или «1С:УНФ», эта схема работает без дополнительных настроек прямо «из коробки». В данной статье мы подробно разберем, почему так происходит, проанализируем позицию разработчиков фирмы «1С» и рассмотрим практические способы решения этой проблемы.

Выясняем причину: особенности архитектуры 1С:УТ 11

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

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

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

Так как в момент пробития чека на кассе система не знает, какой именно вид запаса сейчас списывается, она физически не может передать на фискальный регистратор обязательные теги комиссионера. Это приводит к серьезным налоговым рискам, ведь согласно требованиям ФНС и формату фискальных данных (ФФД 1.2), отсутствие признака агента по предмету расчета в чеке обязывает организацию учесть всю сумму продажи в качестве собственной выручки.

---

Решение 1: Использование стандартной «оптово-розничной» схемы

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

  1. Оформляем продажу товара клиенту с помощью документа Реализация товаров и услуг.
  2. В документе реализации переходим в меню Еще — Открыть виды запасов. Проверяем, что система автоматически или вручную выбрала вид запаса с типом «Комиссионный товар» и указала конкретного комитента.
  3. На основании документа реализации создаем документ оплаты: Приходный кассовый ордер (при наличной оплате) или Эквайринговая операция (при оплате картой).
  4. Пробиваем фискальный чек непосредственно из созданного документа оплаты или самого документа реализации.

При такой схеме проведения сделки программа четко видит, что списывается именно комиссионный товар, за которым закреплен конкретный принципал (поставщик). В результате на фискальный регистратор и в ОФД корректно передаются все необходимые теги: признак агента (тег 1222), данные поставщика (тег 1224) и ИНН поставщика (тег 1226).

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

---

Решение 2: Использование нетиповых расширений (Доработка системы)

Для сохранения удобства работы в РМК и автоматического вывода признаков агента большинство торговых компаний внедряют небольшие расширения конфигурации (файлы формата .cfe), которые не снимают программу с поддержки. Рассмотрим техническую суть такой доработки.

Программисты настраивают расширение, которое перехватывает процедуру подготовки данных для печати чека ККМ. В этот момент система может принудительно определить статус товара по одному из двух алгоритмов:

  1. Запрос свободных остатков: В момент нажатия кнопки «Оплата» в РМК расширение делает быстрый запрос к остаткам регистра Товары организаций по текущей номенклатуре. Если у товара есть доступный остаток по виду запаса «Комиссионный», расширение подставляет реквизиты комитента в структуру чека.
  2. Связь через карточку товара: Если вы торгуете комиссионным товаром, который заведен на отдельные карточки номенклатуры (например, у вас разделены позиции «Куртка собственная» и «Куртка комиссионная»), в расширении можно прописать жесткую связь. В этом случае данные принципала берутся напрямую из реквизитов номенклатуры или из связанного договора.

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


&Вместо("ЗаполнитьПараметрыПозицииЧека")
Процедура Расш_ЗаполнитьПараметрыПозицииЧека(ПараметрыПозиции, ТекСтрокаНоменклатуры)
    
    // Вызываем оригинальную процедуру для заполнения стандартных реквизитов
    ПродолжитьВызов(ПараметрыПозиции, ТекСтрокаНоменклатуры);
    
    // Проверяем, является ли номенклатура комиссионной по нашей логике
    Если Расш_ЭтоКомиссионныйТовар(ТекСтрокаНоменклатуры.Номенклатура) Тогда
        
        // Заполняем обязательные теги для ФФД
        ПараметрыПозиции.ПризнакАгентаПоПредметуРасчета = Перечисления.ПризнакиАгента.Комиссионер;
        
        // Получаем данные комитента из настроек или остатков
        ДанныеКомитента = Расш_ПолучитьДанныеКомитента(ТекСтрокаНоменклатуры.Номенклатура);
        
        ПараметрыПозиции.ИННПоставщика = ДанныеКомитента.ИНН;
        ПараметрыПозиции.НаименованиеПоставщика = ДанныеКомитента.Наименование;
        ПараметрыПозиции.ТелефонПоставщика = ДанныеКомитента.Телефон;
        
    КонецЕсли;

КонецПроцедуры

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

← На главную