Автоматическое формирование отчета при открытии

1. dima2ru 20.04.22 09:18 Сейчас в теме
Добрый день,
нужна помощь начинающему.

1. Нужно что бы при открытии отчет формировался автоматически без нажатия на кнопку Сформировать.
2. По иерархии формировался в сложенном виде (Уровень группировок - 1).

Заранее спасибо за помощь.

Отправляю код отчета:

////////////////////////////////////////////////////////////////////////////////
// ПРОЦЕДУРЫ И ФУНКЦИИ ОБЩЕГО НАЗНАЧЕНИЯ

// Обновляет таблицу отчета
//
Процедура ОбновитьОтчет() Экспорт
	
	СформироватьОтчет(ЭлементыФормы.ПолеТабличногоДокументаРезультат);
КонецПроцедуры // ОбновитьОтчет()



////////////////////////////////////////////////////////////­////////////////////
// ПРОЦЕДУРЫ - ОБРАБОТЧИКИ СОБЫТИЙ ФОРМЫ


// Процедура - обработчик события при открытии формы
//
Процедура ПриОткрытии()
	
	УниверсальныйОтчет.мДействиеПолеВводаВидСравненияПриИзменении = Новый Действие("ПолеВводаВидСравненияПриИзменении");
	УниверсальныйОтчет.мДействиеПолеВводаЗначениеПриИзменении = Новый Действие("ПолеВводаЗначениеПриИзменении");
	УниверсальныйОтчет.мДействиеКоманднаяПанельФормыПечать = Новый Действие("КоманднаяПанельФормыПечать");
	УниверсальныйОтчет.ФормаПриОткрытии(УниверсальныйОтчет, ЭтотОбъект, ЭтаФорма);

КонецПроцедуры // ПриОткрытии()

// Процедура - обработчик события при закрытии формы
//
Процедура ПриЗакрытии()
	
	УниверсальныйОтчет.ФормаПриЗакрытии(УниверсальныйОтчет, ЭтотОбъект, ЭтаФорма);
		
КонецПроцедуры // ПриЗакрытии()

////////////////////////////////////////////////////////////­////////////////////
// ПРОЦЕДУРЫ - ОБРАБОТЧИКИ НАЖАТИЯ КНОПОК КОМАНДНОЙ ПАНЕЛИ

// Процедура - обработчик нажатия кнопки "Печать"
//
Процедура КоманднаяПанельФормыПечать(Кнопка)
	
	УниверсальныйОтчет.ФормаПечать(УниверсальныйОтчет, ЭтотОбъект, ЭтаФорма);
	
КонецПроцедуры // КоманднаяПанельФормыПечать()

// Процедура - обработчик нажатия кнопки "Сформировать"
//
Процедура КоманднаяПанельФормыСформировать(Кнопка)
	
	ОбновитьОтчет();
	
КонецПроцедуры // КоманднаяПанельФормыСформировать()

// Процедура - обработчик нажатия кнопки "Настройка"
//
Процедура КоманднаяПанельФормыНастройка(Кнопка)
	
	УниверсальныйОтчет.ФормаНастройка(УниверсальныйОтчет, ЭтотОбъект, ЭтаФорма, ЭлементыФормы.ПолеТабличногоДокументаРезультат);
	
КонецПроцедуры // КоманднаяПанельФормыНастройка()

// Процедура - обработчик нажатия кнопки "НовыйОтчет"
//
Процедура КоманднаяПанельФормыНовыйОтчет(Кнопка)
	
	// Дополнительные параметры в расшифровывающий отчет можно передать
	// посредством инициализации переменной "ДополнительныеПараметры".
	ДополнительныеПараметры = Неопределено;
	
	УниверсальныйОтчет.ФормаНовыйОтчет(УниверсальныйОтчет, ЭтотОбъект, ДополнительныеПараметры);

КонецПроцедуры // КоманднаяПанельФормыНовыйОтчет()

// Процедура - обработчик нажатия кнопки "БыстрыеОтборы"
//
Процедура КоманднаяПанельФормыБыстрыеОтборы(Кнопка)
	
	УниверсальныйОтчет.УправлениеОтображениемЭлементовФормы(УниверсальныйОтчет, ЭтаФорма, Кнопка.Имя);
	УниверсальныйОтчет.УправлениеПанельюБыстрыеОтборы(УниверсальныйОтчет, ЭтаФорма);
	
КонецПроцедуры // КоманднаяПанельФормыБыстрыеОтборы()

// Процедура - обработчик нажатия кнопки "ЗаголовокОтчета"
//
Процедура КоманднаяПанельФормыЗаголовокОтчета(Кнопка)
	
	УниверсальныйОтчет.УправлениеОтображениемЭлементовФормы(УниверсальныйОтчет, ЭтаФорма, Кнопка.Имя);
	УниверсальныйОтчет.УправлениеОтображениемЗаголовка(УниверсальныйОтчет, ЭлементыФормы.ПолеТабличногоДокументаРезультат);
	
КонецПроцедуры // КоманднаяПанельФормыЗаголовокОтчета()

// Процедура - обработчик нажатия кнопки "ВосстановитьНастройку"
//
Процедура КоманднаяПанельФормыВосстановитьНастройку(Кнопка)
	
	УниверсальныйОтчет.ВосстановитьНастройки(УниверсальныйОтчет, ЭтотОбъект, ЭтаФорма);
	
	
КонецПроцедуры // КоманднаяПанельФормыДействиеВосстановитьЗначения()

// Процедура - обработчик нажатия кнопки "СохранитьНастройку"
//
Процедура КоманднаяПанельФормыСохранитьНастройку(Кнопка)
	
	УниверсальныйОтчет.СохранитьНастройки(УниверсальныйОтчет, ЭтотОбъект, ЭтаФорма);
	
