Получить общие данные узлов корреспондента.
Процедура ПолучитьОбщиеДанныеУзловКорреспондента(Сообщение, Отправитель) Экспорт
Если Не ОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса") Тогда
Возврат;
КонецЕсли;
МодульРаботаВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса");
МодульСообщенияВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("СообщенияВМоделиСервиса");
Тело = Сообщение.Body;
НачатьТранзакцию();
Попытка
ДанныеКорреспондента = ОбменДаннымиСервер.ДанныеДляТабличныхЧастейУзловЭтойИнформационнойБазы(Тело.ExchangePlan);
// Отправляем ответное сообщение об успешной операции.
ОтветноеСообщение = МодульСообщенияВМоделиСервиса.НовоеСообщение(
СообщенияОбменаДаннымиКонтрольИнтерфейс.СообщениеПолучениеОбщихДанныхУзловКорреспондентаУспешноЗавершено());
ОтветноеСообщение.Body.Zone = МодульРаботаВМоделиСервиса.ЗначениеРазделителяСеанса();
ОтветноеСообщение.Body.CorrespondentZone = Тело.CorrespondentZone;
ОтветноеСообщение.Body.SessionId = Тело.SessionId;
ПредставлениеОшибки = "";
ПараметрыИБ = ОбменДаннымиСервер.ПараметрыИнформационнойБазы(Тело.ExchangePlan, "", ПредставлениеОшибки);
Результат = Новый Структура;
Результат.Вставить("ОбщиеДанныеУзлов", Новый Структура());
Результат.Вставить("ПараметрыИнформационнойБазы", ПараметрыИБ);
ОтветноеСообщение.Body.Data = Новый ХранилищеЗначения(Результат);
МодульСообщенияВМоделиСервиса.ОтправитьСообщение(ОтветноеСообщение, Отправитель, Истина);
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ПредставлениеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
ЗаписьЖурналаРегистрации(ОбменДаннымиВМоделиСервиса.СобытиеЖурналаРегистрацииНастройкаСинхронизацииДанных(),
УровеньЖурналаРегистрации.Ошибка,,, ПредставлениеОшибки);
// Отправляем ответное сообщение об ошибке
ОтветноеСообщение = МодульСообщенияВМоделиСервиса.НовоеСообщение(
СообщенияОбменаДаннымиКонтрольИнтерфейс.СообщениеОшибкаПолученияОбщихДанныхУзловКорреспондента());
ОтветноеСообщение.Body.Zone = МодульРаботаВМоделиСервиса.ЗначениеРазделителяСеанса();
ОтветноеСообщение.Body.CorrespondentZone = Тело.CorrespondentZone;
ОтветноеСообщение.Body.SessionId = Тело.SessionId;
ОтветноеСообщение.Body.ErrorDescription = ПредставлениеОшибки;
НачатьТранзакцию();
МодульСообщенияВМоделиСервиса.ОтправитьСообщение(ОтветноеСообщение, Отправитель, Истина);
ЗафиксироватьТранзакцию();
КонецПопытки;
МодульСообщенияВМоделиСервиса.ДоставитьБыстрыеСообщения();
КонецПроцедуры
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
СообщениеПолучитьОбщиеДанныеУзловКорреспондента (БСП)
ПолучитьОбщиеДанныеУзлов (БСП)
ПолучитьОбщиеДанныеУзлов_2_0_1_6 (БСП)
СообщениеПолучениеОбщихДанныхУзловКорреспондентаУспешноЗавершено (БСП)
СообщениеОшибкаПолученияОбщихДанныхУзловКорреспондента (БСП)
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)