Имя: Пароль:
1C
 
БСП 3.1 НЕ отрабатывает ПриСозданииНаСервере в ОФ "ФормаОтчета"
,
0 bvb
 
25.09.24
07:51
доброго дня

Нужно вызвать ПриСозданииНаСервере в модуле объекта в своем добавленном отчете в расширении

В типовой общей форме БСП "ФормаОтчета" вызов этой процедуры идет :
Если НастройкиОтчета.События.ПриСозданииНаСервере Тогда
        ОтчетОбъект.ПриСозданииНаСервере(ЭтотОбъект, Отказ, СтандартнаяОбработка);
КонецЕсли;

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

А в модуле менеджера :
Процедура НастроитьВариантыОтчета(Настройки, НастройкиОтчета) Экспорт
    НастройкиОтчета.ОпределитьНастройкиФормы = Истина;

ОпределитьНастройкиФормы - не отрабатывает сотвественно НастройкиОтчета.События.ПриСозданииНаСервере - ложь

ЧЯДНТ ?
1 Мимохожий Однако
 
25.09.24
08:50
(0) Что такое ОФ "ФормаОтчета"? В отладчике доходишь до модуля формы? Какая конфигурация?
2 DiMel_77
 
25.09.24
09:33
(0) А что у вас в процедуре "ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов"? Вызываете "ВариантыОтчетов.НастроитьОтчетВМодулеМенеджера()"?

Т.е. в модуле менеджера должен быть код:
// СтандартныеПодсистемы.ВариантыОтчетов

// См. ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов.
//
Процедура НастроитьВариантыОтчета(Настройки, НастройкиОтчета) Экспорт
    
    НастройкиОтчета.ОпределитьНастройкиФормы = Истина;
3 bvb
 
25.09.24
11:18
(1) общая форма "ФормаОтчета"
в ней идет вызов
Если НастройкиОтчета.События.ПриСозданииНаСервере Тогда
        ОтчетОбъект.ПриСозданииНаСервере(ЭтотОбъект, Отказ, СтандартнаяОбработка);

Конфигурация УНФ 3.0
4 bvb
 
26.09.24
15:39
(2)  
Да все это есть. И в модуле. И в модуле менеджера отчета
Только в типовом отчете процедура ОпределитьНастройкиФормы из модуля формы вызывается а в моем , добавленном в расширении нет
5 DiMel_77
 
26.09.24
16:15
(4) Вспомогательные данные обновляли?
6 bvb
 
26.09.24
21:52
(5) Да запустил обработку ОбновлениеВспомогательныхДанных для соответвующей версии БСП а также базу с парметром запуска

/С ЗапуститьОбновлениеИнформационнойБазы

не помогло
7 DiMel_77
 
27.09.24
08:45
(6) А что показывает отладка в процедуре ВариантыОтчетов.НастройкиОтчета()?

Т.е. там должен быть код типа:

Попытка
        ОтчетОбъект.ОпределитьНастройкиФормы(Неопределено, КлючВарианта, НастройкиОтчета);

Исключение
...

Какое исключение получается?
8 DiMel_77
 
27.09.24
09:56
(7) + Теоретически, после обновления вспомогательных данных отработки регламентного задания "Заполнение параметров работы расширений" отчет из расширения должен быть добавлен в регистр сведений
"ПараметрыРаботыВерсийРасширений".

Если выполнить код:
ПараметрыРасширений = СтандартныеПодсистемыСервер.ПараметрРаботыРасширения("СтандартныеПодсистемы.ВариантыОтчетов");
ОтчетыСНастройками = ПараметрыРасширений.ОтчетыСНастройками;

В массиве ОтчетыСНастройками есть этот отчет?
9 bvb
 
27.09.24
10:50
(7) Код есть в типовом отчете программа туда заходит и вызывает ОпределитьНастройкиФормы из модуля менеджера отчета.

В моем отчете туда вообще не хаходит
10 DiMel_77
 
27.09.24
11:08
(9) А регламентное задание "Заполнение параметров работы расширений" выполняли?
11 bvb
 
27.09.24
11:42
(10) выполнил. не помогло
12 bvb
 
27.09.24
11:48
Может можно вызвать
НастройкиОтчета.ОпределитьНастройкиФормы = Истина;

в другой предопределенной процедуре а не в
НастроитьВариантыОтчета()
модуля менеджера отчета ?
или сразу установить
    Настройки.События.ПриСозданииНаСервере = Истина;
?
13 DiMel_77
 
27.09.24
12:10
ХЗ, по идее должен после обновления вспомогательных данных (если не было ошибки в процедуре ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов() модуля менеджера отчета) добавиться новый элемент справочника "Предопределенные варианты отчетов расширений", а дальше как с обычными вариантами работать...
14 bvb
 
08.10.24
18:26
Гештальт закрыт :
Нужно дописать в расширении в ВариантыОтчетовПереопределяемый
&После("НастроитьВариантыОтчетов")
Процедура KMS_НастроитьВариантыОтчетов(Настройки)
    
    ВариантыОтчетов.НастроитьОтчетВМодулеМенеджера(Настройки, Метаданные.Отчеты.МойОтчет);

КонецПроцедуры

см. https://blog.livegig.ru/archives/2452
15 bvb
 
08.10.24
18:31
Если коротенечко по пунктам (чтобы люди не искали)

1. В модуле менеджера нового отчета отчета
Процедура НастроитьВариантыОтчета(Настройки, НастройкиОтчета) Экспорт
        
    НастройкиОтчета.ОпределитьНастройкиФормы = Истина;
        
КонецПроцедуры

2. В модуле объекта
Процедура ОпределитьНастройкиФормы(Форма, КлючВарианта, Настройки) Экспорт

    Настройки.События.ПриСозданииНаСервере = Истина;
        
КонецПроцедуры

Процедура ПриОпределенииНастроекОтчета(НастройкиОтчета, НастройкиВариантов) Экспорт
    
    НастройкиОтчета.НастроитьВариантыОтчета = Истина;
        
КонецПроцедуры

3. в расширении в ВариантыОтчетовПереопределяемый
&После("НастроитьВариантыОтчетов")
Процедура KMS_НастроитьВариантыОтчетов(Настройки)
    
    ВариантыОтчетов.НастроитьОтчетВМодулеМенеджера(Настройки, Метаданные.Отчеты.МойОтчет);

КонецПроцедуры

4. запустить ОбновлениеВспомогательныхДанных