8.х Схема компоновки данных

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем ЧКДзержинский, 4 сен 2009.

  1. TopicStarter Overlay
    ЧКДзержинский
    Offline

    ЧКДзержинский Опытный в 1С

    Регистрация:
    7 дек 2006
    Сообщения:
    487
    Симпатии:
    3
    Баллы:
    29
    Доброе время суток!
    Есть такая вот заморочка.
    Имеется отчет, созданный с использованием схемы компоновки данных. В компоновке данных используется запрос, в котором есть условие "Номенклатура В ИЕРАРХИИ (&Номенклатура)".
    Мне нужно добавить на форму отчета поле ввода типа Справочник.Номенклатура и привязать значение этого поля к параметру в запросе.
    Вообще в идеале, нужно добавить на форму три поля: галочка "Номенклатура", Вид сравнения и поле ввода типа "Справочник.Номенклатура" - и все это привязать к запросу в схеме компоновки данных.
    Кто-нибудь знает как это сделать?
  2. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Здраствуйте!

    Код:
    ПараметрКД_Номенклатура = Новый ПараметрКомпоновкиДанных("Номенклатура"); - На основании имени параметра
    Номенклатура = КомпоновщикНастроек.Настройки.ПараметрыДанных.ДоступныеПараметры.НайтиПараметр(ПараметрКД_Номенклатура);  - Ищем параметр среди доступных параметров СКД
    Номенклатура = ЗначениеНоменклатуры; - Пишем в параметр значение
    
    Вы сами себе ставите вместо одной задачу две, можно сделать гораздо проще
    Код:
    "Номенклатура В ИЕРАРХИИ (&Номенклатура)".
    
    Выкидывайте из запроса, забудте про построитель отчета - это компоновщик
    Далее делаем так

    Код:
    ОтборНоменклатуры = КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ОтборНоменклатуры.ЛевоеЗначение = ---; // Значение, что сравниваем
    ОтборНоменклатуры.ПравоеЗначение = ---- // Значение в правом поле отбора, по условию пользователя, с чем сравниваем
    ОтборНоменклатуры.ВидСравнения = ---; // Как сравниваем
    ОтборНоменклатуры.Использование = истина; // Использовать отбор
    
    Удачи!!!

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