В практике автоматизации торговых точек часто возникает ситуация, когда розничный магазин периодически осуществляет мелкооптовые отгрузки юридическим лицам и индивидуальным предпринимателям. Установка тяжеловесных конфигураций вроде «1С:Управление торговлей» или «1С:ERP» для десятка накладных в месяц нецелесообразна и усложняет работу кассиров. Однако с введением обязательной маркировки («Честный ЗНАК») возникла жесткая необходимость передавать коды маркировки (DataMatrix) в оптовом звене через систему электронного документооборота (ЭДО).
В этой статье мы подробно разберем, как реализовать оптовые продажи маркированных товаров в различных редакциях конфигурации «1С:Розница», проанализируем технические ограничения версии 2.3 и рассмотрим готовые механизмы в версии 3.0.
Начнем с актуальной редакции «1С:Розница 3.0». Данная конфигурация разработана на единой кодовой базе с «1С:Управление нашей фирмой» (УНФ). Это означает, что весь базовый B2B-функционал, включая оптовые продажи и полноценную интеграцию с ГИС МТ и ЭДО, теперь доступен «из коробки».
Давайте разберем пошагово процесс оформления оптовой продажи маркированной продукции в редакции 3.0:
РасходнаяНакладная. Найти его можно в разделе «Продажи». При заполнении документа указывается покупатель (юрлицо или ИП) и договор с ним.РасходнаяНакладная в нижней части формы нажимаем кнопку «ЭДО» -> «Отправить электронный документ». Программа автоматически формирует XML-файл Универсального передаточного документа (УПД), в который упаковывает все сосканированные коды маркировки или данные ОСУ. После подписания УПД с обеих сторон вашей квалифицированной электронной подписью (УКЭП), оператор ЭДО сам передаст эти сведения в систему «Честный ЗНАК», и товары перейдут на баланс покупателя.ОтгрузкаТоваровИСМП для прямой отправки данных в систему маркировки.С версией «1С:Розница 2.3» ситуация обстоит принципиально иначе. Данная конфигурация исторически создавалась исключительно под розничный контур (B2C). Фирма «1С» прекратила активное развитие функционала ветки 2.3, выпуская только критически важные обновления для поддержки изменений законодательства.
В чем заключается главная техническая сложность? В типовой конфигурации «1С:Розница 2.3» исходящий ЭДО с передачей марок реализован только для операции возврата товаров поставщику. Документ РеализацияТоваров, который используется для оптовых продаж, не имеет штатного интерфейса для сканирования, проверки и привязки кодов маркировки к формируемому файлу УПД. Кроме того, в релизах линейки 2.3.24 может возникать платформенная ошибка при отправке документов, для обхода которой разработано расширение для исправления ошибки формирования электронного УПД.
Выясним, как решить эту проблему без перехода на новую редакцию. Единственным жизнеспособным решением является использование внешнего расширения конфигурации. Рассмотрим подробно логику работы такого расширения, которое можно разработать самостоятельно или скачать готовое решение с профильных ресурсов (например, Инфостарт):
Чтобы восстановить вырезанный разработчиками функционал оптовой маркировки, расширение должно модифицировать несколько ключевых узлов программы:
РеализацияТоваров добавляется кнопка вызова стандартной формы подбора и проверки маркированной продукции (которая используется при приемке или розничных продажах).ШтрихкодыУпаковокТоваров.Давайте посмотрим на пример программного перехвата формирования XML-данных в расширении для добавления кодов маркировки:
&Вместо("СформироватьУПД")
Процедура Расш_СформироватьУПД(ПараметрыДокумента, ДанныеЭДО)
// Вызываем оригинальный алгоритм формирования документа
ПродолжитьВызов(ПараметрыДокумента, ДанныеЭДО);
// Проверяем, является ли документ реализацией и содержит ли маркируемые товары
Если ТипЗнч(ПараметрыДокумента.Источник) = Тип("ДокументСсылка.РеализацияТоваров") Тогда
// Проанализируем наличие кодов маркировки в регистре для данного документа
ТаблицаМарок = ПолучитьМаркиДокумента(ПараметрыДокумента.Источник);
Если ТаблицаМарок.Количество() > 0 Тогда
// Внедряем коды маркировки в структуру XML-документа перед отправкой
ДобавитьКодыМаркировкиВСтруктуруУПД(ДанныеЭДО, ТаблицаМарок);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Также важно учесть ситуацию, когда оптовый покупатель (например, школа, больница или производственное предприятие) приобретает товар не для дальнейшей перепродажи, а для собственных нужд. В этом случае продавец обязан самостоятельно вывести товар из оборота. Для этого расширение должно позволять создавать документ ВыводИзОборотаИСМП непосредственно на основании проведенного документа РеализацияТоваров с автоматическим переносом сосканированных кодов. Для решения этой задачи можно использовать готовое расширение для формирования УПД с маркировкой и вывода из оборота в 1С:Розница 2.3.
Независимо от того, какую версию программы вы используете, для корректной работы оптовой отгрузки маркированной продукции необходимо выполнить обязательные условия по настройке окружения:
Мы подробно проанализировали особенности реализации оптовых продаж в обеих версиях программы «1С:Розница».
Если перед вами стоит задача регулярной оптовой отгрузки маркированных товаров, настоятельно рекомендуем рассмотреть переход на редакцию «1С:Розница 3.0». Так как она базируется на коде УНФ, вы получите полностью поддерживаемый разработчиками функционал опта, ЭДО и маркировки, который будет оперативно обновляться вслед за частыми изменениями законодательства. Для переноса накопленных документов и справочников в новую базу вы можете изучить раздел с решениями по переносу данных в 1С:Розницу.
Использование сторонних расширений для «1С:Розница 2.3» — это рабочий, но временный компромисс. Он требует постоянного контроля со стороны штатного программиста или обслуживающей ИТ-компании, поскольку любое обновление конфигурации или форматов обмена со стороны ФНС может нарушить работу кастомного механизма передачи марок.