|
СКД Категории и ОТБОР
| ☑ |
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) + если есть пробелы в имени, то не забывай ставить квадратные скобки.
В данном примере: "[Твой документ].[Твоя категория]".
|
|