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

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

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

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

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

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

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

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

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

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

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


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

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

Автор: Евгений Мигачев
Разместил:   Версии: | 8.x | 8.2 УП |  Дата:   Прочитано: 50524
 +4 
Распечатать
Возможно, вас также заинтересует
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 50
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ
1C медленно работает по сети с базой на SQL Server 22
Данное обстоятельство может быть обусловлено многими причинами. Одна из них - неоптимальная настройка MS SQL . Перечислим неоптимальности в настройке: 1) Неправильно указанный сетевой протокол, используемый для взаимодействия 1С с SQL Server. П
1C: Enterprise Development Tools 52
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools - это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем
1С Предприятие что это? 12
Что такое 1С? 1С — это фирма , у которой одно из направлений деятельности — разработка программного обеспечения для автоматизации бизнес-процессов предприятий. « 1С:Предприятие » - конкретный продукт, который выпускает компания 1С . Что такое
COM-подключение к базе 7.7 из .NET, .NET Core 1
Инсталяция: dotnet add package sabatex.V1C77 или добавить через NUGET пакет sabatex.V1C77. Добавить пространство имен: using sabatex.V1C77; пример использованя: ---C# static void Main(string args) { // создаем строку соединен
Посмотреть все результаты поиска похожих
Комментарии
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
хорошо, если макет внешний, а если используется макет который в конструкторе самой СКД вшит?
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.