Если подключении компоненты и отправке в цикле сообщений, когда возникает ошибка от компоненты "AMQP server timeout error", то при КлиентКомпоненты = Неопределено, происходит перезапуск всего действия. Например, если выгрузка начата по кнопке - весь алгоритм команды кнопки начинается заново и, соответственно начинается вся выгрузка заново.
Процедура ОтправкаСообщений(ПараметрыПодключения, ТЗ)
Попытка
КлиентКомпоненты = ПодключитьсяКRabbit(ПараметрыПодключения);
Исключение
ВызватьИсключение ОписаниеОшибки();
КонецПопытки;
Для каждого стр из ТЗ Цикл
КоличествоПопыток = 1;
Пока КоличествоПопыток <= 3 Цикл
Попытка
ОтправитьСообщениеRabbit(ПараметрыПодключения, КлиентКомпоненты, стр.ТекстСообщения);
Исключение
ТекстОшибки = ОписаниеОшибки(); // Из GetLastError возвращается "AMQP server timeout error"
Сообщить(ТекстОшибки);
КоличествоПопыток = КоличествоПопыток + 1;
Продолжить;
КонецПопытки;
КонецЦикла;
Если НЕ КоличествоПопыток <= 3 Тогда
КлиентКомпоненты = Неопределено; // Если не получилось переотправить, после этой строки начинается алгоритм заново
ВызватьИсключение ТекстОшибки;
КонецЕсли;
КонецЦикла;
КлиентКомпоненты = Неопределено; // Если получилось переотправить, начинается алгоритм заново
КонецПроцедуры
Если подключении компоненты и отправке в цикле сообщений, когда возникает ошибка от компоненты "AMQP server timeout error", то при КлиентКомпоненты = Неопределено, происходит перезапуск всего действия. Например, если выгрузка начата по кнопке - весь алгоритм команды кнопки начинается заново и, соответственно начинается вся выгрузка заново.
Процедура ОтправкаСообщений(ПараметрыПодключения, ТЗ)
КонецПроцедуры