Вход | Регистрация
 

Событие формы отчета ПриЗагрузкеПользовательскихНастроекНаСервере

Событие формы отчета ПриЗагрузкеПользовательскихНастроекНаСервере
Я
   Momus
 
24.07.20 - 19:29
Есть две конфигурации на бсп с подсистемой вариантов отчетов: одна до обновления, другая после. Обе под замком. Есть отчет, в модуле объекта которого определены два события: ПриСозданииНаСервере и ПриЗагрузкеПользовательскихНастроекНаСервере, при этом обработчика для ПриЗагрузкеПользовательскихНастроекНаСервере нет. В новой базе при попытке сформировать отчета вылетает ошибка, что не найдена процедура ПриЗагрузкеПользовательскихНастроекНаСервере - и это логично, ведь в модуле не указан обработчик для этого события. Но в то же время в старой базе с аналогичным модулем отчета все работает: отладчик тупо не заходит в эту процедуру, поэтому ошибки нет. Пользовательские настройки для этого отчета удалил. Подскажите, какое условие срабатывания этого события? В сети я нашел только упоминание пользовательских настроек
   Momus
 
1 - 24.07.20 - 19:34
erp 2.4.12.77 - новая, erp 2.4.11.83 - старая
   runoff_runoff
 
2 - 24.07.20 - 19:43
отличный тест на знание БСП
   runoff_runoff
 
3 - 24.07.20 - 19:44
отладчик заходит.. надо только правильно запустить отладку.. Фоновые задания
   runoff_runoff
 
4 - 24.07.20 - 19:46
   Momus
 
5 - 24.07.20 - 19:50
(2) да, я в курсе, что отчеты запускаются в длительной операции... не в этом дело. Ссылку (4) почитаю
   Momus
 
6 - 24.07.20 - 19:53
(5) так, я ничего нового не нашел в ней, или что-то пропускаю. Событие ПриЗагрузкеПользовательскихНастроекНаСервере есть и там, и там. В старой я до последнего шага в отладке следил за События.ПриЗагрузкеПользовательскихНастроекНаСервере, но она как была истина и оставалась. Я подумал, что возможно есть какое-то условие на само событие ПриЗагрузкеПользовательскихНастроекНаСервере. Не могу понять в чем причина
   Momus
 
7 - 24.07.20 - 19:56
В старой базе в ПрисозданииНаСервере заходит как в модуле общей формы отчета, так и в модуле объекта самого отчета. Но с ПриЗагрузкеПользовательскихНастроекНаСервере почему-то нет. Т.е. по идее ошибка есть и в старой и в новой, т.к. не определено событие ПриЗагрузкеПользовательскихНастроекНаСервере, но возникает она почему-то только в новой
   Momus
 
8 - 24.07.20 - 19:59
Даже в следующем по очередности событии "ПриОбновленииСоставаПользовательскихНастроекНаСервере" НастройкиОтчета.События.ПриЗагрузкеПользовательскихНастроекНаСервере все еще равны истине. Т.е. настройки не где-то там изменяются, а как будто на уровне платформы игнорируется
   runoff_runoff
 
9 - 24.07.20 - 20:00
в модуле менеджера прописывается запуск процедур в форме.. ПриОпределенииНастроек()
   Momus
 
10 - 24.07.20 - 20:08
(9) в модуле менеджера чего? Отчета? Это делает в модуле объекта. В сабже эти два события определены, но обработчика для одного из них нет
   runoff_runoff
 
11 - 24.07.20 - 20:14
в модуле объекта ОпределитьНастройкиФормы(), а не ПриОпределенииНастроек()
   Momus
 
12 - 24.07.20 - 20:17
(11) если речь идет о модуле менеджера, то там кроме подключаемых команд ничего нет
   Momus
 
13 - 24.07.20 - 20:17
модуле менеджера отчета*
   runoff_runoff
 
14 - 24.07.20 - 20:18
форма отчета встроенная или в отчете эксклюзивная?
   Momus
 
15 - 24.07.20 - 20:20
(14) встроенная
   Momus
 
16 - 24.07.20 - 20:28
"При выполнении команды Установить стандартные настройки форм отчетов и динамических списков наблюдается следующее поведение:
● Не вызываются обработчики событий ПередЗагрузкойПользовательскихНастроекНаСервере и ПриЗагрузкеПользовательскихНастроекНаСервере.", - с просторов
   Momus
 
17 - 24.07.20 - 20:29
   runoff_runoff
 
18 - 24.07.20 - 20:33
смотрим модуль стандартной формы отчета (УТ 11.4.11.55)

&НаСервере
Процедура ПередЗагрузкойПользовательскихНастроекНаСервере(НовыеПользовательскиеНастройкиКД)
    
    Если НастройкиОтчета.События.ПередЗагрузкойНастроекВКомпоновщик Тогда
        // Подготовка к переинициализации.

        Попытка
            НовыеПользовательскиеНастройкиXML = ОбщегоНазначения.ЗначениеВСтрокуXML(НовыеПользовательскиеНастройкиКД);
        Исключение
            НовыеПользовательскиеНастройкиXML = Неопределено;
        КонецПопытки;
        НастройкиОтчета.Вставить("НовыеПользовательскиеНастройкиXML", НовыеПользовательскиеНастройкиXML);
    КонецЕсли;
КонецПроцедуры

&НаСервере
Процедура ПриЗагрузкеПользовательскихНастроекНаСервере(НовыеПользовательскиеНастройкиКД)
    Если Параметры.Свойство("АвтоТест")
        Или Не РежимВариантаОтчета() Тогда
        Возврат;
    КонецЕсли;
    
    Если НастройкиОтчета.События.ПриЗагрузкеПользовательскихНастроекНаСервере Тогда
        ОтчетОбъект = РеквизитФормыВЗначение("Отчет");
        ОтчетОбъект.ПриЗагрузкеПользовательскихНастроекНаСервере(ЭтотОбъект, НовыеПользовательскиеНастройкиКД);
    КонецЕсли;
КонецПроцедуры
   runoff_runoff
 
19 - 24.07.20 - 20:42
ПередЗагрузкойНастроекВКомпоновщик - косяк или фича
   Momus
 
20 - 24.07.20 - 20:43
(18) да блин, ну не заходит он туда! Во все остальные события да, а в это нет, хоть оно есть в настройках. Судя по (17) дело в пользовательских настройках
p.s. научи вставлять код
   Momus
 
21 - 24.07.20 - 20:44
(19) не понял
   runoff_runoff
 
22 - 24.07.20 - 20:49
(21) в первой процедуре ПередЗагрузкойПользовательскихНастроекНаСервере
   runoff_runoff
 
23 - 24.07.20 - 20:50
(20) а есть ли в отчете в принципе пользовательские настройки?
   Momus
 
24 - 24.07.20 - 20:56
(22) ааа. в ерп также называется. Не отчет примитивный, даже без параметра (документа из которого вызывается) не работает. Я щас взял в старой базе и установил стандартные настройки. Теперь в старой отчет тоже не работает))
   Momus
 
25 - 24.07.20 - 21:01
в общем я не буду париться, исправлю отчет в расширении. С самого начала было понятно, что это баг релиза (как минимум ему два месяца). Непонятно было, почему в одной работает базе, а в другой нет. Теперь непонятно почему после установки стандартных настроек отчет перестал работать даже в старой


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.