КонецПроцедуры // КоманднаяПанельФормыДействиеСохранитьЗначения()

////////////////////////////////////////////////////////////­////////////////////
// ПРОЦЕДУРЫ - ОБРАБОТЧИКИ СОБЫТИЙ ЭЛЕМЕНТОВ ФОРМЫ

// Процедура - обработчик нажатия кнопки "КнопкаНастройкаПериода"
//
Процедура КнопкаНастройкаПериодаНажатие(Элемент)
	
	УниверсальныйОтчет.ФормаНастройкаПериода(УниверсальныйОтчет);
	
КонецПроцедуры // КнопкаНастройкаПериодаНажатие()

// Процедура - обработчик нажатия кнопки "КнопкаМинусПериод"
//
Процедура КнопкаМинусПериодНажатие(Элемент)
	
	УниверсальныйОтчет.ФормаМинусПериод(УниверсальныйОтчет);
	
КонецПроцедуры // КнопкаМинусПериодНажатие()

// Процедура - обработчик нажатия кнопки "КнопкаПлюсПериод"
//
Процедура КнопкаПлюсПериодНажатие(Элемент)
	
	УниверсальныйОтчет.ФормаПлюсПериод(УниверсальныйОтчет);
	
КонецПроцедуры // КнопкаПлюсПериодНажатие()

// Процедура - обработчик события "Обработка расшифровки" поля табличного документа "ПолеТабличногоДокументаРезультат"
//
Процедура ПолеТабличногоДокументаРезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
	
	СтандартнаяОбработка = Ложь;
	ОбработкаРасшифровки(Расшифровка, ОтчетОбъект);
	
КонецПроцедуры // ПолеТабличногоДокументаРезультатОбработкаРасшифровки()

// Процедура - обработчик события "При изменении" поля ввода "ПолеВводаВидСравнения"
//
Процедура ПолеВводаВидСравненияПриИзменении(Элемент)
	
	УниверсальныйОтчет.ВидСравненияПриИзменении(Элемент, ЭтаФорма);
	
КонецПроцедуры // ПолеВводаВидСравненияПриИзменении()

// Процедура - обработчик события "При изменении" полей ввода "Значение", "ЗначениеС", "ЗначениеПо"
//
Процедура ПолеВводаЗначениеПриИзменении(Элемент)
	
	УниверсальныйОтчет.ЗначениеПриИзменении(Элемент, ЭтаФорма);
	
КонецПроцедуры // ПолеВводаВидСравненияПриИзменении()
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. tvm 20.04.22 09:32 Сейчас в теме
(1) в ПриОткрытии (или ПриСозданииНаСервере) вызовите ОбновитьОтчет()
3. dima2ru 20.04.22 10:38 Сейчас в теме
(2) Такой код не работает.


Процедура ПриОткрытии()
	
	ОбновитьОтчет();

КонецПроцедуры // ПриОткрытии()
4. tvm 20.04.22 10:40 Сейчас в теме
(3) что значит не работает? не формирует? ошибки выдает? и код отформатируйте чтобы удобнее было читать
5. dima2ru 20.04.22 10:46 Сейчас в теме
(4) Не формирует при открытии
7. antz 20.04.22 15:00 Сейчас в теме
(5) К событию формы процедура привязана?
8. dima2ru 20.04.22 15:02 Сейчас в теме
(7)
событию формы
Привязан обработчик событий только к кнопке "Сформировать".
9. antz 20.04.22 15:04 Сейчас в теме
(8) У формы есть события. ПриОткрытии - одно из них. Чтобы процедура ПриОткрытии срабатывала, нужно в свойствах формы к событию ПриОткрытии привязать эту процедуру. Причем, сигнатура у нее должна быть такая:

Процедура ПриОткрытии(Отказ)
6. ~Ponk@~ 13 20.04.22 14:31 Сейчас в теме
<ПриСозданииНаСервере>
10. dima2ru 20.04.22 15:12 Сейчас в теме
Привязано, но не работает
Прикрепленные файлы:
11. antz 20.04.22 15:14 Сейчас в теме
(10) вот здесь что? (Или это обычные формы?)
Прикрепленные файлы:
12. dima2ru 20.04.22 15:20 Сейчас в теме
(11)Да все верно там привязано и ведет в процедуру при открытии на скриншот выше.
Прикрепленные файлы:
13. tvm 20.04.22 15:22 Сейчас в теме
(12) параметры начала/конца периода когда заполняются?
15. dima2ru 20.04.22 15:52 Сейчас в теме
(13) Формируется без периода - пустым
14. tvm 20.04.22 15:23 Сейчас в теме
и в СформироватьОтчет() что находится
16. dima2ru 20.04.22 15:52 Сейчас в теме
(14)
Процедура ПриОткрытии()
	
	ОбновитьОтчет();
	УниверсальныйОтчет.мДействиеПолеВводаВидСравненияПриИзменении = Новый Действие("ПолеВводаВидСравненияПриИзменении");
	УниверсальныйОтчет.мДействиеПолеВводаЗначениеПриИзменении = Новый Действие("ПолеВводаЗначениеПриИзменении");
	УниверсальныйОтчет.мДействиеКоманднаяПанельФормыПечать = Новый Действие("КоманднаяПанельФормыПечать");
	УниверсальныйОтчет.ФормаПриОткрытии(УниверсальныйОтчет, ЭтотОбъект, ЭтаФорма);
	
КонецПроцедуры // ПриОткрытии()
Показать
17. dima2ru 20.04.22 15:56 Сейчас в теме
(14)
Процедура ОбновитьОтчет() Экспорт
	
	СформироватьОтчет(ЭлементыФормы.ПолеТабличногоДокументаРезультат);
	
КонецПроцедуры // ОбновитьОтчет()
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот