|
Програмно добавлять и удалять отборы в построитель отчета | ☑ | ||
---|---|---|---|---|
0
serg-lom89
08.10.15
✎
16:10
|
Добрый день.Прошу помощи ребята.
Есть отчет и для него нужно допилить "быстрые" отборы. на форму вынес списки значений заполнил их. как теперь мне програмно добавлять отборы и удалять их если поле очищено? Вот кусок небольшого прогрмного кода отборы = ПостроительОтчета.Отбор; Для Каждого ЭлементОтбора Из отборы Цикл Если ЭлементОтбора.ПутьКданным =Имя Тогда КонецЕсли; КонецЦикла; ОтборДобавленный= отборы.Добавить(Имя); //ОтборДобавленный.Значение =ВыбОтветственныйМенеджер ; ОтборДобавленный.Использование= истина; ОтборДобавленный.ВидСравнения=ВидСравнения.Равно; //отбор =ПостроительОтчета.Отбор; добавлять добавляет но ругается на поле сравнения...(значение не вяляется обьектным типом") и как мне програмно удалять поля с отборов? |
|||
1
Господин ПЖ
08.10.15
✎
16:12
|
из типовой взять нельзя? там все готовое есть... только описать надо - сама нарисует
|
|||
2
serg-lom89
08.10.15
✎
16:14
|
(1) ну мне бы в первую очередь разобраться как нить в этом...как то для компоновщика делал так получилось..тут что то никак
|
|||
3
PuhUfa
08.10.15
✎
16:31
|
Примечание:
Добавление возможно только из коллекции доступных полей. Пример: Отбор = ОтчетОстатки.ПостроительОтчета.Отбор; Если Отбор.Найти("Номенклатура") = Неопределено Тогда Отбор.Добавить("Номенклатура"); КонецЕсли; Отбор["Номенклатура"].Использование = Истина; Отбор["Номенклатура"].Значение = Номенклатура; Отбор["Номенклатура"].ВидСравнения = ?(Номенклатура.ЭтоГруппа, ВидСравнения.ВСпискеПоИерархии, ВидСравнения.Равно); (с) СП |
|||
4
serg-lom89
08.10.15
✎
16:37
|
(3) спс.
а как удалить определенный отбор? |
|||
5
Михаил Козлов
08.10.15
✎
16:40
|
Найти и удалить:
ненужныйОтбор = Отбор.Найти("Номенклатура"); Если ненужныйОтбор<>Неопределено Тогда Отбор.Удалить(ненужныйОтбор); КонецЕсли; |
|||
6
serg-lom89
08.10.15
✎
16:41
|
т.е. если я по кнопке настройки могу отобрать то програмно я никак не смогу это сделать,так?
|
|||
7
serg-lom89
08.10.15
✎
16:48
|
(5) ненужныйОтбор = ПостроительОтчета.Отбор.Найти("Номенклатура");
Если ненужныйОтбор<>Неопределено Тогда ПостроительОтчета.Отбор.Удалить(ненужныйОтбор); КонецЕсли; для этого кода почему то пишет Несоответствие типов (параметр номер '1') ; |
|||
8
Eugene_life
08.10.15
✎
17:20
|
(7) Как вариант - отключать Использование у фильтра, вместо удаления.
|
|||
9
serg-lom89
08.10.15
✎
18:07
|
(8) как вариант
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |