Параметры информационной базы.
Функция ПараметрыИнформационнойБазы(Знач ИмяПланаОбмена, Знач КодУзла, СообщениеОбОшибке) Экспорт
Результат = Новый Структура;
Результат.Вставить("ПланОбменаСуществует", Ложь);
Результат.Вставить("ПрефиксИнформационнойБазы", "");
Результат.Вставить("ПрефиксИнформационнойБазыПоУмолчанию", "");
Результат.Вставить("НаименованиеИнформационнойБазы", "");
Результат.Вставить("НаименованиеИнформационнойБазыПоУмолчанию", "");
Результат.Вставить("НастройкиПараметровУчетаЗаданы", Ложь);
Результат.Вставить("КодЭтогоУзла", "");
// Начиная с версии БСП 2.1.5.1.
Результат.Вставить("ВерсияКонфигурации", Метаданные.Версия);
// Начиная с версии БСП 2.4.2(?).
Результат.Вставить("УзелСуществует", Ложь);
// Начиная с версии БСП 3.0.1.1.
Результат.Вставить("ВерсияФорматаНастроекОбменаДанными", МодульПомощникСозданияОбменаДанными().ВерсияФорматаНастроекОбменаДанными());
Результат.Вставить("ИспользоватьПрефиксыДляНастройкиОбмена", Истина);
Результат.Вставить("ФорматОбмена", "");
Результат.Вставить("ИмяПланаОбмена", ИмяПланаОбмена);
Результат.Вставить("ВерсииФорматаОбмена", Новый Массив);
Результат.Вставить("ПоддерживаемыеОбъектыФормата", Неопределено);
Результат.Вставить("НастройкаСинхронизацииДанныхЗавершена", Ложь);
Результат.Вставить("ПолученоСообщениеДляСопоставленияДанных", Ложь);
Результат.Вставить("ПоддерживаетсяСопоставлениеДанных", Истина);
УстановитьПривилегированныйРежим(Истина);
Результат.ПланОбменаСуществует = (Метаданные.ПланыОбмена.Найти(ИмяПланаОбмена) <> Неопределено);
Если Не Результат.ПланОбменаСуществует Тогда
// В качестве имени плана обмена м.б. передан формат обмена.
Для Каждого ПланОбмена Из ОбменДаннымиПовтИсп.ПланыОбменаБСП() Цикл
Если Не ОбменДаннымиПовтИсп.ЭтоПланОбменаXDTO(ПланОбмена) Тогда
Продолжить;
КонецЕсли;
ФорматОбмена = ЗначениеНастройкиПланаОбмена(ПланОбмена, "ФорматОбмена");
Если ИмяПланаОбмена = ФорматОбмена Тогда
Результат.ПланОбменаСуществует = Истина;
Результат.ИмяПланаОбмена = ПланОбмена;
Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Если Не Результат.ПланОбменаСуществует Тогда
Возврат Результат;
КонецЕсли;
ЭтотУзел = ПланыОбмена[Результат.ИмяПланаОбмена].ЭтотУзел();
СвойстваЭтогоУзла = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ЭтотУзел, "Код, Наименование");
ПрефиксИнформационнойБазы = Неопределено;
ОбменДаннымиПереопределяемый.ПриОпределенииПрефиксаИнформационнойБазыПоУмолчанию(ПрефиксИнформационнойБазы);
УзелКорреспондента = Неопределено;
Если ЗначениеЗаполнено(КодУзла) Тогда
УзелКорреспондента = УзелПланаОбменаПоКоду(Результат.ИмяПланаОбмена, КодУзла);
КонецЕсли;
Результат.ПрефиксИнформационнойБазы = ПолучитьФункциональнуюОпцию("ПрефиксИнформационнойБазы");
Результат.ПрефиксИнформационнойБазыПоУмолчанию = ПрефиксИнформационнойБазы;
Результат.НаименованиеИнформационнойБазы = СвойстваЭтогоУзла.Наименование;
Результат.УзелСуществует = ЗначениеЗаполнено(УзелКорреспондента);
Результат.НастройкиПараметровУчетаЗаданы = Результат.УзелСуществует
И НастройкиПараметровУчетаВСистемеУстановлены(Результат.ИмяПланаОбмена, КодУзла, СообщениеОбОшибке);
Результат.КодЭтогоУзла = СвойстваЭтогоУзла.Код;
Результат.ВерсияКонфигурации = Метаданные.Версия;
Результат.НаименованиеИнформационнойБазыПоУмолчанию = ?(ОбщегоНазначения.РазделениеВключено(),
Метаданные.Синоним, ОбменДаннымиПовтИсп.ИмяЭтойИнформационнойБазы());
Если ОбменДаннымиПовтИсп.ЭтоПланОбменаXDTO(Результат.ИмяПланаОбмена) Тогда
Результат.ИспользоватьПрефиксыДляНастройкиОбмена =
Не ОбменДаннымиXDTOСервер.ПоддерживаетсяВерсияСИдентификаторомОбменаДанными(ЭтотУзел);
СвойстваПланаОбмена = ЗначениеНастройкиПланаОбмена(Результат.ИмяПланаОбмена, "ВерсииФорматаОбмена, ФорматОбмена");
Результат.ФорматОбмена = СвойстваПланаОбмена.ФорматОбмена;
Результат.ВерсииФорматаОбмена = ОбщегоНазначения.ВыгрузитьКолонку(СвойстваПланаОбмена.ВерсииФорматаОбмена, "Ключ", Истина);
Результат.Вставить("ПоддерживаемыеОбъектыФормата",
ОбменДаннымиXDTOСервер.ПоддерживаемыеОбъектыФормата(Результат.ИмяПланаОбмена, "ОтправкаПолучение", УзелКорреспондента));
КонецЕсли;
Если Результат.УзелСуществует Тогда
Результат.НастройкаСинхронизацииДанныхЗавершена = НастройкаСинхронизацииЗавершена(УзелКорреспондента);
Результат.ПолученоСообщениеДляСопоставленияДанных = ПолученоСообщениеСДаннымиДляСопоставления(УзелКорреспондента);
Результат.ПоддерживаетсяСопоставлениеДанных = ЗначениеНастройкиПланаОбмена(Результат.ИмяПланаОбмена,
"ПоддерживаетсяСопоставлениеДанных", СохраненныйВариантНастройкиУзлаПланаОбмена(УзелКорреспондента));
КонецЕсли;
Возврат Результат;
КонецФункции
///////////////////////////////////////////////////////////////////////////////////////////////////////
// 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К участников)