Имя: Пароль:
1C
1С v8
В подписке на событие отчета ОбработкаПолученияФормы не открывает другую форму
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.
Жаль только, что про это мало где пишут...
Я процедуру писал сам, руками, а если бы через автоматическое создание в поле Обработчик, он бы мне сам все параметры создал.