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