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

Маркировка готовой молочной продукции с 1 июля 2020 : Маркировка

03.05.2024 22:14


12.04.2023 22:31
MWWRuza
 
В общем, вот так получилось:



А так в ЧЗ документ выглядит:



А это, движение по "Складу" в ЧЗ:



На ШК ЕАН и наименование товара в 1С, можно не смотреть, они там все равно не передаются, только GTIN, поэтому я для "эксперимента" взял из базы первый попавшийся товар.
13.04.2023 07:37
volk13
 
Цитата:
MWWRuza В общем, вот так получилось:
А пример xml-файла?
13.04.2023 10:56
MWWRuza
 
А я не делал пока XML. Сделал сразу по API. Там не XML, там СЗ сразу в процедуру отправки запроса передается, там преобразуется в JSON и сразу в запрос.

Если интересно, могу дописать отладочный кусочек модуля в процедуре формировании запроса, для сохранения JSON в текст, и его выложить...
Но, смотреть и разбирать JSON то еще неблагодарное занятие, в отличии от XML...

А то, что там на картинке из 1С XML - это перый мой "эксперимент", работает только для фасовки.
13.04.2023 12:34
volk13
 
Цитата:
MWWRuza преобразуется в JSON
давай тогда пример файла *.json (если никуда не сохраняешь, то временно сохрани его перед отправкой по АПИ и содержимое скопируй сюда), поглядеть (если не трудно)
13.04.2023 14:20
MWWRuza
 
Хм... Толку то... Его надо где-то чуть раньше ловить, до подписания, иначе там такая хрень: во вложении...

Сейчас подумаю, как поймать перед подписью, выложу.

PS Просто я этот механизм уже давно делал, значительно раньше, чем этот документ, и не помню...
Вложения
Тип файла: rar ЗапросJSON.rar (3.0 Кб, 11 просмотров)
13.04.2023 14:32
MWWRuza
 
Вот:
{"order_number": "8", "order_date": "2023-04-13", "inn": "5075031407", "action": "EXPIRATION", "action_date": "2023-04-13", "document_type": "OTHER", "document_number": "8", "document_date": "2023-04-13", "primary_document_custom_name": "Акт списания товара", "products": [
{ "cis": "",
"gtin": "04640153520725",
"product_cost": "",
"gtin_quantity": "5"
}
]}

Просто потом, перед подписанием, он перекодируется, сначала в UTF8, а потом еще и в base64:

СтрДжейсон = Сервис.DecodeToUTF8(ЗначениеВJSON(СзЗаг));
Кодировка = "base64";
Стр = Кодировать(СтрДжейсон, Кодировка);

поэтому в самом запросе и такая хрень, как в предыдущем посте...
Вложения
Тип файла: rar ЗапросJSON.rar (331 байт, 10 просмотров)
13.04.2023 14:53
MWWRuza
 
DecodeToUTF8 - это из FormEx функция.
А кодировать, функция в 1С в глобальном модуле, через CDO:

Функция Кодировать(Стр, Кодировка) Экспорт // Кодировать64(Стр)
ЦДО=СоздатьОбъект("CDO.Message");
БодиПарт=ЦДО.BodyPart;
Поля=БодиПарт.Fields;
Поле=Поля.Item("urn:schemas:mailheader:content-type");
Поле.Value="text/plain; charset=""windows-1251""";
Поля.Update();
Стрим = БодиПарт.GetDecodedContentStream();
Стрим.charset = "windows-1251";
Стрим.WriteText(Стр);
Стрим.Flush();
БодиПарт.ContentTransferEncoding = Кодировка;
Стрим=БодиПарт.GetEncodedContentStream();
Возврат Стрим.ReadText();
КонецФункции

Я не помню, где ее взял, но она давно и успешно у меня в конфе работает, везде, где base64 требуется. Есть и обратная, "Декодировать", могу выложить если нужна.
13.04.2023 16:55
volk13
 
Цитата:
MWWRuza Есть и обратная, "Декодировать", могу выложить если нужна
выложи, сравню со своей, как руки дойдут
13.04.2023 17:25
MWWRuza
 
Функция Декодировать(Стр, Кодировка) Экспорт // Декодировать64(Стр)
ЦДО = СоздатьОбъект("CDO.Message");
БодиПарт = ЦДО.BodyPart;
БодиПарт.ContentTransferEncoding = Кодировка;
Стрим = БодиПарт.GetEncodedContentStream();
Поля = БодиПарт.Fields;
Поле = Поля.Item("urn:schemas:mailheader:content-type");
Поле.Value = "text/plain; charset=""windows-1251""";
Поля.Update();
Стрим.WriteText(Стр);
Стрим.Flush();
Стрим = БодиПарт.GetDecodedContentStream();
Стрим.charset = "windows-1251";
Возврат Стрим.ReadText();
КонецФункции
26.04.2023 09:55
raidex
 
Я думал, что у меня классная программа, но нет !

Я сделал сканирование data matrix

Марка содержит штрихкод и я запретил сканировать обычный штрихкод, чтобы продавец всегда сканировала только марку


Но сегодня пришло новое мороженое, а именно

Код:
4605119007436
0104607967951435215LHCRs93VlPn


БХ СТАКАН ВАФ. ПЛОМБИР ШОКОЛАДНЫЙ ГОСТ 12% 70Г(36)

а на самом деле оно не шоколадное, а ванильное
в итоге я не могу его продать ! Потому что я произвожу поиск по 4605119007436 а в марке вообще не то !


Есть мысли что делать ? Пока сказал точкам ( 15 штук ) чтобы вводили это мороженое руками из справочника

( потому что штрихкод я запретил, а на марке - такого нет у меня штрихкода и я не знаю, какие завтра марки поступят )
Часовой пояс GMT +3, время: 22:14.

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