Колонки для загрузки данных. Дополняет список колонки для загрузки данных колонками дополнительных реквизитов и свойств.
// Дополняет список колонки для загрузки данных колонками дополнительных реквизитов и свойств.
//
// Параметры:
// МетаданныеСправочника - ОбъектМетаданных - Метаданные справочника.
// ИнформацияПоКолонкам - ТаблицаЗначение - колонки макета.
//
Процедура КолонкиДляЗагрузкиДанных(МетаданныеСправочника, ИнформацияПоКолонкам) Экспорт
Если МетаданныеСправочника.ТабличныеЧасти.Найти("ДополнительныеРеквизиты") <> Неопределено Тогда
Позиция = ИнформацияПоКолонкам.Количество() + 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
///////////////////////////////////////////////////////////////////////////////////////////////////////
КолонкиДляЗагрузкиДанных (БСП)
ТипДанныхДляИмениКолонкиТаблицыЗначений (БСП)
Определить элементарные интервалы, образующиеся при пересечении всех исходных интервалов
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)