Имя: Пароль:
1C
 
Процедура "ПриСозданииНаСервере" в отчете. Как вызвать?
,
0 Varlant1n
 
26.05.21
11:53
Здравствуйте, ребята! Есть созданный мною отчет. В модуле объекта отчета прописал процедуру "ПриСозданииНаСервере" экспортную. Но при создании программа не попадает в эту процедуру. Сделал все так как в стандартных отчетах. У отчета формы нет, вместо формы задана общая форма отчета. По идее он должен попадать в процедуру в модуле объекта, но не попадает. При этом в модуле объекта есть процедура "ПриКомпоновкеРезультата" (не экспортная) она работает. Кто-то сталкивался с данной проблемой? Значете как ее можно решить?
1 kobzon2
 
26.05.21
11:57
Прям вручную прописал "ПриСозданииНаСервере"?
2 Гипервизор
 
26.05.21
11:57
Возникает на сервере при создании формы.
Так с чего бы попадать в модуль объекта?
3 Varlant1n
 
26.05.21
11:58
(1) Да. В модуле объекта отчета не в ручную доступны только процедуры "ПриКомпоновкеРезультата" и "ОбработкаПроверкиЗаполнения".
4 Varlant1n
 
26.05.21
11:59
(2) Но в стандартных отчетах я пробегаю по отладке и он попадает в данную процедуру
5 fisher
 
26.05.21
11:59
Да, я сталкивался с такой проблемой в самом начале. Но потом я все-таки научился пользоваться СП, исследовать объектную модель 1С и перестал ожидать от программы поведения согласно моим фантазиям.
6 Гипервизор
 
26.05.21
11:59
(3) И вы решили, что нашли лайфхак?
7 Varlant1n
 
26.05.21
12:01
(6) Нет, просто нужно установить отбор программнв п процедуре "ПриСозданииНаСервере", поэтому и решил ее создавать
8 fisher
 
26.05.21
12:04
(7) У объекта отчет нет такого события. Если в каком-то отчете в модуле есть такая процедура, то очевидно она вызывается из формы, где такое событие есть. Без формы не взлетит.
9 Varlant1n
 
26.05.21
12:06
(8) У отчета есть форма "Общая ФормаОтчета" там есть процедура "ПриСозданииНаСервере". Все стандартные отчеты ссылаются на эту форму. При этом в модулях объектов данных отчетов есть экспортная процедура "ПриСозданииНаСервере".
10 fisher
 
26.05.21
12:08
(9) Значит, из этой общей формы и вызывается. Что за конфа?
11 fisher
 
26.05.21
12:09
Короче, тупо поставь точку останова в модуле, открой стек вызовов в отладчике и увидишь, откуда пришел вызов.
12 Varlant1n
 
26.05.21
12:10
(10) УТ,  8.3
13 ДенисЧ
 
26.05.21
12:10
УТ 8.3? Это что-то из лохматых 2000х?
14 fisher
 
26.05.21
12:11
(12) А номер УТ? Не верится, что на УФ такое может быть.
15 Varlant1n
 
26.05.21
12:11
(14) Управление торговлей, редакция 11 (11.4.13.136)
16 Varlant1n
 
26.05.21
12:15
В модуле общей формы в процедуре при создании на сервере есть условие:

Если НастройкиОтчета.События.ПриСозданииНаСервере Тогда
    ОтчетОбъект.ПриСозданииНаСервере(ЭтотОбъект, Отказ, СтандартнаяОбработка);
КонецЕсли;


Я прописал в своем отчете:

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

Но все же он не попадает в это условие
17 hhhh
 
26.05.21
12:16
(15) скачай эту общую форму в свой отчет, это займет у тебя 7 секунд. Чего-то паришься из-за какой-то ерунды.
18 Varlant1n
 
26.05.21
12:19
(17) Спасибо за совет, друг. Я просто хотел научиться на будущее вызывать данную процедуру из общей формы. Я в приниуипе могу создать форму отчета и процедуру "ПриСозданииНаСервере" в ней
19 fisher
 
26.05.21
12:20
(16) Запусти в поиск по конфе "События.ПриСозданииНаСервере" и посмотри как оно заполняется для работающих отчетов. А еще проще - возьми за "рыбу" один из таких рабочих отчетов и выбрось лишнее.
20 banco
 
26.05.21
12:48
(0) Подсистема варианты отчета, посмотри на итс как настраивается https://its.1c.ru/db/bsp314doc#content:4:1:issogl1_варианты_отчетов
Ошибка? Это не ошибка, это системная функция.