8.х Добавить отборы в Построитель отчета

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем A|_E><Ey, 9 июл 2015.

  1. TopicStarter Overlay
    A|_E><Ey
    Offline

    A|_E><Ey Опытный в 1С

    Регистрация:
    13 дек 2012
    Сообщения:
    356
    Симпатии:
    2
    Баллы:
    29
    Доброе времени суток. Столкнулся с такой не понятной ситуацией. Добавляю элемент на форму "ТабличноеПоле1" с типом значения "Отбор"(Рисунок1), добавляю реквизит формы "Построитель" с типом данных "ПостроительОтчета", далее у реквизита формы "ТабличноеПоле1" устанавливаю источник данных "Построитель.Отбор".

    Мне необходимо добавить отборы в "ТабличнуюЧасть1", начинаю прописывать:
    Код:
    Построитель.Отбор.Добавить("Контрагент");
         
            Построитель.Отбор.Контрагент.ВидСравнения = ВидСравнения.Равно;
            Построитель.Отбор.Контрагент.Значение = Элемент.ТекущиеДанные.Контрагент;
            Построитель.Отбор.Контрагент.Использование = Истина;
    
    Пишет: "Не верное значение параметра 1 в процедуре 'Добавить' ".
    Пишу под обычный интерфейс, в СП сверяюсь, вроде все правильно, не пойму в чем проблема. -Banghead-

    Вложения:

    Последнее редактирование: 9 июл 2015
  2. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.565
    Симпатии:
    716
    Баллы:
    204
    Не внимательно читаете СП.

    Вот что знаем про Отбор:
    A|_E><Ey нравится это.
  3. TopicStarter Overlay
    A|_E><Ey
    Offline

    A|_E><Ey Опытный в 1С

    Регистрация:
    13 дек 2012
    Сообщения:
    356
    Симпатии:
    2
    Баллы:
    29
    Я наверное плохо вижу сегодя. Так я и добавляю отбор с типом данных "строка" или я не так понимаю
  4. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.565
    Симпатии:
    716
    Баллы:
    204
    Я для кого выделение делал? :)
    A|_E><Ey нравится это.
  5. TopicStarter Overlay
    A|_E><Ey
    Offline

    A|_E><Ey Опытный в 1С

    Регистрация:
    13 дек 2012
    Сообщения:
    356
    Симпатии:
    2
    Баллы:
    29
    Чет я никак не пойму в чем моя ошибка
  6. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.565
    Симпатии:
    716
    Баллы:
    204
    Имя доступного поля. У Отбора есть метод ПолучитьДоступныеПоляОтбора().

    На момент добавления поля в отбор, построитель в курсе о том, какие поля вообще существуют и по каким из них возможен отбор в принципе?
    A|_E><Ey нравится это.
  7. TopicStarter Overlay
    A|_E><Ey
    Offline

    A|_E><Ey Опытный в 1С

    Регистрация:
    13 дек 2012
    Сообщения:
    356
    Симпатии:
    2
    Баллы:
    29
    нет
  8. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.565
    Симпатии:
    716
    Баллы:
    204
    Так может сперва разобраться с тем, каким образом работает построитель и что нужно сделать, чтобы он узнал о полях?
    A|_E><Ey нравится это.
  9. TopicStarter Overlay
    A|_E><Ey
    Offline

    A|_E><Ey Опытный в 1С

    Регистрация:
    13 дек 2012
    Сообщения:
    356
    Симпатии:
    2
    Баллы:
    29
    Спасибо, разобрался
    --- Объединение сообщений, 9 июл 2015 ---
    Может кому пригодиться

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

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