harry писал(а): 20 Декабрь 2024, 14:15
Игорь, Вы как то учитывали этот пункт в МР при реализации класса Honest?
Нужно учитывать, что сервис НСЦМ ЧЗ прошёл уже несколько изменений.
Что-то из пропущенных серий Вы ещё можете найти в документации.
1. Ранее был ассинхронный обмен - по которому передавлись КМ и лишь потом
по мере готовности их обработки - получали результат (как в АИС "Меркурий").
Сейчас выполняется пакетный запрос на который сразу возвращается ответ.
Удерживать соединение не нужно (даже если бы я знал как это делать в LibCurl)
2. Описание рассматривает "классическое" место кассира-продавца - оно удобно
для академичеких целей, но пожалуй уже нигде в реальности не используется.
Т.е. подошёл покупатель и кассир "открыл" чек и началась продажа ...
Считалось, что при добавлении каждого товара выполняется запрос на разрешительную проверку.
И при ошибке - товар не продаётся. Наверно в этом случае нужно удерживать подключение к сервису,
что бы не задалбывать его хотя бы установкой коннектов при сканировании каждого КМ в чеке.
Но сейчас иное. Проверка выполняется после закрытия чека, через пакетный запрос на все КМ в чеке.
Это видно по работе кассового софта (Пятёра, Магнит, Ашан, Лента, 1C-Торговля и т.д.)
Да иначе и не получится работать быстро и держать открытыми несколько чеков на выписку.
И в описании запросов на сервис сейчас есть только пакетная проверка КМ (не путать с ЛМ ЧЗ).
Если Вы обратили внимание, метод CheckOneCode() сделан исскуственно для внутренних целей.