Настоящая отчётная форма подготовленного своего отчёта вызывает событие при формировании, изменении или штатной загрузке / сохранении настроек. Типы слоёв и фазы не смешиваются.
Где и как запускать
Модуль управляемой основной формы собственного отчёта УчебныеКнигиСКД; событие самой формы.
Подготовка
В своей учебной конфигурации создайте Отчеты → УчебныеКнигиСКД. У отчёта откройте ОсновнаяСхемаКомпоновкиДанных и сохраните её макетом ОсновнаяСхемаКомпоновкиДанных.
В конструкторе СКД создайте источник Local и набор-запрос Книги. Вставьте приведённый запрос двух константных строк; это не чтение рабочих справочников. Доступные поля Наименование, Количество, Сумма заполните автоматически.
В настройках схемы создайте вариант Подробно: выбраны Наименование, Количество, Сумма; структура — группировка Детальные записи. Второй вариант Кратко: Наименование и Сумма, также Детальные записи. Первым оставьте Подробно; у обоих задайте понятное представление.
Мастером создайте у своего отчёта управляемую форму ОтчетКниг, тип Основная, со стандартными командами Сформировать / Настройки. Основной реквизит Отчет типа ОтчетОбъект.УчебныеКнигиСКД должен остаться основным.
Проверьте штатный реквизит Результат типа ТабличныйДокумент и связанное поле ПолеРезультата с путём Результат. Если мастер дал другое имя, согласуйте именно этот свой реквизит и связь штатной команды, не добавляйте второй результат.
Добавьте свои реквизиты Статус Строка 200 и ЧислоФормирований Число 10.0, разместите на форме. События отчётной формы назначаются самой форме, не полю результата и не модулю объекта отчёта.
Для уроков сохранения у конфигурации оставьте незаданными ХранилищеВариантовОтчетов и ХранилищеПользовательскихНастроекОтчетов: используется стандартное внутреннее хранилище собственной учебной базы. Пользователю нужно право СохранениеДанныхПользователя. Сохраняйте и загружайте только свои именованные настройки этого отчёта.
Каждый пример самостоятельный. Формируйте только этот собственный отчёт; рабочие настройки, печать и сохранение в чужие хранилища не используются. BSL здесь не исполнялся.
Нажмите стандартное Сформировать. Событие формы содержит один параметр СтандартнаяОбработка; не используйте трёхпараметрическое одноимённое событие модуля объекта отчёта.
&НаСервере
Процедура ПриКомпоновкеРезультата(СтандартнаяОбработка)
СтандартнаяОбработка = Истина;
ЧислоФормирований = ЧислоФормирований + 1;
Статус = "Начато собственное формирование № " + Строка(ЧислоФормирований);
Сообщить(Статус);
КонецПроцедурыКонструктор СКД своего отчёта: запрос двух константных строк, не BSL
ВЫБРАТЬ
"Учебная книга" КАК Наименование,
3 КАК Количество,
750 КАК Сумма
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ "Учебная тетрадь", 5, 200Разбор по шагам
Создайте свой отчёт и его сохранённую СКД с двумя константными строками.
Назначьте обработчик событию самой формы и выполните указанную штатную команду.
Сравните фактический параметр / статус и не считайте вызов события доказательством другой фазы.
Как проверить результат
Каждое формирование увеличивает свой счётчик, затем выполняется штатная компоновка двух своих строк.
СтандартнаяОбработка=Истина сохраняет механизм платформы; новая рекурсивная СкомпоноватьРезультат из обработчика не вызывается.
Ожидаемый результат
Событие связано с настоящей собственной формой отчёта и воспроизводимым действием пользователя.
На что обратить внимание
Параметр Результат события и реквизит формы Результат читаются в разные моменты.
Полные настройки варианта и пользовательские настройки имеют разные типы; общим здесь является только документированное ДополнительныеСвойства.
При сборке справочника BSL и команды сохранения не исполнялись; runtime-проверка отсутствует.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.