ОтчетОбъект.<Имя отчета>.ПриКомпоновкеРезультата

События · OnComposeResult

Вызывается при выполнении отчета с помощью метода СкомпоноватьРезультат.

Синтаксис

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

ОтчетОбъект.<Имя отчета>.ПриКомпоновкеРезультата (ReportObject.<Report name>.OnComposeResult)

ОтчетОбъект.<Имя отчета> (ReportObject.<Report name>)

ПриКомпоновкеРезультата (OnComposeResult)

Доступен, начиная с версии 8.2.

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

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

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

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

Вызывается при выполнении отчета с помощью метода СкомпоноватьРезультат.

Доступность:

Сервер, толстый клиент, внешнее соединение.

Замечание:

Безопасный режим на время исполнения данного обработчика будет отключен. Данное замечание не относится к обработчикам событий, расположенным в расширении конфигурации.
Использование в версии:

Доступен, начиная с версии 8.2.

Методическая информация

Практические примеры

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

Событие модуля объекта связано со стандартной командой формирования своего настоящего отчёта, а не вызывается вручную вместо платформы.

Где и как запускать

Модуль объекта своего отчёта УчебныеКнигиСКД; сервер / толстый клиент.

Подготовка

  1. В своей учебной конфигурации создайте Отчеты → УчебныеКнигиСКД. У отчёта откройте ОсновнаяСхемаКомпоновкиДанных и сохраните её макетом ОсновнаяСхемаКомпоновкиДанных.

  2. В конструкторе СКД создайте источник Local и набор-запрос Книги. Вставьте приведённый запрос двух константных строк; это не чтение рабочих справочников. Доступные поля Наименование, Количество, Сумма заполните автоматически.

  3. В настройках схемы создайте вариант Подробно: выбраны Наименование, Количество, Сумма; структура — группировка Детальные записи. Второй вариант Кратко: Наименование и Сумма, также Детальные записи. Первым оставьте Подробно; у обоих задайте понятное представление.

  4. Мастером создайте у своего отчёта управляемую форму ОтчетКниг, тип Основная, со стандартными командами Сформировать / Настройки. Основной реквизит Отчет типа ОтчетОбъект.УчебныеКнигиСКД должен остаться основным.

  5. Проверьте штатный реквизит Результат типа ТабличныйДокумент и связанное поле ПолеРезультата с путём Результат. Если мастер дал другое имя, согласуйте именно этот свой реквизит и связь штатной команды, не добавляйте второй результат.

  6. Добавьте свои реквизиты Статус Строка 200 и ЧислоФормирований Число 10.0, разместите на форме. События отчётной формы назначаются самой форме, не полю результата и не модулю объекта отчёта.

  7. Для уроков сохранения у конфигурации оставьте незаданными ХранилищеВариантовОтчетов и ХранилищеПользовательскихНастроекОтчетов: используется стандартное внутреннее хранилище собственной учебной базы. Пользователю нужно право СохранениеДанныхПользователя. Сохраняйте и загружайте только свои именованные настройки этого отчёта.

  8. Каждый пример самостоятельный. Формируйте только этот собственный отчёт; рабочие настройки, печать и сохранение в чужие хранилища не используются. BSL здесь не исполнялся.

  9. У собственного отчёта добавьте реквизит НазваниеУчебногоОтчета Строка 100, выведите его на основной форме и перед опытом заполните «Покупка учебных книг». Это реквизит отчёта, не только независимый реквизит формы.

  10. Каждый обработчик ниже относится к модулю объекта отчёта, не к одноимённому событию отчётной формы. Изучайте примеры по одному; названия / сигнатуры событий объекта и формы различаются.

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    Настройки = КомпоновщикНастроек.Настройки;
    Настройки.ПараметрыВывода.УстановитьЗначениеПараметра("Заголовок", НазваниеУчебногоОтчета);
    СтандартнаяОбработка = Истина;
    Сообщить("Подготовлено формирование своего отчёта книг");
КонецПроцедуры
Конструктор СКД своего отчёта: запрос двух константных строк, не BSL
ВЫБРАТЬ
    "Учебная книга" КАК Наименование,
    3 КАК Количество,
    750 КАК Сумма
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ "Учебная тетрадь", 5, 200

Разбор по шагам

  1. Подготовьте собственный отчёт, константный запрос и реквизит названия.

  2. Назначьте процедуру точному событию модуля объекта.

  3. Нажмите Сформировать на своей основной форме и сравните результат / отказ.

Как проверить результат

  1. Это раннее событие объекта с тремя параметрами. Штатное формирование сохраняется; СкомпоноватьРезультат повторно не вызывается.

  2. Заголовок применяется к собственным базовым настройкам. Пользовательские настройки могут переопределить параметр; этот опыт выполняйте без сохранённого пользовательского заголовка.

Ожидаемый результат

Показан настоящий этап проверки / подготовки / компоновки с корректными параметрами.

На что обратить внимание

  1. ОбработкаКомпоновкиРезультата выполняется после ПриКомпоновкеРезультата при сохранённой стандартной обработке ранней стадии.

  2. В фоновом обработчике изменения реквизитов отчёта не являются способом передачи результата.

  3. BSL и формирование отчёта при сборке HTML не выполнялись.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.