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

1С - Устранение ошибки 410. "Устаревшее API", "POST /api/v3/facade/cis/cis_list". Платформа УТ 10.3 (10.12.2024)

В рамках проводимых технических работ на промышленном контуре https://markirovka.crpt.ru метод POST /api/v4/facade/cis/cis_list был отключен. Теперь альтернативой методу является метод TRUE API. В данной статье описан краткий метод доработки конфигурации УТ 10.3. Может кто-нибудь из молодых программистов 1с подчеркнёт для себя что-то нужное. Так вот. Негодованию пользователей УТ 10.3 нет предела, поскольку при выполнении запроса api/v3/facade/cis/cis_list возникает ошибка:
 Код состояния HTTP: 410.
Текст ошибки: {
  "code": 410,
  "error_message": "Устаревшее API",
  "method": "POST /api/v3/facade/cis/cis_list"
}. Данный запрос используется при проверке кода маркировки через модуль обмена с ИСМП. В рамках проводимых технических работ на промышленном контуре https://markirovka.crpt.ru метод POST /api/v4/facade/cis/cis_list был отключен. Теперь альтернативой методу является метод TRUE API. Пройдя отладчиком в общем модуле "ИнтерфейсИСМП" найдена функция "СтатусыКодовМаркировкиПакетно" в

В рамках проводимых технических работ на промышленном контуре https://markirovka.crpt.ru метод POST /api/v4/facade/cis/cis_list был отключен. Теперь альтернативой методу является метод TRUE API. В данной статье описан краткий метод доработки конфигурации УТ 10.3.

Может кто-нибудь из молодых программистов 1с подчеркнёт для себя что-то нужное.

Так вот. Негодованию пользователей УТ 10.3 нет предела, поскольку при выполнении запроса api/v3/facade/cis/cis_list возникает ошибка:
 Код состояния HTTP: 410.
Текст ошибки: {
  "code": 410,
  "error_message": "Устаревшее API",
  "method": "POST /api/v3/facade/cis/cis_list"
}.

Данный запрос используется при проверке кода маркировки через модуль обмена с ИСМП.

В рамках проводимых технических работ на промышленном контуре https://markirovka.crpt.ru метод POST /api/v4/facade/cis/cis_list был отключен. Теперь альтернативой методу является метод TRUE API.

Пройдя отладчиком в общем модуле "ИнтерфейсИСМП" найдена функция "СтатусыКодовМаркировкиПакетно" в которой формируется URLЗапрос.

Несколько штрихов в коде (которые я подсмотрел в УТ 11) и получилось получать ответ от ЧЗ.

Штришки в коде:

Для Каждого КлючИЗначениеПараметровЗапроса Из ПараметрыЗапросаПоВидамПродукции Цикл

        ВидПродукции     = КлючИЗначениеПараметровЗапроса.Ключ;
        ПараметрыЗапроса = КлючИЗначениеПараметровЗапроса.Значение;

        //{Было 
        //URLЗапроса = СтрШаблон(
        //    "api/v3/facade/cis/cis_list%1",
        //    ПараметрыЗапроса(ПараметрыЗапроса.ПараметрыURL));
        //}

//{Стало
      URLЗапроса = СтрШаблон(
             "
api/v3/true-api/cises/info%1",                 
            ПараметрыЗапроса(ПараметрыЗапроса.ПараметрыURL));
       // }

        // Было { 
        //ДанныеЗапроса = Новый Структура();
        //    ДанныеЗапроса.Вставить("cises", ПараметрыЗапроса.КодыМаркировки);
        //}

    //{Стало   - Взял из УТ 11
    ОтсортированныеКодыМаркировки = Новый СписокЗначений;
   ОтсортированныеКодыМаркировки.ЗагрузитьЗначения(ПараметрыЗа проса.КодыМаркировки);
    ОтсортированныеКодыМаркировки.СортироватьПоЗначению();

// }

   //{Было
  //РезультатЗапроса = ИнтеграцияИСМП.ОтправитьДанныеВСервис(
//    URLЗапроса,
  //    ДанныеЗапроса,
  //    КлючСессии,
 //    "POST",
//  ИнтерфейсИСМПКлиентСервер.ПараметрыОтправкиHTTPЗапросов(ВидПродукции)); 
//}


 // { Стало       
            РезультатЗапроса = ИнтеграцияИСМП.ОтправитьДанныеВСервис(
            URLЗапроса,
ОтсортированныеКодыМаркировки.ВыгрузитьЗначения(),
            КлючСессии,
            "POST",
  ИнтерфейсИСМПКлиентСервер.ПараметрыОтправкиHTTPЗапросов(ВидПродукции,
Истина));
        //}    


И ещё вот в этом цикле в этой же Функции:

Для Каждого КлючИЗначение Из ДанныеОбработки[0] Цикл

// Теперь от ЧЗ приходит массив, [0] - в нём соответствие в котором все данные.
СтатусыПоЗначениямДляПоиска.Вставить(
КлючИЗначение.Значение["cis"], // Было "КлючИЗначение.Ключ" 
ИнтерфейсИСМПСлужебный.ИнициализироватьПараметрыКодаМаркировки(
                                КлючИЗначение.Значение, ВидПродукции, Ложь));
КонецЦикла;

Для моих нужд данной корректировки вполне хватило.

В результате:

-2

СтажРаботыПрограммистом1с  =  Строка(0,5) + "  лет"