Работа с маркированной табачной продукцией в 1С:Розница требует от технического специалиста и пользователя глубокого понимания механизмов взаимодействия программы с государственной информационной системой мониторинга товаров (ГИС МТ). Часто возникают ситуации, когда при попытке проверить поступившую продукцию система выдает ошибки HTTP 400 или 404, а процесс приемки блоков и продажи пачек превращается в запутанный квест. В этой статье мы подробно разберем, как устранить программные сбои, правильно настроить единицы измерения и организовать учет сигарет по максимальным розничным ценам (МРЦ).
Ошибки Код состояния HTTP: 400 и 404 при нажатии на ссылку Проверить табачную продукцию чаще всего связаны с тем, что «Честный ЗНАК» перешел на использование новой версии V3 API, в то время как старые релизы конфигурации продолжают обращаться к устаревшим эндпоинтам. Проанализируем техническую причину: система пытается запросить данные об агрегации кодов маркировки по адресу, который больше не поддерживается сервером ЦРПТ.
Если обновление конфигурации до актуального релиза по каким-то причинам невозможно, мы можем прибегнуть к корректировке программного кода через расширение. Разберем, какой метод требует вмешательства. В общем модуле ИнтерфейсМОТП необходимо найти процедуру ЗапроситьДанныеОбАгрегацииКодовМаркировки(). Посмотрим на пример изменения строки запроса:
// Старый вариант запроса (может вызывать 404)
URLЗапроса = СтрШаблон("private-office-api/private/v2/cis/aggregated?cis=%1", КодировкаURL);
// Новый вариант запроса для API V3
URLЗапроса = СтрШаблон("api/v3/true-api/cises/aggregated/list?codes=%1", КодировкаURL);
Выясним причину возникновения ошибки 400: она часто связана с неправильным кодированием спецсимволов в строке DataMatrix. При передаче кода маркировки, содержащего символ / или =, сервер воспринимает их как элементы структуры URL. Чтобы этого избежать, необходимо убедиться, что используется функция КодироватьСтроку с параметром СпособКодированияСтроки.КодировкаURL. Также стоит проверить наличие патчей от 1С, в частности патча EF_00_00312093_2, который специально выпускался для решения проблем с символом / в кодах блоков.
Одной из главных задач в розничной торговле является сопоставление блоков сигарет, указанных в накладной (УПД), с пачками, которые фактически лежат на полке. Рассмотрим, как настроить систему, чтобы при поступлении 1 блока на остаток автоматически падало 10 пачек. Для этого в программе 1С:Розница необходимо использовать механизм упаковок.
EAN-13 пачки и EAN-13 блока (обычно они разные и нанесены типографским способом).Теперь, когда мы получаем электронный УПД через ЭДО, система увидит единицу измерения «Блок» (БЛК). При сопоставлении номенклатуры 1С поймет, что пришел 1 блок, и благодаря коэффициенту оприходует 10 пачек. Это позволит корректно списывать остатки: при продаже через РМК сканируется пачка — списывается 1 единица, сканируется блок — списывается 10 единиц. Для предварительной привязки кодов при поступлении можно использовать обработку для сканирования и сопоставления табачных марок с номенклатурой.
Ситуация, когда одна и та же марка сигарет поступает с разной максимальной розничной ценой (МРЦ), является стандартной для табачного рынка. Разберем, как организовать учет так, чтобы цена продажи подтягивалась автоматически. Существует два основных подхода:
Вариант 1: Использование характеристик. Мы включаем учет по характеристикам для вида номенклатуры. Каждая характеристика будет соответствовать конкретной цене МРЦ (например, «МРЦ 150», «МРЦ 158»). Для каждой характеристики назначается свой штрихкод и своя розничная цена. Плюс этого метода в том, что остатки видны в разрезе цен. Минус — необходимость вручную плодить характеристики при каждом изменении цен производителем.
Вариант 2: Автоматическое определение по коду маркировки. Проанализируем современный функционал 1С. В коде маркировки DataMatrix на пачке сигарет уже зашита информация о МРЦ. В настройках интеграции с ИС МП (раздел «Настройки сканирования») можно включить опцию, позволяющую системе считывать цену напрямую из марки. Рассмотрим, как это работает в РМК: кассир сканирует марку, 1С «выкусывает» цену из кода и подставляет её в чек, даже если в базе цена задана иначе. Это наиболее прогрессивный метод, исключающий ошибки персонала.
Многие пользователи задаются вопросом: нужно ли при приемке сканировать каждую пачку, если пришел блок? Разберем этот момент. Согласно логике агрегации, код блока содержит в себе информацию о кодах всех пачек, входящих в него. Поэтому при проверке поступившей продукции достаточно отсканировать только код блока. Система 1С автоматически запросит данные в Честном ЗНАКе и «узнает» состав этого блока. Если информация в системе мониторинга корректна, все пачки будут считаться проверенными.
Проанализируем процесс продажи в РМК:
DataMatrix на дне пачки. Система определит товар и проверит марку.Если при сканировании марки пачки возникает ошибка «Данные по коду не найдены», выполните следующие действия:
Таким образом, для стабильной работы с табаком в 1С:Розница необходимо поддерживать конфигурацию в актуальном состоянии, правильно настроить наборы упаковок для пересчета блоков в пачки и использовать встроенные механизмы работы с МРЦ. Совместная работа технических специалистов и бухгалтерии позволит избежать штрафов и обеспечить высокую скорость обслуживания покупателей на кассе.