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

Версия для печатиPDF-версия

В большинстве случаев для автоматического формирования отчета при открытии достаточно добавить в структуру параметров формы свойство "СформироватьПриОткрытии" и присвоить ему значение "Истина".

&НаКлиенте
Процедура ОткрытьОтчет(Команда)
	ПараметрыФормы = Новый Структура("СформироватьПриОткрытии", Истина);
	ОткрытьФорму("Отчет.МойОтчет.Форма", ПараметрыФормы);
КонецПроцедуры

Однако данный способ срабатывает не всегда.

Представляю 2 альтернативных варианта реализации данного механизма. В любом случае необходимо создать основную форму отчёта.

1. В модуле формы отчёта вызвать метод СкомпоноватьРезультат.

СкомпоноватьРезультат();

2. В обработчик события ПриОткрытии формы отчёта добавить код, имитирующий нажатие клавиш CTRL+Enter.

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	Wsh = Новый COMОбъект("Wscript.shell");
	Wsh.SendKeys("^{Enter}");
КонецПроцедуры
Полезность материала: 
5
Ваша оценка: Нет Средняя: 5 (2 оценок)
Оцените полезность материала

Комментарии

Огромное спасибо за идею, очень помог ваш код!

Пожалуйста, пользуйтесь на здоровье)

Я так понимаю данная тема актуальна только для режима управляемого приложения ?

В обычной форме можно сформировать отчет в процедуре при открытии.

Всё верно. Статья актуальна для управляемого приложения.

© При копировании материалов сайта ссылка на оригинал обязательна.