|
|
1С и API ЧЗ
wolk, Krab_roman, d4rkmesa, LLeonidov, MWWRuza, phabeZ, 2S, Timon1405, МаленькийВопросик, Crusher, timurhv, Fish, okmail, Джордж1, Hawk_1c, privetik, alex_kld_2024, Хряк, oleg_km, Шаграм, vsy, pablo_escobar, JohnGilbert, ДенисСмирнов, reloc, Михаил_, e053nk, BayJay, boozin, craxx, viraboy, СеньорПрограммист, ProxyInspector, LienXo, formista2000, ChMikle, nvm220380, CaIIIka, Greeen, trad, ОператорПК, poludennykh, Лодырь, Irbis, СвинТуз, laeg, zenik, K1RSAN, kostik79, ADirks, Garykom, Табуретко, San787, Участковый, sxfoxi, b_ru, Silgis, DemonShinji2, Prog_man, Builder, crasler, pasha_d, braynt, Bad_Aleks, Чужой, maxar, s_trikozin, бомболюк, ads55, spiller26, RomanYS, mishaPH, lubitelxml, zva, takefive, Zamestas, Uragan_a, mortal, H A D G E H O G s, denk32, Anton1307, nshrek, Fregat, lxndr, kir-g, sikuda, paramedic, Pprog151713, banco, nick86, PuhUfa
| ☑ |
|
0
ChMikle
07.11.25
✎
09:46
|
Добрый день. Кто-нибудь не реализовывал следующую задачу. По API из ЛК ЧЗ выбирать товар с подходящим сроком годности и формировать соответствующий документ вывод из оборота, для дальнейшего его вывода ?
|
|
|
1
MWWRuza
гуру
07.11.25
✎
11:17
|
Там не все так просто...
По API можно получить сроки годности, но по списку марок, вообще нет проблем. На вход этого запроса нужно передать этот список. А вот тут проблема... Где этот список взять?
ЧЗ не отдает список марок по API... Там только через "выгрузку" можно получить. Тоесть, по API мы заказываем выгрузку по нужным нам критериям, и в ответ, через какое-то время(как заблагорассудится ЧЗ), прилетает сформированный файл-выгрузка, с запрошенными данными. С ним уже можем работать, его загружать и брать из него нужные нам данные. Тоесть, это не совсем по API получается.
Но, в принципе, можно реализовать.
|
|
|
2
mishaPH
07.11.25
✎
11:22
|
(1) ну список марок же должен быть известен. вы же товар откуда то получали
|
|
|
3
ChMikle
07.11.25
✎
11:27
|
(1) суть в том , чтобы автоматически выводить из оборота просроченную продукцию
|
|
|
4
Табуретко
07.11.25
✎
11:41
|
|
|
|
5
timurhv
07.11.25
✎
12:49
|
(4) осталось вернуться в 2021 год, чтобы метод работал
|
|
|
6
timurhv
07.11.25
✎
12:54
|
5.1.1. Метод получения информации о списке КИ по заданным фильтрам
/api/v4/true-api/cises/search
Можно передать в параметрах отбор по дате производства, GTIN и тд, но дату окончания срока годности - нет.
|
|
|
7
ChMikle
07.11.25
✎
14:14
|
Печально
|
|
|
8
Маленький Вопросик
07.11.25
✎
14:34
|
Товарищи подскажите, здесь какой токен можно использовать?
&НаКлиенте
Функция СвойствоКМ(ТокенДоступа)
ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL(Неопределено, Новый СертификатыУдостоверяющихЦентровОС());
HTTPСоединение = Новый HTTPСоединение("markirovka.crpt.ru",443,,,,60,ЗащищенноеСоединение);
ЗаголовокHTTP = Новый Соответствие();
ЗаголовокHTTP.Вставить("Content-Type", "application/json; charset=UTF-8");
ЗаголовокHTTP.Вставить("Accept", "application/json");
ЗаголовокHTTP.Вставить("Accept-Charset", "utf-8");
ЗаголовокHTTP.Вставить("Authorization", "Bearer " + ТокенДоступа);
ПараметрыURL = Новый Массив; ///Отбор запроса
ПараметрыURL.Добавить("pg=milk"); ///Группа - молочная продукция
ПараметрыURL.Добавить("cisStatus=EMITTED"); ///Статус - Эмитирован.Выпущен
ПараметрыURL.Добавить("limit=20"); ////Лимит списка - 20
///api/v3/true-api/cises/listV2?pg=milk&cisStatus=EMITTED&limit=999
URLЗапроса = СтрШаблон("/api/v3/true-api/cises/listV2?%1",СтрСоединить(ПараметрыURL, "&"));
HTTPЗапрос = Новый HTTPЗапрос(URLЗапроса, ЗаголовокHTTP);
Ответ = HTTPСоединение.Получить(HTTPЗапрос);
ИДДок = Ответ.ПолучитьТелоКакСтроку();
Чтение = Новый ЧтениеJSON;
Чтение.УстановитьСтроку(ИДДок);
РезультатРазбора = ПрочитатьJSON(Чтение, ложь);
Возврат РезультатРазбора;
КонецФункции
|
|
|
9
ProxyInspector
07.11.25
✎
14:39
|
(6) Получи список марок с датой производства ранее, чем несколько месяцев, а потом по этому списку получи список марок, у которых истек срок годности. Опять же через ЧЗ
|
|
|
10
timurhv
07.11.25
✎
14:49
|
(9) В больших организациях не подойдет, надо будет еще отборы накладывать, т.к. можно получить не больше 10млн марок, поэтому:
+ productGroups (отобрать группы товаров, по которым просроченным марки могут висеть)
+ status (добавить без выбывших)
Если марок очень много, то тогда только отбирать дополнительно по всем датам производства в цикле (по периодам в 1 мес, 3 мес)
2024-01-01 - 2024-01-31
...
2024-09-01 - 2024-12-31
и тд
|
|
|
11
MWWRuza
гуру
07.11.25
✎
16:25
|
Это все не пойдет.
Общением с ТС выяснилось, что речь идет о молочке.
А она учитывается по ОСУ.
Нет у него в ЧЗ марок по интересующей ТГ на нем. Вообще.
Они все на производителе, которым он не является.
Списывать просто нечего.
Тут, только если сканировать фактически имеющиеся в наличии(можно с помощью ТСД, если есть 2D). И по этому списку уже проверять сроки годности. Но, делать этого ни кто не будет, трудозатраты не сопоставимы с результатом.
(10) Да, именно так. Для этого выгрузку и придумали.
А так, да.... Сейчас посморел, в V4 появились методы запроса марок. Но, по конкретному GTIN. Но, все это сработает только для ВЛАДЕЛЬЦА марок. Что в случае ОСУ, = производителю...
|
|
|
12
MWWRuza
гуру
07.11.25
✎
16:54
|
(8) Товарищи подскажите, здесь какой токен можно использовать?
А в чем сомнения? Такой-же как и для всего TrueAPI, или "единый в формате UUID", или "длинный" в формате JWT(до 01.03.2026).
Только если посмотреть на это:
ПараметрыURL.Добавить("pg=milk"); ///Группа - молочная продукция
то даже, если метод и отработает, что тоже ? - там они отключали устаревшие методы, то марок вы не увидите, если конечно вы не производитель, который их сам в СУЗ заказал, нанес и ввел в оборот.
|
|