Страница 8 из 8

Класс для API ГСЦМ «Честный ЗНАК»

Добавлено: 31 Август 2024, 7:30
Игорь Столяров
Привет всем !

Класс для разрешительной проверки КМ (кодов маркировки) через API ГСЦМ "Честный знак".
Поддержка целевой реализации в ПО ЛМ "Честный Знак" (обязательна с 01.09.2025 г.)
Полный боевой комплект с описанием интерфейса API и примерами.

Благодарность за помощь на старте проекта: FinsoftRZ и Alex412.
Любые замечания, исправления и дополнения - приветствуются !
----------------------------------------------------------------------------------------------------
Рекомендуем использовать актуальные версии классов LibCURL и cJSON.

2.jpg

Класс для API ГСЦМ «Честный ЗНАК»

Добавлено: 10 Ноябрь 2025, 17:30
Игорь Столяров
finsoftrz писал(а): 10 Ноябрь 2025, 15:40 А этой статье можно доверять?
Таки да ! TrueMark.ru - это ресурс ГСЦМ "Честный ЗНАК", только с той стороны, что работает с производителями и импортёрами.
Конкретно для ОСУ мы тег передаём аналогично (но Вас опасная реализация частного случая показана):

Код: Выделить всё

  If xMyXML.Opened('НомСредИдентТов')    ! Формируем код ОСУ (объёмно сортового учёта)
     xMyXML.Closed('НомУпак','02' & |
                             Format(КОД_GTIN,@n014) & |
                             '37' & |
                             Clip(Left(Choose(КОЛИЧЕСТВО % 1 = 0,КОЛИЧЕСТВО,Int(КОЛИЧЕСТВО) + 1))) )  ! Округление дроби вверх до 1
     xMyXML.EndTag('НомСредИдентТов')
  end
Это пример из Класс для API XML «На основе штатного CpXML»

Класс для API ГСЦМ «Честный ЗНАК»

Добавлено: 10 Ноябрь 2025, 17:51
finsoftrz
В чем опасность? Не встречал, чтобы количество маркированных товаров было дробным. Бывает, когда отгружают в литрах/кг. В этом случае количество марок указывается отдельно.

Класс для API ГСЦМ «Честный ЗНАК»

Добавлено: 10 Ноябрь 2025, 18:05
Игорь Столяров
finsoftrz писал(а): 10 Ноябрь 2025, 17:51 В чем опасность?
Ну у Вас как бы предполагается, что Len(Tov:Shtrih) всегда 13 и GTIN всегда начинается с "0". Не факт. Например сигареты.
finsoftrz писал(а): 10 Ноябрь 2025, 17:51 Не встречал, чтобы количество маркированных товаров было дробным
И я не встречал. Но пользователь может указать или после какой-нибудь частичной отгрузки образуется остаточек. :D

Класс для API ГСЦМ «Честный ЗНАК»

Добавлено: 10 Ноябрь 2025, 18:36
finsoftrz
У нас gtin это всегда еан13, дополненный нулем спереди до 14 знаков. С другими вариантами не сталкивался. Столкнемся, будем думать. Видел где-то, что для товара gtin указывался отдельно от шк. Это будет довольно неудобно для работы, так как тогда у товара может быть как несколько шк, так и несколько gtin.
Количество у нас контролируется в зависимости от типа товара (штучный или весовой/мерный). У штучного товара не может быть никаких дробных остаточков. Вот отгружать могут в литрах, когда цена задается на литр. В этом случае рядом с количеством в литрах в накладной можно поставить дополнительно количество целых бутылок или упаковок. А если не поставили, то считается как 1.

Класс для API ГСЦМ «Честный ЗНАК»

Добавлено: 10 Ноябрь 2025, 19:37
Игорь Столяров
finsoftrz писал(а): 10 Ноябрь 2025, 18:36 Видел где-то, что для товара gtin указывался отдельно от шк.
Правильно говоря - это вообще разные коды. Тут можно кратко вспомнить историю.

Когда вводили GTIN то наши деятели успели даже открыть совместно российско-немчиновое предприятие
для выдачи логистических GTIN "всем тёмным росиянам". Кажется хотели недорого. По 3000 рубликов за код.
Но поднялась волна народного гнева, которая дошла до Думы. Тогда Минторге отложили мечту о домике в Израиле
и сказали что пошутили. GTIN - это тот же штрих-код. 0 + EAN13 для штучного товара и EAN14 для фасованного.

Это я к чему рассказал ? Например, на коробку с мороженным наносится упаковочный КМ длиной 60 символов,
который содержит 14-значный GTIN и первая цифря в нём совсем не 0 ... 🤷‍♀️