|
Обмен с честным знаком. Код не обнаружен. | ☑ | ||
---|---|---|---|---|
0
Valery
25.10.22
✎
14:56
|
Производим отгрузку товара контрагенту. Оформили документ реализация. подобрали маркированный товар. Оформили документ отгрузка товара. Производим передачу данных. Получаем ошибку "06: Код 0104620079060994215nA3(lCMLC8Rb не найден в базе данных.". Заходу в честный знак. Товар с данным кодом есть. Подобрали в накладную товар с другим кодом. Та же ошибка. Сравнил в ЧЗ документы выгруженные ранее без ошибок и текущий. В отличие от ранее выгруженных, отсутствует наименование товара. Это наверное не критично. главное коды. Почему то не находит их.
|
|||
1
demONx6
06.04.23
✎
05:43
|
Здравствуйте. Нашли причину?
|
|||
2
lenkavovka
06.04.23
✎
10:23
|
Откуда код? Со сканера, или документа ЭДО?
Ищите неотображаемые символы, некоторые сканеры на русской раскладке клавиатуры "портят" часть кода. Здесь всё просто: или некорректно передаёте идентификатор, или такого не знает Честный знак. Вероятнее всего первый случай, но и во втором не проблема - пишите в поддержку ЧЗ, они быстро отвечают. |
|||
3
Salimbek
06.04.23
✎
12:07
|
(1) Без фотки кода не получится. Тот код, что в (0) проверяю, пишет, что {"status": "not_found_dm"}. Так что или сканер глючно читает, или Код "левый". Но без марки ничего точнее не скажешь.
|
|||
4
MWWRuza
гуру
06.04.23
✎
12:45
|
(3) Тот код, что в (0) проверяю, пишет, что {"status": "not_found_dm"}.
А что толку его проверять, когда в нем нет символов GS1... Они просто вырезаны, и даже ни чем не заменены. Если только Вы их вручную вставите на нужные места перед проверкой. |
|||
5
Salimbek
06.04.23
✎
14:26
|
(4) Все публичные проверки идут по sgtin, а там никаких символов GS1 нет. sgtin могли получить по ЭДО, например, или в 1С-ке где-то откопали.
|
|||
6
MWWRuza
гуру
06.04.23
✎
16:12
|
Ну, да, у меня тоже по этому коду ничего не находит:
https://content.foto.my.mail.ru/mail/m_w_w/_mypagephoto/h-495.jpg |
|||
7
MWWRuza
гуру
06.04.23
✎
16:24
|
Да, там не только GS1 нет, там и некоторые другие символы преобразуются, в запрос такой УРЛ передается:
Url = "https://markirovka.crpt.ru/api/v3/true-api/cises/list?values=0104620079060994215nA3(lCMLC8Rb" У меня для этого целая функция: // Перекодирует строку маркировки под требования ЦРПТ Функция ЗаменитьСимволы(Знач ИсхСтр) Экспорт ВыхСтр = СтрЗаменить(ИсхСтр,"%", "%25"); ВыхСтр = СтрЗаменить(ВыхСтр,"""","%22"); ВыхСтр = СтрЗаменить(ВыхСтр,"-", "%2D"); ВыхСтр = СтрЗаменить(ВыхСтр,".", "%2E"); ВыхСтр = СтрЗаменить(ВыхСтр,"<", "%3C"); ВыхСтр = СтрЗаменить(ВыхСтр,">", "%3E"); ВыхСтр = СтрЗаменить(ВыхСтр,"\", "%5C"); ВыхСтр = СтрЗаменить(ВыхСтр,"^", "%5E"); ВыхСтр = СтрЗаменить(ВыхСтр,"_", "%5F"); ВыхСтр = СтрЗаменить(ВыхСтр,"`", "%60"); ВыхСтр = СтрЗаменить(ВыхСтр,"{", "%7B"); ВыхСтр = СтрЗаменить(ВыхСтр,"|", "%7C"); ВыхСтр = СтрЗаменить(ВыхСтр,"}", "%7D"); ВыхСтр = СтрЗаменить(ВыхСтр,"~", "%7E"); ВыхСтр = СтрЗаменить(ВыхСтр,"!", "%21"); ВыхСтр = СтрЗаменить(ВыхСтр,"#", "%23"); ВыхСтр = СтрЗаменить(ВыхСтр,"$", "%24"); ВыхСтр = СтрЗаменить(ВыхСтр,"&", "%26"); ВыхСтр = СтрЗаменить(ВыхСтр,"'", "%27"); ВыхСтр = СтрЗаменить(ВыхСтр,"(", "%28"); ВыхСтр = СтрЗаменить(ВыхСтр,")", "%29"); ВыхСтр = СтрЗаменить(ВыхСтр,"*", "%2A"); ВыхСтр = СтрЗаменить(ВыхСтр,"+", "%2B"); ВыхСтр = СтрЗаменить(ВыхСтр,",", "%2C"); ВыхСтр = СтрЗаменить(ВыхСтр,"/", "%2F"); ВыхСтр = СтрЗаменить(ВыхСтр,":", "%3A"); ВыхСтр = СтрЗаменить(ВыхСтр,";", "%3B"); ВыхСтр = СтрЗаменить(ВыхСтр,"=", "%3D"); ВыхСтр = СтрЗаменить(ВыхСтр,"?", "%3F"); ВыхСтр = СтрЗаменить(ВыхСтр,"@", "%40"); ВыхСтр = СтрЗаменить(ВыхСтр,"[", "%5B"); ВыхСтр = СтрЗаменить(ВыхСтр,"]", "%5D"); Возврат ВыхСтр; КонецФункции Просто давно делал, уже и забыть успел :-) |
|||
8
MWWRuza
гуру
06.04.23
✎
16:26
|
Но, в данном случае, ничего не преобразуется - нет там таких символов.
Поэтому, нужно исходный код марки смотреть, как со сканера прилетает. И уже потом, на него "натравить" эту функцию. |
|||
9
MWWRuza
гуру
06.04.23
✎
16:28
|
И, да, перед этим, отрезается все до первого GS1:
ПозРазд = Найти(ТекМарка, Симв(29)); Если ПозРазд > 0 Тогда ТекМарка = Лев(ТекМарка, ПозРазд - 1); КонецЕсли; |
|||
10
MWWRuza
гуру
06.04.23
✎
16:33
|
И только сейчас заметил - в УРЛ "(" есть. А ее, по идее, не должно быть, должно быть "%28" вместо нее. Почему-то она не заменилась.
Сейчас буду разбираться. |
|||
11
MWWRuza
гуру
06.04.23
✎
16:37
|
+(10) Хотя, нет, все правильно. Это движок форума преобразовал символ обратно в скобку.
Вот: https://content.foto.my.mail.ru/mail/m_w_w/_mypagephoto/h-496.jpg |
|||
12
timurhv
06.04.23
✎
19:59
|
(8) В 8 не надо, само все преобразуется.
Новый HTTPЗапрос Недопустимые символы, не являющиеся специальными символами URI, будут автоматически кодированы. Примеры: Обращение к ресурсу по адресу "/example%segment": /example%25segment Как и при чтении xml <![CDATA[марка со спецсимволами]]> на уровне платформы корректно прочитается. |
|||
13
MWWRuza
гуру
06.04.23
✎
23:49
|
(12) У меня все под 7.7... Там приходится "ручками" извращаться, "платформа" знать не знает об этом. Но, принцип не меняется, проверить, что передается в строку УРЛ не помешает.
|
|||
14
timurhv
06.04.23
✎
23:55
|
(13) есть методы и без марок в URL, список передается в теле запроса до 1000 шт
|
|||
15
MWWRuza
гуру
08.04.23
✎
12:01
|
Сегодня, за завтраком, сожрал под кофе дессерт из "ВкусВилл" :-)
Случайно увидел на упаковке знакомый DataMatrix :-) (ну, по идее, какая-никакая но молочка) Дай думаю, проверю ради интереса свою обработку, ту-же, что в постах 6-11, вдруг поломали что-то в API и она не работает? Делал то давно, х.з, с тех пор много воды утекло, клиенты не жалуются, но, возможно просто никто и не пользуется, типа нафик ни кому не нужно... Да нет, все работает, товар найден, хоть и "чужой" для меня, метод то общедоступный: https://content.foto.my.mail.ru/mail/m_w_w/_mypagephoto/h-497.jpg Из оборота выведен, "Розничной продажей". Так, что у ТС какая-то проблема с распознаванием или передачей кода. Выложите хорошую фотку кода, проверю. Даже, если с экрана не отсканируется(хотя... сканер не плохой, Datalogic QD 2430), распечатаю на бумагу, и "пикну". |
|||
16
MWWRuza
гуру
08.04.23
✎
12:31
|
А все-таки, за это время, что-то изменили... В ответе на запрос, параметром 6, прилетает- "cisWithoutBrackets"... Раньше, когда я это делал, такого не было.
У меня его наименование в таблице пустое, так, как его описание и "перевод на человеческий язык" в описании TrueAPI, по которому я делал эту обработку отсутствует... Что-это, для меня загадка... Найти, что это такое и как правильно его "обозвать на человеческом языке", мне не удается и сейчас :-( |
|||
17
MWWRuza
гуру
08.04.23
✎
12:37
|
Вообще, нашел, в каком-то телеграм-канале:
"Изменения в методах True API В определённые методы будет добавлен параметр ответа «cisWithoutBrackets» («Нормализованный код без скобок»). Подробнее см. в разделе «Краткое описание изменений в методах True API»." Хм... Ща добавлю описание. |
|||
18
MWWRuza
гуру
08.04.23
✎
12:48
|
Пока не понятно, зачем он нужен, в предыдущих двух параметрах я тоже никаких скобок не вижу:
https://content.foto.my.mail.ru/mail/m_w_w/_mypagephoto/h-498.jpg Ну, да ладно, сделал, пусть будет. |
|||
19
MWWRuza
гуру
08.04.23
✎
13:43
|
Хотя вот тут:
https://content.foto.my.mail.ru/mail/m_w_w/_mypagephoto/h-499.jpg Действительно все три параметра разные - код из запроса - я всунул копипастом из XML УПД, никаких скобок там нет. ЧЗ вернул его в двух вариантах, в "КИ ГИС МТ" со скобками, и "отрезанным" блоком кода, содержащим МРЦ, и в "Нормализованный код без скобок" тот же самый, что в предыдущем параметре, но скобки вырезаны :-) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |