Что такое ОСУ в Честном Знаке? Я тоже не знал до поры до времени, пока ко мне не обратился клиент с просьбой добавить в выгрузку Контур GTIN. Я взялся за задачу, даже не вникая в предметную область.
И буквально за три оплаченных клиентом часа реализовал заказ, абсолютно технически правильно. ГТИН добавлялся, но …
Проблема оказалась гораздо глубже, чем виделась на первый взгляд.
ОСУ — это объемно-сортовой учет, ЧЗ вводит его как прототип маркировки, в этом случае в УПД передаются не марки, а GTIN-ы, специальные коды товаров.
И вот тут то некомпетентность, недалекость методистов ЧЗ проявила себя во всей красе.
Чтобы понять, подлежит ли товар маркировке и какой, нужна комбинация кодов ТН ВЭД и ОКПД2.
Сочетания конкретных значений можно проверить на сайте ЧЗ.
По товарным категориям можно посмотреть и диапазоны сочетаний на сайте ЧЗ в разделе «Товары, подлежащие маркировки». Например, по машинным маслам:

Но общего списка сочетаний нет, ЧЗ не озаботился тем, чтобы его создать, создавайте список на каждом предприятии сами, нам, дворянам, это ни к чему.
Нужно создать какую-то таблицу правил, чтобы понимать, на определенную дату определенный товар должен выгружаться как маркируемый, по ОСУ (через ГТИНы) или классически — через марки.
Но это еще не все. Ошибка в ЭДО возникает, если:
-
товар должен выгружаться через марки, а выгружается через ГТИН
-
товар должен выгружаться через ГТИН, а выгружается через марки
-
товар должен выгружаться без маркировки, а выгружается через ГТИН или через марки
Хотя казалось бы, просто игнорируй лишнюю информацию. Но нет, надо добиваться никому не нужной педантичности, которая обходится государству в миллиарды рублей. Да еще и это не желание составлять таблицы, что как кодировать. Внутри у ЧЗ они есть, наружу выдавать не хотят.
С самого начала «40 копеек за марку» было хорошей шуткой. Сейчас мы продолжаем наблюдать, как сон разума ЧЗ рождает кошмары маркировки.
Но чтобы огульно не критиковать, поделюсь опытом. Я создал таблицу правил, заполнил ее вручную, выглядит так:

Если у товара стоит в карточке вид маркировки, а правил не нашлось, то возвращается вид маркировки «Марки», он наиболее часто встречающийся.
Если у товара дата накладной после срока введения ОСУ, то выгружается в формате «ГТИН».
Если у товара дата накладной после срока введения обязательной маркировки, то выгружается в формате «Марки».
В остальных случаях возвращается «Без маркировки».
У клиента была древняя УТ 10.3 + Контур. На реализацию функционала определения вида маркировки у клиента мне понадобилось 5 часов. А сколько сейчас такого по всей России!? Интересно, а как в типовых конфигурациях решается вопрос ОСУ или «примерно никак«?
ссылка на оригинал статьи https://habr.com/ru/articles/1058034/