При работе с маркированной табачной продукцией пользователи часто сталкиваются с ситуацией, когда при сканировании марки система автоматически подставляет карточку номенклатуры с неактуальной ценой (старой МРЦ). Давайте разберем, почему это происходит и как настроить систему для корректной работы.
Основная причина заключается в механизме поиска товара в 1С. Когда вы сканируете DataMatrix (марку), система ищет соответствие в своих внутренних регистрах (например, АкцизныеМарки или ШтрихкодыУпаковокТоваров). Если ранее марка или штрихкод EAN-13 были привязаны к определенной карточке номенклатуры, 1С при сканировании будет отдавать приоритет именно этой записи.
Если вы создаете новую карточку номенклатуры для каждой новой цены, но не производите корректную «отвязку» старого штрихкода, возникает конфликт: система находит первую подходящую запись в справочнике и подставляет её в документ продажи, что приводит к ошибкам в ценообразовании.
Вместо того чтобы плодить десятки дублей номенклатуры с разными ценами, рассмотрим более правильный подход — использование характеристик. Этот метод является стандартом для работы с табаком в 1С:Розница.
При такой настройке при сканировании марки система будет идентифицировать не просто товар, а конкретную связку Номенклатура + Характеристика, что исключает путаницу в ценах.
Если вы не готовы перейти на характеристики, необходимо строго следовать регламенту работы со штрихкодами:
АкцизныеМарки. Найдите там запись, где ваша марка связана с ошибочной номенклатурой, и удалите её или исправьте ссылку на верную позицию.Разберем, почему важно выполнять корректную приемку. Если вы используете прямой акцепт (ЭДО), информация о марках поступает в систему вместе с документами от поставщика. 1С автоматически понимает, к какой партии и по какой цене пришел товар.
Если вы не используете ЭДО, а просто создаете товары «вручную», система теряет связь между маркой и актуальной номенклатурой. Рассмотрим пример кода, который может быть полезен при анализе привязки марки в коде конфигурации:
// Пример проверки привязки марки в регистре
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| АкцизныеМарки.Номенклатура,
| АкцизныеМарки.Марка
|ИЗ
| РегистрСведений.АкцизныеМарки КАК АкцизныеМарки
|ГДЕ
| АкцизныеМарки.Марка = &Марка";
Запрос.УстановитьПараметр("Марка", ТекущаяМарка);
Результат = Запрос.Выполнить();
Если вы видите, что результат запроса возвращает не ту номенклатуру, которую ожидаете — это прямое подтверждение того, что в базе накоплены некорректные записи, требующие ручной очистки.
Чтобы работа с МРЦ была стабильной, проанализируем следующие шаги:
Соблюдение этих рекомендаций позволит вам избежать «закрашивания» позиций красным цветом в РМК и обеспечит корректную передачу данных в Честный знак через ОФД.