СКД как установить программно отбор по списку
☑
0
skela1c
06.10.17
✎
11:21
Своя форма отчета необходимо сделать отбор по списку, подскажите пожалуйста, как это можно сделать?
1
skela1c
06.10.17
✎
11:42
В СКД в "Отборах" добавил отбор по полю "вид сравнения" "в списке" как это описать программно?
2
kittystark
06.10.17
✎
11:49
сп = новый СписокЗначений;
сп.Добавить(справочники.Номенклатура.НайтиПоНаименованию("товар1));
сп.Добавить(справочники.Номенклатура.НайтиПоНаименованию("товар2));
элОтб = КомпоновщикНастроек.Настройки.Отбор.Элементы[0];
элОтб.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
элОтб.ПравоеЗначение = сп;
элОтб.Использование = Истина;
вместо нуля влепи свой индекс
3
skela1c
06.10.17
✎
12:02
(2) Добавил отбор в настройках СКД , соответственно отбор добавился на форму . Я так предполагаю что мне к нему надо обратиться?
4
2dolist
06.10.17
✎
12:13
(2) лучше искать по названию, чем по индексу - мало ли что.
5
2dolist
06.10.17
✎
12:14
Обрати внимание, что там в КомпоновщикНастроек. есть ещё Пользовательские отборы
6
skela1c
06.10.17
✎
13:47
все достаточно просто оказалось:
Отбор = НастройкиКД .Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
Отбор.Использование = Истина;
Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Указывается путь к нужному полю");
Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
Отбор.ПравоеЗначение = Нужный список;
Основная теорема систематики: Новые системы плодят новые проблемы.