03.12.2016

Вывод логотипа (изображения) на СКД

Автор: Белозерских Евгений

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

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

        Если ЭлементРезультата = Неопределено Тогда
			Прервать;
        КонецЕсли;
       
        ПроцессорВыводаРезультатаОтчета.ВывестиЭлемент(ЭлементРезультата);
	                              
	КонецЦикла;
	               
	ПроцессорВыводаРезультатаОтчета.ЗакончитьВывод();
               
КонецПроцедуры
Первое что мы делаем, это отключаем стандартный обработчик (для того, чтобы иметь возможность самим описать процесс вывода областей в табличный документ)
СтандартнаяОбработка = Ложь
После получения схемы и настроек, мы очищаем табличный документ, для того чтобы первым вывести область с логотипом (изображением)
ДокументРезультат.Очистить();
Логотип			= ПолучитьМакет("ЛоготипКомпании");
ОбластьКартинки	= Логотип.ПолучитьОбласть("ОбластьСКартинкой");
ДокументРезультат.Вывести(ОбластьКартинки);
Т.е. в нашем отчете есть макет табличного документа, который содержит область с именем "ОбластьСКартинкой", в которой в свою очередь располагается изображение.
Дальнейший вывод отчета осуществляется по "стандартной схеме".

В результате (на выходе), мы получим отчет, в верхней части которого будет отображаться логотип (ну или нужное нам содержимое), а дальше, результат вывод отчета на СКД (с макетами, оформлением и нужной структурой).

Другие статьи

Макет в СКД: Макет ресурсов (или оформляем таблицу в отчете)

    Статья с описанием примера использования макета ресурсов при разработке отчета на 1С:СКД

Макет в СКД: Макет группировки

   Наглядная демонстрация использования вида макета «Макет группировки» в СКД

Создание простого отчета на 1С:СКД

    Пример простейшего отчета на 1С СКД

Использование внешних функций в 1С:СКД

    Пример ошибки использования внешних функций в 1С:СКД при программном формировании отчета

Инициализация компоновщика настроек СКД

    Пример того, как правильно инициализировать компоновщик настроек 1С:СКД

Автозаполнение в СКД

    Флаг «Автозаполнение» в СКД существенно влияет на поведение отчета. Давайте разберемся почему так происходит

Макет СКД. Произвольный подвал (или шапка)

    Немного о том, как в СКД реализовать вывод произвольной шапки или подвала отчета

Стандартный период в СКД 1С 8.3

    Пример использования поля "Стандартный период" в параметрах отчета 1С СКД

Использование таблицы значений в отчете СКД (набор данных "Объект")

   Рассмотрим пример использования набора данных "Объект" в СКД. С помощью него можно передать например таблицу значений которая ранее была подготовлена .

Программная установка заголовка отчета СКД

Для того, чтобы при формировании отчета на СКД вывести вверху произвольный заголовок, необходимо написать всего 3 (ТРИ) строчки )

Программная установка параметров СКД

Краткий пример того, как можно установить параметры в отчете СКД

Вывод дополнительной строки итогов

В статье описан достаточно простой пример получения строки с дополнительным итогом, при выводе отчета в таблице

Макет в СКД. Просто о простом

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