8.х Как передать значения параметра из формы отчета в запрос на компоновке?

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем maritime, 19 сен 2011.

  1. TopicStarter Overlay
    maritime
    Offline

    maritime

    Регистрация:
    22 апр 2011
    Сообщения:
    26
    Симпатии:
    0
    Баллы:
    1
    Как передать значения параметра из формы отчета в запрос если сам отчет строится на схеме компоновки данных.


    Какая процедура должна быть вроде этой:

    ТиповыеОтчеты.ОбновитьПараметрыПериодаПоФорме(КомпоновщикНастроек, ЭтаФорма);

    если задаем не период а группу справочника номенклатура?

    И еще такое условие: Если группа пустая то выводить отчет по всем группам?
    Как это условие указать если запрос пишется на схеме компоновки данных.

    спасибо.
  2. Hr0n
    Offline

    Hr0n Опытный в 1С

    Регистрация:
    17 авг 2009
    Сообщения:
    353
    Симпатии:
    0
    Баллы:
    26
    Сделать это можно несколькими способами:
    В обработчике "ПриКомпоновкеРезультата" пишете следующее:
    Код:
    Настройки = КомпоновщикНастроек.Настройки;
    ГруппаНоменклатуры =  //тут ваша группа
    Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("ГруппаНоменклатуры ", ГруппаНоменклатуры )
    
    ;
    Реквизит ГруппаНоменклатуры можно добавить в отчет а затем на форму, чтобы пользователю можно было выбирать значение нужной группы.
    Другой вариант:
    Замените стандартный обработчик "Сформировать" на свою процедуру формирования отчета:
    Код:
    ЭлементыФормы.Результат.Очистить();
    УстановитьНастройки()
    СкомпоноватьРезультат(ЭлементыФормы.Результат, ДанныеРасшифровки)
    
    Где в процедуре УстановитьНастройки() устанавливайте необходимые отборы и параметры.
    P.S. в Вашем случае (параметр группа номенклатуры) правильней и проще будет сделать не через параметры, а через отборы.

Поделиться этой страницей