Как организовать продажу маркированного и немаркированного товара с одним штрихкодом от разных организаций в 1С:УТ

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

В процессе перехода на обязательную маркировку товаров «Честный Знак» многие компании сталкиваются с ситуацией, когда на складах одновременно присутствуют остатки немаркированной продукции и новые партии, уже имеющие коды DataMatrix. Ситуация осложняется, если торговля ведется от имени нескольких юридических лиц, одно из которых работает с маркировкой, а другое — нет, при этом штрихкод EAN-13 на упаковках совпадает. Проанализируем, как решить проблему «двоящейся» номенклатуры в 1С:Управление торговлей.

Суть проблемы: конфликт штрихкодов и GTIN

Рассмотрим стандартную логику работы 1С. Когда мы сканируем обычный штрихкод, система ищет его в регистре сведений ШтрихкодыНоменклатуры. Если один и тот же штрихкод привязан к двум разным карточкам (П1 — немаркированный, П2 — маркированный), программа выдаст диалоговое окно с предложением выбрать конкретную позицию. Это замедляет работу кассира и приводит к ошибкам учета.

Если же сканируется код маркировки DataMatrix, система извлекает из него GTIN. В типовом функционале 1С связь «GTIN — Номенклатура» должна быть однозначной. Если GTIN привязан только к П1, то при попытке продать товар от организации, торгующей П2, возникнет ошибка или подставится неверная позиция. Выясним, какими способами можно обойти это ограничение.

Решение 1: Использование расширения для управления логикой сканирования

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

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


&После("НайтиНоменклатуруПоШтрихкоду")
Процедура Расш_НайтиНоменклатуруПоШтрихкоду(Штрихкод, РезультатПоиска, ПараметрыПоиска)
    
    // Получаем текущую организацию из контекста документа
    ОрганизацияДокумента = ПараметрыПоиска.Организация;
    
    // Если найдено более одной позиции (П1 и П2 с общим ШК)
    Если РезультатПоиска.Количество() > 1 Тогда
        Для Каждого СтрокаПоиска Из РезультатПоиска Цикл
            // Проверяем соответствие через дополнительные реквизиты или настройки
            Если ТребуетсяПродажаМаркировки(ОрганизацияДокумента) Тогда
                Если СтрокаПоиска.Номенклатура.ТипНоменклатуры = Перечисления.ТипыНоменклатуры.ТоварМаркируемый Тогда
                    // Оставляем только маркированную позицию
                    ОставитьТолькоЭтуСтроку(РезультатПоиска, СтрокаПоиска);
                    Прервать;
                КонецЕсли;
            Иначе
                Если СтрокаПоиска.Номенклатура.ТипНоменклатуры <> Перечисления.ТипыНоменклатуры.ТоварМаркируемый Тогда
                    // Оставляем обычную позицию
                    ОставитьТолькоЭтуСтроку(РезультатПоиска, СтрокаПоиска);
                    Прервать;
                КонецЕсли;
            КонецЕсли;
        КонецЦикла;
    КонецЕсли;

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

Использование такого подхода позволяет полностью автоматизировать выбор. Программа «видит», что документ оформляется от ООО «Ромашка» (которая торгует марками), и автоматически подставляет П2, игнорируя П1.

Решение 2: Переход на характеристики номенклатуры

Проанализируем архитектурно более правильный метод, который не требует создания дублей в справочнике Номенклатура. Вместо двух карточек П1 и П2 мы используем одну карточку «Товар», но включаем использование характеристик.

  1. Создаем одну карточку номенклатуры.
  2. Включаем учет по характеристикам для данного вида номенклатуры.
  3. Создаем две характеристики: «Маркированный (склад)» и «Остатки (без маркировки)».
  4. В настройках интеграции с ИС МП (Честный Знак) указываем, что контроль кодов маркировки требуется только для конкретной характеристики.

При таком подходе штрихкод остается общим для карточки, но остатки разделяются в разрезе характеристик. Организация А будет продавать товар с характеристикой «Остатки», а Организация Б — с признаком маркировки. Это исключает путаницу в справочнике и упрощает формирование отчетов по себестоимости.

Решение 3: Настройка режима «Переходного периода»

Посмотрим на встроенные возможности 1С:Управление торговлей (начиная с версий 11.4.13 / 11.5). Разработчики предусмотрели сценарий, когда в одной базе ведется учет и маркированного, и обычного товара одной и той же позиции.

Для этого в настройках НСИ и админимтрирование — Настройка ИС МП можно установить дату начала обязательной маркировки для категории товаров. Если дата текущего документа меньше установленной или в настройках выбран режим «разрешить продажу без кодов для остатков», система позволит продавать одну и ту же номенклатуру (одну карточку) как с кодом маркировки, так и без него. Это избавляет от необходимости плодить П1 и П2, если разделение на разные организации не является жестким требованием финансового учета.

Решение 4: Использование механизма «Интеркампани»

Если организации юридически связаны (один холдинг), рассмотрим вариант использования схемы Intercompany. В этом случае:

Важные замечания по складскому учету

При использовании двух позиций (П1 и П2) критически важно следить за Группами финансового учета (ГФО). Если вы случайно оформите приход маркированного товара на карточку П1 (немаркированный), вы не сможете корректно отразить выбытие через «Честный Знак». Мы рекомендуем использовать раздельные места хранения (склады или ячейки) или жесткую привязку через расширение, описанное в первом решении, чтобы исключить пересортицу в разрезе номенклатуры, которая в 1С:УТ считается разными товарами, даже если у них совпадает название.

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

← На главную