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