StillZero писал(а): 19 Июль 2026, 14:31
254 возвращает твой метод
Мой метод всё обрабатывает, по-крайне в то время когда я его делал.
Причём это тот случай с костылём, когда мы получаем статус ответа на запрос 200, а внутри содержится код ошибки 204:
Код: Выделить всё
! Успешное выполнение запроса и получен результат от ТС ПИоТ
If lStatus = 200
! Проверка кода ошибки внутри ответа на запрос
If Json.ToGroup(Self.ResponseBuffer,gResponse) and gResponse.Code > 0
If gResponse.Code <> 204 ! Не показывать сообщение при работе в поставарийном режиме
Honest::Message('Место проблемы: ' & sPlace & '|' & |
'HTTP статус: ' & lStatus & '||' & |
'Код ошибки: ' & gResponse.Code & '|' & |
'Ошибка: ' & json::FromUTF8(gResponse.message) & |
csApiHost)
end
lStatus = -gResponse.Code ! Код ошибки внутри успешного ответа на запрос (сообщение уже показано)
end
! Сброс флага 203 ошибки для контроля повторов
If Sub(sPlace,1,4) = 'PIoT' and lStatus = 200 then PIoT:FlagError203 = False.
Далее получив код 204 внутри ответа ТС ПИоТ класс выполняет попытку выполнить проверку пакета КМ
напрямую через локальный ПО ЛМ для получения данных тега 1260 для чека, что бы корректно выполнить выбытие марок:
Код: Выделить всё
! Обработка ошибки по статусу HTTP при неработающем ТС ПИоТ
! Статус 203 я здесь добавил, что бы получить данные для печати чека
elsIf InList(lStatus,203,204,500,504) > 0 Or InRange(lStatus,514,520) Or InList(lCode,500,504,5000) > 0
! Обрабатываемые HTTP статусы
! 203 Аварийный режим (нет списка с результатом, но считаем, что проверка выполнена)
! 204 Поставарийный режим (код в теле ответа)
! 500 Internal Server Error - внутренняя ошибка сервера при обработке запроса
! 504 Gateway Timeout - превышено время ожидания ответа от upstream сервиса
! 514 - 520 Требуется проверка в ПО ЛМ при неработающем ТС ПИоТ
! Пробуем подключиться к ПО ЛМ «Честный ЗНАК»
! Параметры подключения не передаём, т.к. всегда после Init()
If Self.POLM_Login()
И видимо из-за отсутствия у Вас на компьютере проинициализированного ПО ЛМ далее уже возвращается
код 254 - ПРОВЕРКА НЕ ВЫПОЛНЕНА.
Если этот разбор по коду класса должен был делать именно я - то я его сделал.
Если Вас не устраивает предлагаемое решение и Вы хотите самостоятельно получить и
обработать код 204 - добавляйте метод Self.CheckResponse_MyEdition() и обрабатывайте.
Главное, что бы было понимание всего цикла процесса продажи маркированного товара.
