КолонкиДляЗагрузкиДанных (БСП)

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

Колонки для загрузки данных. Дополняет список колонки для загрузки данных колонками дополнительных реквизитов и свойств.

//  Дополняет список колонки для загрузки данных колонками дополнительных реквизитов и свойств.
//
// Параметры:
//  МетаданныеСправочника	 - ОбъектМетаданных - Метаданные справочника.
//  ИнформацияПоКолонкам	 - ТаблицаЗначение - колонки макета.
//
Процедура КолонкиДляЗагрузкиДанных(МетаданныеСправочника, ИнформацияПоКолонкам) Экспорт
	
	Если МетаданныеСправочника.ТабличныеЧасти.Найти("ДополнительныеРеквизиты") <> Неопределено Тогда
		
		Позиция = ИнформацияПоКолонкам.Количество() + 1;
		Свойства = УправлениеСвойствами.СвойстваОбъекта(Справочники[МетаданныеСправочника.Имя].ПустаяСсылка());
		
		ДополнительныеСведения = Новый Массив;
		Для каждого Свойство Из Свойства Цикл
			Если НЕ Свойство.ЭтоДополнительноеСведение Тогда
				СтрокаИнфоПроКолонки = ИнформацияПоКолонкам.Добавить();
				ИмяКолонки = СтандартныеПодсистемыСервер.ПреобразоватьСтрокуВДопустимоеНаименованиеКолонки(Свойство.Наименование);
				СтрокаИнфоПроКолонки.ИмяКолонки = "ДополнительныйРеквизит_" + ИмяКолонки;
				СтрокаИнфоПроКолонки.ПредставлениеКолонки = Свойство.Наименование;
				СтрокаИнфоПроКолонки.ТипКолонки = Свойство.ТипЗначения;
				СтрокаИнфоПроКолонки.ОбязательнаДляЗаполнения = Свойство.ЗаполнятьОбязательно;
				СтрокаИнфоПроКолонки.Позиция = Позиция;
				СтрокаИнфоПроКолонки.Группа = НСтр("ru = 'Доп. реквизиты'");
				СтрокаИнфоПроКолонки.Видимость = Истина;
				СтрокаИнфоПроКолонки.Примечание = Свойство.Наименование;
				СтрокаИнфоПроКолонки.Ширина = 30;
				Позиция = Позиция + 1;
				
				Значения = ДополнительныеЗначенияСвойства(Свойство);
				Если Значения.Количество() > 0 Тогда
					СтрокаИнфоПроКолонки.Примечание = СтрокаИнфоПроКолонки.Примечание  + Символы.ПС + НСтр("ru = 'Варианты значений:'") + Символы.ПС;
					Для каждого Значение Из Значения Цикл
						Код = ?(ЗначениеЗаполнено(Значение.Код), " (" + Значение.Код + ")", "");
						СтрокаИнфоПроКолонки.Примечание = СтрокаИнфоПроКолонки.Примечание + Значение.Наименование + Код +Символы.ПС;
					КонецЦикла;
				КонецЕсли;
			Иначе
				ДополнительныеСведения.Добавить(Свойство);
			КонецЕсли;
		КонецЦикла;
		
		Для каждого Свойство Из ДополнительныеСведения Цикл
			СтрокаИнфоПроКолонки = ИнформацияПоКолонкам.Добавить();
			ИмяКолонки =  СтандартныеПодсистемыСервер.ПреобразоватьСтрокуВДопустимоеНаименованиеКолонки(Свойство.Наименование);
			СтрокаИнфоПроКолонки.ИмяКолонки = "Свойство_" + ИмяКолонки;
			СтрокаИнфоПроКолонки.ПредставлениеКолонки = Свойство.Наименование;
			СтрокаИнфоПроКолонки.ТипКолонки = Свойство.ТипЗначения;
			СтрокаИнфоПроКолонки.ОбязательнаДляЗаполнения = Свойство.ЗаполнятьОбязательно;
			СтрокаИнфоПроКолонки.Позиция = Позиция;
			СтрокаИнфоПроКолонки.Группа = НСтр("ru = 'Доп. свойства'");
			СтрокаИнфоПроКолонки.Видимость = Истина;
			СтрокаИнфоПроКолонки.Примечание = Свойство.Наименование;
			СтрокаИнфоПроКолонки.Ширина = 30;
			Позиция = Позиция + 1;
			
			Значения = ДополнительныеЗначенияСвойства(Свойство);
			Если Значения.Количество() > 0 Тогда
				СтрокаИнфоПроКолонки.Примечание = СтрокаИнфоПроКолонки.Примечание  + Символы.ПС + НСтр("ru = 'Варианты значений:'") + Символы.ПС;
				Для каждого Значение Из Значения Цикл
					Код = ?(ЗначениеЗаполнено(Значение.Код), " (" + Значение.Код + ")", "");
					СтрокаИнфоПроКолонки.Примечание = СтрокаИнфоПроКолонки.Примечание + Значение.Наименование + Код +Символы.ПС;
				КонецЦикла;
			КонецЕсли;
			
		КонецЦикла;

	КонецЕсли;

КонецПроцедуры

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

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

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

КолонкиДляЗагрузкиДанных (БСП)

ОписаниеКолонкиМакета (БСП)

ПриЗагрузкеДанных (БСП)

ПриЗагрузкеОбъекта (БСП)

ТипДанныхДляИмениКолонкиТаблицыЗначений (БСП)

ПослеЗагрузкиДанных (БСП)

ПередЗагрузкойДанных (БСП)

Определить элементарные интервалы, образующиеся при пересечении всех исходных интервалов

TurboConf ИР адаптер 2.64