СКД внешний источник данных 1С

Часто данные проще обработать программно и поместить в таблицу значений и в нужном виде передать в систему компоновки данных для формирования отчета.

Рассмотрим самый простой вариант использования таблицы значения, как источника данных для отчета на СКД.

Создадим новый отчет в конфигураторе и создадим основную схему компоновки данных.

В схеме компоновки данных добавим набор данных — объект, как на рисунке ниже.

Назовем сам набор данных ВидыИнструмента, в табличной части Поля, создадим поля с названиями, как в таблице значений, которая будет использоваться в качестве источника данных.

Далее в модуле отчета сформируем процедуру ПриКомпоновкеРезультата, как на рисунке ниже.

Заготовка для процедуры создалась автоматически.

Сформируем простейшую таблицу значений и заполним ее данными.

ТаблицаИсточник = Новый ТаблицаЗначений;
ТаблицаИсточник.Колонки.Добавить("Код");
ТаблицаИсточник.Колонки.Добавить("Наименование");
	
НоваяСтрока = ТаблицаИсточник.Добавить();
НоваяСтрока.Код = 1;
НоваяСтрока.Наименование = Электродрели;
	
НоваяСтрока = ТаблицаИсточник.Добавить();
НоваяСтрока.Код = 2;
НоваяСтрока.Наименование = Генераторы;
	
НоваяСтрока = ТаблицаИсточник.Добавить();
НоваяСтрока.Код = 3;
НоваяСтрока.Наименование = Шуруповерты;

Так выглядит весь листинг процедуры ПриКомпоновкеРезультата.

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
	
	СтандартнаяОбработка = Ложь;
	
 	ТаблицаИсточник = Новый ТаблицаЗначений;
 	ТаблицаИсточник.Колонки.Добавить("Код");
 	ТаблицаИсточник.Колонки.Добавить("Наименование");
	
	НоваяСтрока = ТаблицаИсточник.Добавить();
	НоваяСтрока.Код = 1;
	НоваяСтрока.Наименование = "Электродрели";
	
	НоваяСтрока = ТаблицаИсточник.Добавить();
	НоваяСтрока.Код = 2;
	НоваяСтрока.Наименование = "Генераторы";
	
	НоваяСтрока = ТаблицаИсточник.Добавить();
	НоваяСтрока.Код = 3;
	НоваяСтрока.Наименование = "Шуруповерты";
	
	ВнешнийНаборДанных = Новый Структура("ТаблицаВидыИнструмента", ТаблицаИсточник);
	
	//НастройкиКомпоновки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;  
	НастройкиКомпоновки = КомпоновщикНастроек.ПолучитьНастройки();
	
	КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
	МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиКомпоновки);
	
	ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
	ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, ВнешнийНаборДанных);
	
	ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
	ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
	ПроцессорВывода.Вывести(ПроцессорКомпоновки);
		
КонецПроцедуры

Важно при создании структуры указать ключ, соответствующий названию указанному при создании набора данных.

ВнешнийНаборДанных = Новый Структура("ТаблицаВидыИнструмента", ТаблицаИсточник);

Настройки отчета сделаем, как на картинке. Добавим детальные записи и выберем созданные нами поля.

Сохраним и попробуем сформировать созданный отчет.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *