Автор: Дмитрий   Дата: 2018-07-11 00:00:00

Минимальный программный код на СКД 1С

Рассмотрим возможность создания минимального программного кода для вывода в табличный документ результата выполнения СхемаКомпоновкиДанных. Важно отметить, что в этой статье не рассматривается программная настройка. Более подробно программная настройка 1С Как добавить группировку детальные записи в СКД 1С Так же схема компоновки данных будет одна.

1. Создаем отчет.

2. Добавляем макет, тип макета: Схема компоновки данных. Наш макет будет основным: имя оставим ОсновнаяСхемаКомпоновкиДанных. Настройки будем получать с указанной схемы компоновки данных.

Макет СКД

3. Код запроса простой:

ВЫБРАТЬ
	ТоварыНаСкладахОстатки.Склад,
	ТоварыНаСкладахОстатки.Номенклатура,
	ТоварыНаСкладахОстатки.КоличествоОстаток
ИЗ
	РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки

4. Настроки.

Макет СКД

5. Код в модуле объекта:

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

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

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
	// Вставить содержимое обработчика.
	ВывестиТаблицу(ДокументРезультат,ДанныеРасшифровки, СтандартнаяОбработка);
КонецПроцедуры

6. Результат.

Макет СКД