ТабличныеЧастиПланаОбмена (БСП)

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

Табличные части плана обмена. Для внутреннего использования.

// Для внутреннего использования.
//
Функция ТабличныеЧастиПланаОбмена(Знач ИмяПланаОбмена, Знач ВерсияКорреспондента = "", Знач ИдентификаторНастройки = "") Экспорт
	
	ТаблицыОбщие             = Новый Массив;
	ТаблицыЭтойБазы          = Новый Массив;
	ВсеТаблицыЭтойБазы       = Новый Массив;
	
	ОбщиеДанныеУзлов = ОбменДаннымиСервер.ОбщиеДанныеУзлов(ИмяПланаОбмена, ВерсияКорреспондента, ИдентификаторНастройки);
	
	ТабличныеЧасти = ОбменДаннымиСобытия.ТабличныеЧастиОбъекта(Метаданные.ПланыОбмена[ИмяПланаОбмена]);
	
	Если Не ПустаяСтрока(ОбщиеДанныеУзлов) Тогда
		
		Для Каждого ТабличнаяЧасть Из ТабличныеЧасти Цикл
			
			Если СтрНайти(ОбщиеДанныеУзлов, ТабличнаяЧасть) <> 0 Тогда
				
				ТаблицыОбщие.Добавить(ТабличнаяЧасть);
				
			КонецЕсли;
			
		КонецЦикла;
		
	КонецЕсли;
	
	НастройкиЭтойБазы = ОбменДаннымиСервер.НастройкаОтборовНаУзле(ИмяПланаОбмена, ВерсияКорреспондента, ИдентификаторНастройки);
	
	НастройкиЭтойБазы = ОбменДаннымиСобытия.КлючиСтруктурыВСтроку(НастройкиЭтойБазы);
	
	Если ПустаяСтрока(ОбщиеДанныеУзлов) Тогда
		
		Для Каждого ТабличнаяЧасть Из ТабличныеЧасти Цикл
			
			ВсеТаблицыЭтойБазы.Добавить(ТабличнаяЧасть);
			
			Если СтрНайти(НастройкиЭтойБазы, ТабличнаяЧасть) <> 0 Тогда
				
				ТаблицыЭтойБазы.Добавить(ТабличнаяЧасть);
				
			КонецЕсли;
			
		КонецЦикла;
		
	Иначе
		
		Для Каждого ТабличнаяЧасть Из ТабличныеЧасти Цикл
			
			ВсеТаблицыЭтойБазы.Добавить(ТабличнаяЧасть);
			
			Если СтрНайти(НастройкиЭтойБазы, ТабличнаяЧасть) <> 0 Тогда
				
				Если СтрНайти(ОбщиеДанныеУзлов, ТабличнаяЧасть) = 0 Тогда
					
					ТаблицыЭтойБазы.Добавить(ТабличнаяЧасть);
					
				КонецЕсли;
				
			КонецЕсли;
			
		КонецЦикла;
		
	КонецЕсли;
	
	Результат = Новый Структура;
	Результат.Вставить("ТаблицыОбщие",             ТаблицыОбщие);
	Результат.Вставить("ТаблицыЭтойБазы",          ТаблицыЭтойБазы);
	Результат.Вставить("ВсеТаблицыЭтойБазы",       ВсеТаблицыЭтойБазы);
	
	Возврат Результат;
	
КонецФункции

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

Похожие публикации

СкопироватьСтрокиВБуферОбмена (БСП)

СтрокиИзБуфераОбмена (БСП)

МетаданныеТабличнойЧасти (БСП)

ТабличныеЧастиОбъекта (БСП)

Расчет суммы в строке табличной части

Как загрузить в табличную часть одного документа табличную часть другого документа?

НазначениеПланаОбмена (БСП)

МетаданныеРеквизитаТабличнойЧасти (БСП)

Обновлятор-1С: групповое (пакетное) обновление и обслуживание всех баз за один раз