Получить значение реквизита из формы отчета
Есть внешний отчет с реквизитом РеквизитСтрока. Используем СКД. В процедуре ПриКомпоновкеРезультата заполняю этот реквизит. Скопировала стандартную форму отчета. Как мне прочитать этот реквизит на форме?
Просто по имени реквизита не читается. Для примера заполнила это реквизит в процедуре ПриСозданииНаСервере РеквизитСтрока="Тест111".
После формирования отчета по идее этот реквизит должен заполнится, а там так и остается значение "Тест111".
Просто по имени реквизита не читается. Для примера заполнила это реквизит в процедуре ПриСозданииНаСервере РеквизитСтрока="Тест111".
После формирования отчета по идее этот реквизит должен заполнится, а там так и остается значение "Тест111".
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) В принципе, на форме мне этот реквизит и не нужен. РеквизитСтрока я сделала уже для проверки.
Выполняется некий запрос в СКД, далее он обрабатывается и результат помещается в ТаблицуЗначений. Эта таблица значений помещается в реквизит ОсновнаяТаблицаДанных. Вот этот реквизит мне и нужен. Чтоб после выполнить с данными в ОсновнаяТаблицаДанных некие действия не выполняя заново формирование отчета.
Из модуля формы запускаю функцию модуля объекта. Но ОсновнаяТаблицаДанных уже пустая.
Функция ПолучитьДанныеДляОтчетаГруппыА обрабатывает как раз данные из реквизита ОсновнаяТаблицаДанных
Выполняется некий запрос в СКД, далее он обрабатывается и результат помещается в ТаблицуЗначений. Эта таблица значений помещается в реквизит ОсновнаяТаблицаДанных. Вот этот реквизит мне и нужен. Чтоб после выполнить с данными в ОсновнаяТаблицаДанных некие действия не выполняя заново формирование отчета.
Из модуля формы запускаю функцию модуля объекта. Но ОсновнаяТаблицаДанных уже пустая.
ОтчетОбъект = РеквизитФормыВЗначение("Отчет");
РезультатЗапроса = ОтчетОбъект.ПолучитьДанныеДляОтчетаГруппыА();
Функция ПолучитьДанныеДляОтчетаГруппыА обрабатывает как раз данные из реквизита ОсновнаяТаблицаДанных
(3)
в процедуре ПриКомпоновкеРезультата я задаю ему другое значение. А при возврате на форму он опять "Тест111".
Мне бы понять саму логику. понимаю что нужно что-то типа прочитать() для формы. Но у отчета нет такого метода.
РеквизитФормыВЗначение("Отчет") присваивает объекту значения из формы. Нужно что-то обратное или хотя бы понять как сделать чтоб на сервере (в модуле объекта) не терялись эти данные.
А почему этот реквизит после формировании отчета должен поменяться?
в процедуре ПриКомпоновкеРезультата я задаю ему другое значение. А при возврате на форму он опять "Тест111".
Мне бы понять саму логику. понимаю что нужно что-то типа прочитать() для формы. Но у отчета нет такого метода.
РеквизитФормыВЗначение("Отчет") присваивает объекту значения из формы. Нужно что-то обратное или хотя бы понять как сделать чтоб на сервере (в модуле объекта) не терялись эти данные.
Понятнее не стало. Какова изначальная цель?
Если нужно чтобы полученное значение хранилось после ПриКомпоновкеРезультата, и было доступно (не важно, на форме или в объекте), можно воспользоваться КомпоновщикНастроек.Настройки.ДополнительныеСвойства.
Таблицу значений, полученную в процедуре ПриКомпоновкеРезультата помещаете во временное хранилище, адрес которого вставляете в ДополнительныеСвойства настроек. Далее этот адрес будет доступен как при следующей компоновке результата, так и на форме.
Если нужно чтобы полученное значение хранилось после ПриКомпоновкеРезультата, и было доступно (не важно, на форме или в объекте), можно воспользоваться КомпоновщикНастроек.Настройки.ДополнительныеСвойства.
Таблицу значений, полученную в процедуре ПриКомпоновкеРезультата помещаете во временное хранилище, адрес которого вставляете в ДополнительныеСвойства настроек. Далее этот адрес будет доступен как при следующей компоновке результата, так и на форме.
(5) ну 1С не зря разнесли отдельно Отчеты, отдельно Обработки (каждый механизм предназначен для своих целей)
то о чем вы пишите это пример типичной обработки.
--пишется запрос
--по нему получается результат
--полученный результат обрабатывается
...
НУ ТАК И ИСПОЛЬЗУЙТЕ ОБРАБОТКУ!!!!
вытащите из своего отчета запрос, поместите в Обработку и дальше все как обычно!
вот нафига такие извращения? В отчете получать данные и как-то их обрабатывать?
то о чем вы пишите это пример типичной обработки.
--пишется запрос
--по нему получается результат
--полученный результат обрабатывается
...
НУ ТАК И ИСПОЛЬЗУЙТЕ ОБРАБОТКУ!!!!
вытащите из своего отчета запрос, поместите в Обработку и дальше все как обычно!
вот нафига такие извращения? В отчете получать данные и как-то их обрабатывать?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот