|
В подписке на событие отчета ОбработкаПолученияФормы не открывает другую форму |
☑ |
0
Birmingem
29.08.18
✎
12:17
|
Задача - при открытии любого отчета, при определенном условии вместо формы отчета открыть другую форму.
Сделал подписку на событие. Источник: ОтчетМенеджер, событие: ОбработкаПолученияФормы. В общем модуле создал процедуру:
Процедура ПриПолученииФормыОтчета(ВидФормы,Параметры,ВыбраннаяФорма,ДополнительнаяИнформация,СтандартнаяОбработка) Экспорт
СтандартнаяОбработка=Ложь;
ВыбраннаяФорма="ОбщаяФорма.ПараметрыБазы";
КонецПроцедуры
Процедура срабатывает. Но другая форма не открывается.
Смотрю в отладчике.
У параметра СтандартнаяОбработка тип почему то Струкутура, а не Булево. В структуре одно значение: ПовторноеИспользование Ложь Булево.
У параметра ВыбраннаяФорма тип тоже Стркутура, пустая.
Что надо сделать, чтобы открыть другую форму?
|
|
1
Cyberhawk
29.08.18
✎
12:37
|
Разобраться с параметрами
|
|
2
Birmingem
29.08.18
✎
12:46
|
(1)Параметры текущей формы?
Параметры = "Форма" Строка
Или параметры открываемой формы?
Во всех примерах что нашел в инете написано всего две строчки:
СтандартнаяОбработка=Ложь;
ВыбраннаяФорма="ИмяФормыКоторуюНужноОткрыть";
Что еще надо указать?
|
|
3
Cyberhawk
29.08.18
✎
13:12
|
Метода
|
|
4
Birmingem
29.08.18
✎
16:08
|
(3)А по русски?
|
|
5
Cyberhawk
29.08.18
✎
16:12
|
Через дефис
|
|
6
Birmingem
29.08.18
✎
16:14
|
А по-1С?
|
|
7
Cyberhawk
29.08.18
✎
16:14
|
(3) - это продолжение (1)
|
|
8
Birmingem
29.08.18
✎
16:19
|
(7)Пытаюсь разобраться. Голову сломал, почему так:
У параметра СтандартнаяОбработка тип почему то Струкутура, а не Булево. В структуре одно значение: ПовторноеИспользование Ложь Булево
|
|
9
Birmingem
29.08.18
✎
16:20
|
А вот если эту же процедуру положить в модуль менеджера отчета, то все работает как надо:
Процедура ОбработкаПолученияФормы(ВидФормы,Параметры,ВыбраннаяФорма,ДополнительнаяИнформация,СтандартнаяОбработка) Экспорт
СтандартнаяОбработка=Ложь;
ВыбраннаяФорма="ОбщаяФорма.ПараметрыБазы";
КонецПроцедуры
|
|
10
Cyberhawk
29.08.18
✎
16:25
|
Добавить параметров попробуй, посмотри в их значения
|
|
11
hhhh
29.08.18
✎
16:30
|
(9) если в подписке это то первый параметр Источник должен быть, а у тебя ВидФормы какой-то
|
|
12
Birmingem
29.08.18
✎
16:33
|
(11)Так в синтаксис помошнике написано:
ОбработкаПолученияФормы (FormGetProcessing)
Синтаксис:
ОбработкаПолученияФормы(<ВидФормы>, <Параметры>, <ВыбраннаяФорма>, <ДополнительнаяИнформация>, <СтандартнаяОбработка>)
Параметры:
<ВидФормы>
Тип: Строка.
Имя стандартной формы.
<Параметры>
Тип: Структура.
Параметры формы.
|
|
13
Birmingem
29.08.18
✎
16:46
|
(11)Спасибо!
Оказывается параметров должно быть столько, сколько в этой предопределенной процедуре + 1.
Жаль только, что про это мало где пишут...
Я процедуру писал сам, руками, а если бы через автоматическое создание в поле Обработчик, он бы мне сам все параметры создал.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший