6.6.9440.1882 перестал вызываться обработчик ПриПолученииОтветаИИТ9 при ошибке 401

tormozit Закрыто

В обработчике ПриПолученииОтветаИИТ9 есть код переустановки соединения при просроченном токене (сессии)

Если Параметры.КодСостояния = 401 Тогда
	ПолеТекстаПрограммы.СоединениеНапарника(, Истина);
	Возврат;
КонецЕсли;

При ошибке HTTP 401 обработчик вызывается в 6.5, но не вызывается в 6.6.

Комментарии

bolsun
#1, 05 ноября 2025 14:53

Нужен скрипт, в котором тестово устанавливается 401.


tormozit
#2, ред. 05 ноября 2025 15:07

В обработчике ПриОтправкеЗапросаИИТ9 есть проверка соединения. Если она выдает ошибку, то СтандартнаяОбработка ставится в Ложь. Это гарантирует дальнейший вызов ПриПолученииОтветаИИТ9 в 6.5, но похоже не в 6.6

Процедура ПриОтправкеЗапросаИИТ9(Параметры, Отказ, СтандартнаяОбработка) Экспорт
...
	РезультатСоединения = ПолеТекстаПрограммы.СоединениеНапарника(КлючСервиса);
	Если ТипЗнч(РезультатСоединения) = Тип("Строка") Тогда
		СтандартнаяОбработка = Ложь;
		Возврат;
	КонецЕсли;


tormozit
#3, 05 ноября 2025 15:08

(2) tormozit, хотя это возможно только при интерактивной проверке соединения срабатывает. Без отладчика быстро не понять.


bolsun
#4, 05 ноября 2025 15:34

(3) tormozit, у меня при СтандартнаяОбработка = Ложь; ПриПолученииОтветаИИТ9 срабатывает. Нужен тестовый скрипт, где не срабатывает.


bolsun
#5, 05 ноября 2025 16:05

(4) я похоже проверял на 6.5, проверю на 6.6


bolsun
#6, 05 ноября 2025 16:23

Исправлено отсутствие срабатывания обработчика ПриПолученииОтветаИИТ9 при СтандартнаяОбработка = Ложь;
6.6.9440.32981
https://disk.yandex.ru/d/ygobdXNDCtprDw


tormozit
#7, 07 ноября 2025 18:44

Проблема повторилась 6.6.9442.4274


bolsun
#8, 07 ноября 2025 18:49

(7) tormozit, нужен лог.


tormozit
#9, 07 ноября 2025 18:54

Ссылка скрыта


bolsun
#10, 07 ноября 2025 19:29

(9) tormozit, в моем тесте работает.

в твоем логе не вижу сообщения "Пользовательский обработчик ИИ установил СтандартнаяОбработка = Ложь."


tormozit
#11, ред. 07 ноября 2025 19:40

(10) bolsun, напомни, почему ты не вызываешь обработчик ПриПолученииОтветаИИТ9 в этом случае?


bolsun
#12, 07 ноября 2025 21:27

(11) tormozit, (2) tormozit, ты писал

В обработчике ПриОтправкеЗапросаИИТ9 есть проверка соединения. Если она выдает ошибку, то СтандартнаяОбработка ставится в Ложь. Это гарантирует дальнейший вызов ПриПолученииОтветаИИТ9 в 6.5, но похоже не в 6.6

Это я исправил, но в твоем логе я не вижу, что ты установил СтандартнаяОбработка = Ложь в случае ошибки при проверке.


bolsun
#13, ред. 07 ноября 2025 21:33

Нужно определить четкие правила, когда обработчик ПриПолученииОтветаИИТ9 вызывается в случае ошибки.
Для своего помощника я его не вызываю, если была ошибка при выполнении запроса к сервису ИИ, а показываю красный индикатор и тултип.


tormozit
#14, ред. 07 ноября 2025 21:51

(13) bolsun, обработчик ПриПолученииОтветаИИТ9 нужно всегда вызывать независимо от кода ответа. Иначе мне придется перед каждым полезным запросом к ИИ делать еще свой проверочный запрос, чтобы понять не просрочена ли сессия Напарника и соответственно пересоздать ее. Идентификатор сессии я запоминаю и потом просто беру из кэша до тех пор пока она не будет объявлена сервером просроченной (ошибка 401).


bolsun
#15, ред. 07 ноября 2025 22:01

(14) в 6.6 поведение было изменено из-за добавления цветового индикатора ошибки и тултипа, а также из-за невозможности вывести текст ошибки в инлайн-подсказке.
Буду вызывать обработчик ПриПолученииОтветаИИТ9 для напарника в случае ошибочного статус кода.


bolsun
#16, 07 ноября 2025 22:37

6.6.9443.1019

  • Обработчик ПриПолученииОтветаИИТ9 теперь вызывается в случае ошибочного статус кода.

https://disk.yandex.ru/d/XRPUNWQtrbwBUw

Если хочешь, чтобы индикатор окрасился в красный и получил тултип, то устанавливай Параметры.Ошибка = Истина;


bolsun
#17, 09 ноября 2025 02:33

bolsun изменил статус на Закрыто


Для вставки изображения или файла, перетащите его в поле редактора или вставьте файл из буфера