Имя: Пароль:
1C
1С v8
УФ Реквизит отчета : установить в модуле форы - прочитать в ПриКомпоновкеРезультата()
0 ЭЦ
 
26.05.23
16:03
Господа !
Имеется внешний отчет.
Пользователь на форме выбирает файл, читает его и записывает в хранилище.
Адрес хранилища надо передать в процедуру ПриКомпоновкеРезультата() этого же отчета.

Добавил новый реквизит отчета : "АдресХранилища"

В модуле формы создал процедуру :
&НаСервере
Процедура УстановимРеквизитОтчета(Адрес)
    ОтчетОбъект = РеквизитФормыВЗначение("Отчет");      
    ОтчетОбъект.АдресХранилища = Адрес;    
КонецПроцедуры

В отладчике наблюдаю, что при вызове процедуры из формы отчета адрес заполняется корректно.

При попытки получить заполненное значение в процедуре ПриКомпоновкеРезультата() - наблюдаю пустое значение реквизита.
В чем тут и чего ей не хватает?
Прошу подсказать.
1 unenu
 
26.05.23
16:22
Отчет.АдресХранилища = Адрес;
2 ЭЦ
 
26.05.23
16:34
(1) Так не получается :
Реквизит формы <Отчет> не имеет моего реквизита -  АдресХранилища
только КомпоновщикНастроек
3 ЭЦ
 
26.05.23
17:07
Попробовал в модуле отчета создать экспортную переменную
Перем ГлобСтрока Экспорт;

Она видна в серверной процедуре модуля формы отчета и успешно там заполняется.
Но при нажатии "Сформировать" в процедуре ПриКомпоновкеРезультата() - опять не заполнена.
4 Волшебник
 
26.05.23
17:15
УстановимРеквизитОтчета - плохое название для процедуры
5 ЭЦ
 
26.05.23
17:20
(4) Поменял на УстановитьРеквизитОтчета
результата - тот же
6 Мультук
 
26.05.23
17:45
(5)

При нажатии кнопки Сформировать таки выводит "Какая - то хрень"

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Отчет.АдресХранилища = "Какая - то хрень";
КонецПроцедуры


Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    Сообщить(ЭтотОбъект.АдресХранилища);
КонецПроцедуры


Отчет
https://dropmefiles.com/0ALDR
7 ЭЦ
 
26.05.23
18:05
(6) Спасибо.
Ваш отчет у меня тоже работает.
Мой по прежнему - не работает.
У меня реквизит АдресХранилища не виден в списке реквизитов реквизита <Отчет> формы.
Единственное отличие у меня форма является формой настроек отчета, у Вас - это ФормаОтчета
8 ЭЦ
 
26.05.23
18:09
(6) У вас в списке реквизитов реквизита Отчет формы доступен АдресХранилища
У меня нет.
9 Мультук
 
26.05.23
18:10
(8)

Самое время написать новый отчет с нуля, копи-пастя части старого отчета
10 ЭЦ
 
26.05.23
18:11
Странно что ФормаНастроек не дает доступа моему реквизиту отчета
Попозже попробую переделать как у Вас.
Посмотрим что выйдет
11 ЭЦ
 
29.05.23
11:28
Переопределил в Вашем отчете форму как форму настроек - по прежнему Все работает.
У меня форма - стандартная форма настроек СКД с добавленым реквизитом на форму - его то и не видно.
Значит надо стандартную форму ковырять
12 Мультук
 
29.05.23
11:42
(11)

https://ibb.co/MRPZGWG

Тип. Тип отчёта (см рис).
Не знаю как вам еще по другом подсказать
13 ЭЦ
 
29.05.23
15:22
(12) Да, это оно.
В стандартной форме настроек тип просто Отчет и соответственно мой не стандартный реквизит отсутствует.
Теперь оно заработало.
Спасибо за наводку.