ПараметрыИнформационнойБазы (БСП)

Автор: 1С
ОбщийМодуль.ОбменДаннымиСервер
БСП

Параметры информационной базы.

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

ПоказатьПараметрыАдминистрирования (БСП)

УстановитьПараметрыАдминистрирования (БСП)

TurboConf 6 - расширение Конфигуратора 1С