СКД Категории и ОТБОР
☑
0
Homer
06.06.12
✎
14:38
Делаю отчет в СКД. Есть категория у договора "ВСЕ". Как программно добавить категорию в отбор. Так Не хочет работать:
мВСЕ = Справочники.КатегорииОбъектов.НайтиПоКоду("000000105");
Если ЗначениеЗаполнено(мБездоговорноеОбслуживание) Тогда
мОтбор = КомпоновщикНастроек.Настройки.Отбор.Элементы;
Нов = мОтбор.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
Нов.Использование = Истина;
Нов.ЛевоеЗначение = мВСЕ ;
Нов.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
Нов.ПравоеЗначение = Истина;
КонецЕсли;
1
Homer
06.06.12
✎
14:39
Процедура УстановитьОтбор()
мВСЕ = Справочники.КатегорииОбъектов.НайтиПоКоду("000000105");
Если ЗначениеЗаполнено(мВСЕ ) Тогда
мОтбор = КомпоновщикНастроек.Настройки.Отбор.Элементы;
Нов = мОтбор.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
Нов.Использование = Истина;
Нов.ЛевоеЗначение = мВСЕ ;
Нов.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
Нов.ПравоеЗначение = Истина;
КонецЕсли;
КонецПроцедуры
2
kabanoff
06.06.12
✎
14:47
Одно из значений отбора должно быть полем компоновки данных.
НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлемент.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(ИмяПоля);
НовыйЭлемент.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
НовыйЭлемент.ПравоеЗначение = Значение;
3
kabanoff
06.06.12
✎
14:49
А вообще пользуйся характеристиками СКД.
4
Homer
06.06.12
✎
14:50
(3) я и так через характеристики СКД делаю.
5
Homer
06.06.12
✎
14:51
СКД вычислило мне Категорию, я хочу ее подставить в отбор.
6
kabanoff
07.06.12
✎
10:01
(5) Ну тогда имя поля в (2) должно содержать полный путь к этой категории, например,
"Твой документ.Твоя категория".
7
kabanoff
07.06.12
✎
10:05
(6) + если есть пробелы в имени, то не забывай ставить квадратные скобки.
В данном примере: "[Твой документ].[Твоя категория]".
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший