Форум OlegON > Программы и оборудование для автоматизации торговли > Маркировка

Ручное экранирование символов марки для подготовки запроса в ЧЗ : Маркировка

13.12.2024 12:23


08.10.2024 18:40
У меня попалась вот такая марка

Код:
0104604926002788215Re/)k93g/lA

Я не подумал заранее об экранировании спецсимволов, и мне ЧЗ вернул такой ответ

Цитата:
{"code":0,"description":"ok","codes":[{"cis":" 0104604926002788215Re/)\u001D93g/lA","valid":false,"verified":false,"message":"cannot parse code. AiGroupNotSupportedException: AI group [+] is not supported","found":false,"realizable":false,"utilised":false,"isBlocked":false,"errorCode":8}],"reqId":"b8f345c4-4ca6-46ee-8863-1e1ae38868cd","reqTimestamp":1728400021110}

Сегодня заменил пару символов вот так

Код:
aa := STRTRAN( aa, '"', '\u0022' )
aa := STRTRAN( aa, '/', '\u002F' )

И всё заработало! Пришёл нормальный ответ

Цитата:
{"code":0,"description":"ok","codes":[{"cis":"0104604926002788215Re/)k\u001D93g/lA","valid":true,"printView":"0104604926002788215Re/)k","gtin":"04604926002788","groupIds":[8],"verified":true,"found":true,"realizable":false,"utilised":true,"isBlocked":false,"expireDate":"2024-11-30T00:00:00.000Z","productionDate":"2024-06-01T00:00:00.000Z","isOwner":true,"errorCode":0,"isTracking":false,"sold":true,"packageType":"UNIT","producerInn":"1650303854","grayZone":false}],"reqId":"e0afa678-afe1-4ad1-ba2a-1d1629f59be1","reqTimestamp":1728400366194}

А какие ещё символы я забыл экранировать, пожалуйста предоставьте весь список ! Я же не могу проверить все марки руками
08.10.2024 18:53
тут посмотри тему
08.10.2024 18:56
Фрагмент из одной из моих обработок:

Результат = СокрЛП(Объект);
Результат = СтрЗаменить(Результат, "", "");
Результат = СтрЗаменить(Результат, "/", "\/");
Результат = СтрЗаменить(Результат, """", """");
// Результат = СтрЗаменить(Результат, "'", "\'");
Результат = СтрЗаменить(Результат, Симв(13), "\r");
Результат = СтрЗаменить(Результат, СимволТабуляции,"\t");
Результат = СтрЗаменить(Результат, Симв(8), "\b");
Результат = СтрЗаменить(Результат, Симв(10), "\n");
Результат = СтрЗаменить(Результат, Симв(12), "\f");
Результат = СтрЗаменить(Результат, Симв(29), "\u001d");
09.10.2024 10:58
Вроде бы достаточно:
\u0022
\u001d

У меня так...
09.10.2024 11:35
Вполне возможно.
Просто это я делал еще давно, когда только маркировка пошла, работает.:
Цитата:
MWWRuza Фрагмент из одной из моих обработок:
Переделывать не стал, как в том старом анекдоте про сына программиста и солнце - "Работает? Ну, и ничего не трогай!!!"
Часовой пояс GMT +3, время: 12:23.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.