helpf.pro
Регистрация
 +3 
Распечатать

Пример вывода в шапке отчета произвольного текста и Картинки

Многие спрашивают "Как в шапке отчета созданом с помощи СКД разместить произвольный текст и Картинку?", так вот:

1. Для примера буду использовать отчет созданный в Пример разработки простого отчета - Схема Компоновки Данных (СКД)
2. В отчете создадим основную форму и для кнопки сформировать пропишем процедуру ПечатьНажатие:
title

Код 1C v 8.х
 Процедура ПечатьНажатие(Элемент)
СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");

КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
Настройки = КомпоновщикНастроек.Настройки;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);

ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,, ДанныеРасшифровки);

ДокументРезультат = ЭлементыФормы.Результат;
ДокументРезультат.АвтоМасштаб = Истина; // Сделаем по ширине листа
//А если сделать так как на следующей строчке, то можно вывести в новый Табличный документ
//ДокументРезультат = Новый ТабличныйДокумент;

//Вывод текста и картинки
Макет = ПолучитьМакет("НазваниеСРисунком");
ОбластьВывести = Макет.ПолучитьОбласть("Вывести");
ОбластьВывести.Параметры.ТекДата=ТекущаяДата();
ДокументРезультат.Вывести(ОбластьВывести);
//Текст и картинку вывели, теперь сам отчет

ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);

ДокументРезультат.ОтображатьСетку = Ложь;
ДокументРезультат.ОтображатьЗаголовки = Ложь;
ДокументРезультат.Показать();
КонецПроцедуры


3. И создаем макет "НазваниеСРисунком"
title

4. Сохраняем, запускаем, получаем:
title

Автор: Евгений Мигачев
Разместил:   Версии: | 8.x | 8.2 УП |  Дата:   Прочитано: 27665
 +3 
Распечатать
Возможно, вас также заинтересует
1C медленно работает по сети с базой на SQL Server 8
Данное обстоятельство может быть обусловлено многими причинами. Одна из них - неоптимальная настройка MS SQL . Перечислим неоптимальности в настройке: 1) Неправильно указанный сетевой протокол, используемый для...
1C: Enterprise Development Tools 35
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools - это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем
1С Предприятие что это? 6
Что такое 1С? 1С — это фирма , у которой одно из направлений деятельности — разработка программного обеспечения для автоматизации бизнес-процессов предприятий. « 1С:Предприятие » - конкретный продукт, который...
COM-подключение к базе 7.7 из 8.2 1С 4
Если код выполняется на стороне клиента, то необходимо наличие базы 7.7 на локальной машине. Пример (На форме объекта присутствует реквизит Таблица(ТаблицаЗначений)): НаКлиенте Процедура Загрузки() ПутьКБазе="...
Cклонения по падежам 4
НаКлиенте Процедура Команда1(Команда) ФИО = " Иванов Иван Иванович" ; Падеж = 2; Пол = 1; Результат = СклонениеФИО(ФИО, Падеж, пол); Сообщить(Результат); КонецПроцедуры НаСервере Функция СклонениеФИО(ФИО, Падеж, пол) ...
Посмотреть все результаты поиска похожих
Комментарии
Serge_ASB
12.11.2015 16:55Комментарий: 3
Serge_ASB

А если речь идет об управляемых формах?

Например, добавить шапку к отчету (встроенному) в БП 3.0?

У меня первый раз все создает и на печать выводит, а если второй раз формировать отчет с другими параметрами, то ругается, что

не найден файл ДанныеРасшифровкиКомпоновкиДанных

E_Migachev
20.02.2010 23:59Комментарий: 2
E_Migachev
В данном примере именно так! Cам макет отчета сконструирован в СКД, а в макет хранится только картинка и в коде выводим картинку и текст из макета:

Код 1C v 8.х
 //Вывод текста и картинки

Макет = ПолучитьМакет("НазваниеСРисунком");

ОбластьВывести = Макет.ПолучитьОбласть("Вывести");

ОбластьВывести.Параметры.ТекДата=ТекущаяДата();

ДокументРезультат.Вывести(ОбластьВывести);




а далее выводится сам отчет из СКД

Код 1C v 8.х
   ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;

ПроцессорВывода.УстановитьДокумент(ДокументРезультат);

ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
rosna
20.02.2010 11:21Комментарий: 1
rosna
хорошо, если макет внешний, а если используется макет который в конструкторе самой СКД вшит?
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.