При переходе на программу 1С:Управление торговлей (редакция 11) пользователи часто сталкиваются с неприятным сюрпризом: при продаже комиссионных товаров через обычное Рабочее место кассира (РМК) в чеке ККМ не печатается признак агента (тег 1222) и ИНН поставщика (тег 1226). В то же время в более простых конфигурациях, таких как «1С:Розница» или «1С:УНФ», эта схема работает без дополнительных настроек прямо «из коробки». В данной статье мы подробно разберем, почему так происходит, проанализируем позицию разработчиков фирмы «1С» и рассмотрим практические способы решения этой проблемы.
Для того чтобы понять, почему программа ведет себя подобным образом, проанализируем логику проведения розничных продаж в разных конфигурациях. В «1С:Розница» признак агентской услуги или комиссионного товара жестко привязан к карточке номенклатуры или к договору с контрагентом. Программа всегда «знает», чей товар продается в данный момент.
В конфигурации 1С:Управление торговлей 11 реализован более сложный многоуровневый учет запасов. Один и тот же товар на складе может одновременно находиться в разных статусах: как собственный товар организации и как комиссионный товар, принятый на реализацию. Разделение этих статусов происходит на уровне регистра накопления Товары организаций по измерению Вид запасов.
Разработчики фирмы «1С» заложили в систему следующее проектное решение: исходя из требований высокой скорости обслуживания покупателей на кассе, рабочее место кассира (РМК) проводит продажи без оперативного обращения к итогам по регистру «Товары организаций». Программа в момент сканирования штрихкода не определяет принадлежность конкретной единицы товара (собственный он или комиссионный). Это распределение выполняется отложенно — в конце смены, когда формируется итоговый документ Отчет о розничных продажах.
Так как в момент пробития чека на кассе система не знает, какой именно вид запаса сейчас списывается, она физически не может передать на фискальный регистратор обязательные теги комиссионера. Это приводит к серьезным налоговым рискам, ведь согласно требованиям ФНС и формату фискальных данных (ФФД 1.2), отсутствие признака агента по предмету расчета в чеке обязывает организацию учесть всю сумму продажи в качестве собственной выручки.
---
Если вам необходимо решить проблему без изменения типовой конфигурации и программирования, методисты «1С» рекомендуют отказаться от использования РМК для продажи таких товаров и перейти на оптовую схему оформления продаж. Рассмотрим эту схему по шагам:
Реализация товаров и услуг.Приходный кассовый ордер (при наличной оплате) или Эквайринговая операция (при оплате картой).При такой схеме проведения сделки программа четко видит, что списывается именно комиссионный товар, за которым закреплен конкретный принципал (поставщик). В результате на фискальный регистратор и в ОФД корректно передаются все необходимые теги: признак агента (тег 1222), данные поставщика (тег 1224) и ИНН поставщика (тег 1226).
Существенный минус схемы: Данный способ не подходит для розничных магазинов с высокой проходимостью и очередями, так как оформление пакета документов реализации занимает значительно больше времени, чем работа в РМК.
---
Для сохранения удобства работы в РМК и автоматического вывода признаков агента большинство торговых компаний внедряют небольшие расширения конфигурации (файлы формата .cfe), которые не снимают программу с поддержки. Рассмотрим техническую суть такой доработки.
Программисты настраивают расширение, которое перехватывает процедуру подготовки данных для печати чека ККМ. В этот момент система может принудительно определить статус товара по одному из двух алгоритмов:
Товары организаций по текущей номенклатуре. Если у товара есть доступный остаток по виду запаса «Комиссионный», расширение подставляет реквизиты комитента в структуру чека.Ниже приведен пример концептуального кода, который может использоваться в расширении для перехвата формирования фискальных строк чека и заполнения агентских реквизитов:
&Вместо("ЗаполнитьПараметрыПозицииЧека")
Процедура Расш_ЗаполнитьПараметрыПозицииЧека(ПараметрыПозиции, ТекСтрокаНоменклатуры)
// Вызываем оригинальную процедуру для заполнения стандартных реквизитов
ПродолжитьВызов(ПараметрыПозиции, ТекСтрокаНоменклатуры);
// Проверяем, является ли номенклатура комиссионной по нашей логике
Если Расш_ЭтоКомиссионныйТовар(ТекСтрокаНоменклатуры.Номенклатура) Тогда
// Заполняем обязательные теги для ФФД
ПараметрыПозиции.ПризнакАгентаПоПредметуРасчета = Перечисления.ПризнакиАгента.Комиссионер;
// Получаем данные комитента из настроек или остатков
ДанныеКомитента = Расш_ПолучитьДанныеКомитента(ТекСтрокаНоменклатуры.Номенклатура);
ПараметрыПозиции.ИННПоставщика = ДанныеКомитента.ИНН;
ПараметрыПозиции.НаименованиеПоставщика = ДанныеКомитента.Наименование;
ПараметрыПозиции.ТелефонПоставщика = ДанныеКомитента.Телефон;
КонецЕсли;
КонецПроцедуры
Применение такого расширения позволяет кассирам продолжать обслуживать покупателей на высокой скорости через стандартный интерфейс РМК, при этом полностью соблюдая требования законодательства по передаче агентских тегов в фискальный накопитель и налоговые органы.