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

Получение содержимого чека из "Честного Знака" : Маркировка

22.11.2024 10:15


25.02.2024 13:10
Добрый день!

Вот такой отчет:



Что выводить в поле с красными вопросиками? По логике(да и вообще, по здравому смыслу), 355, как сумма всех строк чека.
НО!!!
В JSON файле из API ЧЗ, 200... В описании API, это поле описано так:



Но, в файле так:



Почему?
При этом, если в чеке одна позиция, или несколько, но они одинаковые, то все верно:



Что за нах?
Я чего-то не понимаю в их логике, или это ошибка в Честном Знаке - ?
Такое ощущение, что они в "total" выводят сумму всех позиций по последней одинаковой позиции... Как так-то?
Писать в поддержку? Не проблема, но, я хотел прежде услышать ваше мнение, может я чего-то туплю...

Во вложении(точнее, в хранилище) сам файл JSON чека тремя позициями: https://storage.olegon.ru/supermag/1...RPT/Чек.txt.7z
26.02.2024 09:52
Подробно не изучал, но в приложеном json все относительно логично - суммы total относятся к одному documentId, разбитому на разные группы productGroup.
Т.е. там по воде и по молоку отдельно. Дублирование информации конечно странно выглядит, но...
26.02.2024 10:56
Цитата:
vdm Дублирование информации конечно странно выглядит, но...
Да более чем...
Прежде чем запросить "Содержимое чека", я сначала получаю "Список операций на склоаде", из которого беру ID нужного мне документа по которому уже делаю запрос содержимого.
Для запроса списка нельзя задать "товарную группу", нет такого параметра в запросе, там все в куче прилетает..
И чеки с двумя группами, прилетают двумя строками, с ОДИНАКОВЫМИ ID-!!!
Вот:



И это при том, что реквизит "productGroups" - это массив... В нем, всегда один элемент... Могли бы конечно, в него запихнуть обе ТГ, так: [8, 13], видимо так и планировали, но, потом поняли, что видимо разные сервера обрабатывают разные ТГ, и время обработки сервером, реквизит "processingDateTime" может отличаться для одного чека, для разных ТГ... И кроме того, у некоторых товаров(в принципе, даже в пределах одной ТГ) может быть вес(netWeight) и не быть объема(volume), а у других наоборот... По хорошему, их тоже нужно запихивать в массивы или объекты JSON... Но, этого не сделали, поленились, оставили строками, и "массив из одного элемента" для "productGroups" тоже оставили. НО, в этом списке и нет никаких сумм.

А дальше, делаем запрос содержимого чека. Да, тут уже, в отличии от предыдущего, можно указать ТГ в запросе. Но, по их документации - этот параметр не обязательный. Скорее всего, если запросить содержимое чека с указанием ТГ, то и сумма для одной ТГ в нем будет правильная, и позиции будут показаны только из запрошенной ТГ(не пробовал, но должно быть так, хотя, не удивлюсь, если и тут косяк).
Но, если уж сделали возможность запроса чека сразу по нескольким ТГ, без указания конкретной, то будте добры и суммы выводить сразу по всему чеку, так-же без разделения по ТГ...Или двумя значениями - в виде объекта JSON для каждой пошедшей в запрос ТГ.
Но, как видим, это не так
26.02.2024 11:10
В ответе на запрос содержимого ЧЕКА(не двух чеков, а по одному ID), они как-бы выводят два чека, в каждом из которых все позиции, обеих ТГ(!!!), но, реквизит "total" - общая сумма документа, который относится не к каждому из двух вошедших в ответ чеков, а один, общий на весь документ, выводят по одной(последней в документе) ТГ.

Вывод - этот отчет сделан "на от**ись"
26.02.2024 11:29
В общем, у себя сделал так:



Так, как-то больше похоже на правду.
QR код в расшифровке чека безсмысленен, надо убрать, все равно правильный не сформировать - ФП чека они не передают, а без него содержимое QR не сформировать, да и кроме того, сумму чека то мы не знаем, ведь там могут в одном фискальном чеке содержаться и немаркированные товары, которые в ЧЗ не попадают, а сумма тоже необходима для QR...
Сделал, потому, что "руки сработали быстрее, чем голова" - увидел, что "получить содержимое чека", обрадовался, думал сделаю красиво... Ага, сЧассс....
26.02.2024 12:29
Цитата:
MWWRuza QR код в расшифровке чека безсмысленен, надо убрать
А вообще, наверное не буду убирать, а просто запихну в него ссылку на этот чек в ЛК ЧЗ, как у меня отрабатывает расшифровка УПД из этого-же списка, когда этого УПД нет в базе(когда есть - открывается документ из базы, а когда нет - ведет в ЛК сайта, с запросом авторизации, а потом в конкретный УПД).
26.02.2024 14:41
Цитата:
MWWRuza а просто запихну в него ссылку на этот чек в ЛК ЧЗ
Да блин И тут "все не слава-богу":



Смысл QR-кода теряется вообще... Ни кто его с экрана компа своим-же сканером считывать не будет...
Оставил, "для красоты", и при клике мышкой на нем - переход по ссылке в чек в ЛК(с запросом авторизации).
Часовой пояс GMT +3, время: 10:15.

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