Установить отбор программно в разных вариантах отчета
☑
0
Nyarlathotep
19.02.18
✎
10:10
Всем привет!
Нужно установить отбор программно в разных вариантах одного отчета (во всех вариантах поле, по которому делаем отбор называется по разному, каждый вариант берет банные из своего набора данных).
Делаю в модуле объекта вот так:
НастройкиОтчета = КомпоновщикНастроек.ПолучитьНастройки();
НовыйЭлементОтбора = НастройкиОтчета.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ПолеОтбора = Новый ПолеКомпоновкиДанных("МенеджерДокумента");
НовыйЭлементОтбора.ЛевоеЗначение = ПолеОтбора;
НовыйЭлементОтбора.Использование = Истина;
НовыйЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
НовыйЭлементОтбора.ПравоеЗначение = Справочники.Пользователи.НайтиПоНаименованию("Мой пользователь");
Для одного варианта, в котором есть поле "Менеджер документа" все работает, но все остальные варианты не показывают ничего вообще.
А как правильно сделать, чтоб отбор установился для всех вариантов?
1
nordbox
19.02.18
✎
10:12
И не будет, внимательно читай свой код
2
Nyarlathotep
19.02.18
✎
10:14
Как мне в модуле объекта понять, какой именно вариант используется, чтобы указать нужное поле отбора?
3
Nyarlathotep
19.02.18
✎
10:14
(1) А что с кодом то не так?
4
nordbox
19.02.18
✎
10:14
НУ дык получи вариант отчета
5
Nyarlathotep
19.02.18
✎
10:15
(4) А как его получить? Я с СКД программно не работал еще...
6
nordbox
19.02.18
✎
10:17
Надеюсь модераторы не будут ругаться
Дальше разберешься
7
Nyarlathotep
19.02.18
✎
10:31
(0) Вот так получилось:
если НастройкиОтчета.ДополнительныеСвойства.ВариантНаименование = "Основной" тогда
НовыйЭлементОтбора = НастройкиОтчета.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ПолеОтбора = Новый ПолеКомпоновкиДанных("МенеджерДокумента");
НовыйЭлементОтбора.ЛевоеЗначение = ПолеОтбора;
НовыйЭлементОтбора.Использование = Истина;
НовыйЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
НовыйЭлементОтбора.ПравоеЗначение = Справочники.Пользователи.НайтиПоНаименованию("Мой пользователь");
конецесли;
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn