Имя: Пароль:
1C
1С v8
Универсальный отчет. Менять параметр "&МойПараметр" в диалоге
0 kosvi
 
27.04.13
21:48
Доброго времени суток!

В запросе универсального отчета использую параметр &мГруппаНоменклатуры:
"ВЫБРАТЬ
                  |    Продажи.Контрагент КАК мКонтрагент,
                  |    Продажи.Номенклатура КАК мНоменклатура,
                  |    Продажи.Количество КАК Количество,
                  |    Продажи.Регистратор КАК Регистратор,
                  |    ""Насосы"" КАК мТип
                  |{ВЫБРАТЬ
                  |    мКонтрагент.*,
                  |    мНоменклатура.*,
                  |    Количество,
                  |    Регистратор.*,
                  |    мТип}
                  |ИЗ
                  |    РегистрНакопления.Продажи КАК Продажи
                  |ГДЕ
                  |    Продажи.Период МЕЖДУ &мДатаНач И &мДатаКон
                  |    И Продажи.Номенклатура В ИЕРАРХИИ(&мГруппаНоменклатуры)
...
"

Устанавливаю его в процедуре Сформировать отчет():
   УниверсальныйОтчет.ПостроительОтчета.Параметры.Вставить("мГруппаНасосов",Справочники.Номенклатура.НайтиПоНаименованию("Редуктора"));


Вопрос:
Можно ли вывести параметр в диалог, чтобы пользователь мог менять значение? Как это сделать?

Спасибо!
1 zladenuw
 
27.04.13
22:02
можно указать тип данных УниверсальныйОтчет.ПостроительОтчета.Отбор
2 zladenuw
 
27.04.13
22:05
табличное поле (1)
3 kosvi
 
27.04.13
22:12
Первое что пришло в голову
УниверсальныйОтчет.ПостроительОтчета.Отбор.Добавить("мГруппаНасосов");

Пишет ошибку.

Можно поподробнее...
4 undertaker
 
27.04.13
22:49
добавить поле на форму отчета, значение поля подставлять в параметр вместо

Справочники.Номенклатура.НайтиПоНаименованию("Редуктора")
5 kosvi
 
27.04.13
22:52
Так я использую Универсальный отчет. Как там добавить поле мГруппаНасосов в отборы, м...?
6 undertaker
 
27.04.13
22:54
(5) см (1)
7 undertaker
 
27.04.13
22:55
(3) ошибку пишет видимо потому, что это поле уже есть в Отборе
8 kosvi
 
27.04.13
23:39
Неа, нету.

Есть переменная &мГруппаНасосов, которая участвует в запросе.  

Она инициализируется вот таким способом (может быть неверно): УниверсальныйОтчет.ПостроительОтчета.Параметры.Вставить("мГруппаНасосов",Справочники.Номенклатура.НайтиПоНаименованию("Редуктора"))

Как ее добавить в отборы 'Универсального отчета'?
9 GANR
 
28.04.13
00:16
>Можно ли вывести параметр в диалог, чтобы пользователь мог менять значение?
Можно
>Как это сделать?
Влегкую :) (см. выше)

Не универсальный какой-то отчет - к конкретным метаданным обращается, а это противоречит его концепции.
10 mih_io
 
28.04.13
00:38
Делаешь обычный элемент на форме где пользователь выбирает нужное значение, в модуле отчета в текст запроса вставляешь изначально этот параметр. В форме при нажатии на кнопку сформировать и отправкой отчета в универсальную обработку вставляешь в параметр ПостроителяОтчета  нужное значение параметра с формы