Свойства и методы объекта отчета

Печать (Ctrl+P)

1С:Предприяятие 8.3

Свойства и методы объекта отчета можно посмотреть в синнктакс – помощник конфигуратора:

Объект отчета используется для доступа к реквизитам и табличным частям, формам и макетам отчета. Он создается с помощью следующей конструкции:

ОтчетОбъект = Отчеты.<Имя отчета>.Создать();

ОтчетОбъект    содержит реквизиты отчета и табличные части оичета . Доступ к значению осуществляется по имени, как оно задано в Конфигураторе, например

ЗначениеРеквизита  =  ОтчетОбъект.<ИмяРеквизита>;
Таблица =ОтчетОбъект.<ИмяТабичнойЧасти>; 

Отметим, реквизиты могут использоваться для чтения и записи. Однако, табличная часть доступно только на чтение.

Для редактирования настроек отчета используется свойство  КомпоновщикНастроек.

 КомпоновщикНастроек =  ОтчетОбъект.КомпоновщикНастроек;. 

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

СхемаКомпоновкиДанных = ОтчетОбъект.СхемаКомпоновкиДанных;

Для выполнения компоновки данных используется метод СкомпоноватьРезультат

ОтчетОбъект. СкомпоноватьРезультат(<ТабличныйДокумент>,  <ДанныеРасшифровки> );

Параметр <ТабличныйДокумент> , в который будет выводиться результат является обязательным параметром . Однако, переменная <ДанныеРасшифровки>, в которую будет записана информация расшифровки  необязательна. Расшифровка заполняться не будет если не указана переменная

Одна из особенностей метода СкомпоноватьРезультат заключается в том, что при выполнении метода генерируется событие ПриКомпоновкеРезультата. Обработчик данного события доступен в модуле объекта отчета

 ПриКомпоновкеРезультата( <ТабличныйДокумент>, <ДанныеРасшифровки>, <СтандартнаяОбработка>) 

Параметры обработчика ПриКомпоновкиРезультата:

  • <ТабличныйДокумент> – Документ, в который выводится результат и переданный из метода СкомпоноввтьРезультат
  • <ДанныеРасшифровки> – Переменная, в которую необходимо поместить данные расшифровки. Если данный параметр имеет значение Null, то данные расшифровки создавать не нужно.
  • <СтандартнаяОбработка> – В данный параметр передается признак выполнения стандартной (системной) обработки события. Если в теле процедуры-обработчика установить данному параметру значение Ложь, стандартная обработка события производиться не будет. Значение по умолчанию: Истина.

Примеры использования обработчика ПриКомпоновкеРезультата

Пример№1 Передача Внешних Наборов Данных в СКД .

Для перерадчи внешних наборов данных в СКД используется метод Инициализировать процессора копмоновки :

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

Пример №2 Передача параметров данных

Для передачи параметры данных используется метод УстановитьЗаначениеПараметра . В следующем примере , нужно передать в СКД документ – основание выбранного документа- регистратора в установленных параметрах. Следовательно, сначала находим регистратор, а затем передаем основание:

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

0

Автор публикации

не в сети 1 день

master1c8

0
Комментарии: 16Публикации: 444Регистрация: 25-12-2016

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

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.