Найти в Дзене
Просто <> "1С"

API Национальный каталог / 1С УТ10.3 Обмен по API c НК(ЧЗ) / Заказ кодов маркировки

В дополнение к https://dzen.ru/a/Z7VnHTb5VCZffuwB от 12.03.2025 Задача: Задача кратко если изложить то поставлена так: 1. Автоматизировать процесс создания технических карточек на остатки номенклатуры в национальном каталоге (далее по тексту "НК"). Источник Номенклатуры таблица или выборка запроса. Выполнено (с горем на пополам запросы на создание тех. карточки долетаю до НК). 2. Проверять статус карточек в НК, осуществлять подпись тех что успешно прошли модерацию. 3. Заказывать коды маркировки по присвоенным GTIN на карточки. 4. Вводить в "оборот" коды маркировки обклеенной продукции. 3. Заказывать коды маркировки по присвоенным GTIN на карточки. С "Национальным каталогом" разобрались теперь нужно заказать кода маркировки (КМ) по нашим карточкам. Для заказа кодов воспользуемся методом "/api/v3/order?omsId=" из API СУЗ 3.0 . Методом проб и ошибок, информации из методички "API СУЗ 3.0" хочу обратить внимание на следующее: И так , определяем номенклатуру по остаткам любым удобным для

В дополнение к https://dzen.ru/a/Z7VnHTb5VCZffuwB

от 12.03.2025

Задача: Задача кратко если изложить то поставлена так:

1. Автоматизировать процесс создания технических карточек на остатки номенклатуры в национальном каталоге (далее по тексту "НК"). Источник Номенклатуры таблица или выборка запроса. Выполнено (с горем на пополам запросы на создание тех. карточки долетаю до НК).

2. Проверять статус карточек в НК, осуществлять подпись тех что успешно прошли модерацию.

3. Заказывать коды маркировки по присвоенным GTIN на карточки.

4. Вводить в "оборот" коды маркировки обклеенной продукции.

3. Заказывать коды маркировки по присвоенным GTIN на карточки.

С "Национальным каталогом" разобрались теперь нужно заказать кода маркировки (КМ) по нашим карточкам. Для заказа кодов воспользуемся методом "/api/v3/order?omsId=" из API СУЗ 3.0 .

Методом проб и ошибок, информации из методички "API СУЗ 3.0" хочу обратить внимание на следующее:

  • В одном заказе не более 10 GTIN
  • На каждый GTIN не более 150.000 КМ (или 2 ляма если в заказе 1 GTIN)
  • Одновременно может быть активными не более 100 заказаов (активным считается заказ если в нём имеются не выгруженные КМ, т.е пока не получишь все кода что заказал ещё заказать не получится).

И так , определяем номенклатуру по остаткам любым удобным для Вас способом.

Я интегрировал работу по заказу КМ в документ "Инвентаризация":

Описывание кода работы с номенклатурой и определения её GTIN по справочнику я пропущу это не интересно банальные Циклы в Циклах. Главное само формирование заказа, его подписание и отправка в ЧЗ.

Скажу что я сравниваю номенклатуру со своим справочником, если GTIN есть то делаю заказ КМ на остаток. Набираю 20 заказов, потом по ним получаю кода и заново создаю "пачку" из 20 заказов. Кода хранятся тут же в инвентаризации и записываются в "Пул кодов маркировки" штатными средствами.

На каждые 10 GTIN создаю заказ:

ПакетGTIN - это таблица с номенклатурой , GTIN и требуемым количеством КМ.

Omsld - это некий индификатор в системе СУЗ , создается в ЧЗ

Вон он в правом вверхнем углу. Вид типа "5c456р98-cdу5-4e50-8сс0-e4e3af2a520c"
Вон он в правом вверхнем углу. Вид типа "5c456р98-cdу5-4e50-8сс0-e4e3af2a520c"

Токен - это токен текущего соединения с СУЗ

Получаю вот такой функцией собранной по крупицам информации из интернета:

-3
-4
-5

ИндентификаторСУЗ берётся/создается там-же где и OmsID смотри таблицу "устройства" , колонка "Идентификатор соединения".

Ф-я Формирование и отправка заказа по 10 GTIN:

-6
-7
-8
-9

Описание всех свойств в JSON есть в методички API СУЗ , у меня сформировано для маркировки остатков легкой промышленности. Косяк есть с GTIN мне приходится добавлять "0" в начало. Почему то от ЧЗ GTIN приходят как Число , без первого нуля.

Ф-я получения откреплённой подписи подписи "

-10
-11

Функция "ОтправитьПакетGTIN_в_ЧЗ возвращает нам ID нашего заказа в ЧЗ, обязательно храним его (я создал в инвентаризации реквизит таблицу и записываю их туда). ID нужен будет для получения КМ или повторного получения КМ.

Получение кодов из заказа:

Формируем обычный GET запрос в ЧЗ:

-12

0%4 - это GTIN, ноль добавляю из за косяка.

В ОтветСтруктура.codes будет массив КМ. Profit!

Повторный заказ КМ (только для кодов полученных по API):

-13