Данный вопрос возникает у пользователей СКД достаточно часто. Сразу отмечу, что данную задачу можно решить несколькими способами, но все они не совсем очевидные. Предлагаю, на мой взгляд, самый простой и эффективный способ решения этой задачи.
Эта тема тоже достаточна распространена. Нюанс программного изменения отбора заключается в том, что коллекция:
КомпоновщикНастроек.Настройки.Отбор.Элементы
в отличие от аналогичной коллекции параметров, не имеет метода Найти(). Можно конечно изменять отбор “в лоб”, т.е. по индексу, но это не есть хорошо. Самый оптимальный вариант, обходить все поля отбора в цикле.
Приведу пример универсальной функции для изменения отбор компоновки данных:
Часто возникают вопросы «как в СКД сделать свои итоги», «как определенные поля выводить только в нужном месте». Начнем рассказ.
В этой статье пойдет речь об основных правилах публикации Ваших статей. Пойдем по пунктам.
- Мы рады любому Вашему начинанию в качестве автора, но постарайтесь все таки сначала поискать по сайту похожий материал, и проанализировать его.
- Соблюдайте (ну хотя бы старайтесь соблюдать) правила орфографии и пунктуации.
- Еще раз проанализируйте содержание Вашей публикации, и укажите заголовок, рубрику, а также метки для Вашей публикации наиболее точно. (Конечно, мы будем стараться модерировать статьи, но, хотелось бы, чтобы наши изменения стремились к нулю.
НовыйЭлементОтбора = КомпоновщикНастроек.Настройки.Отбор.Элементы. Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ПолеОтбора = Новый ПолеКомпоновкиДанных("ИмяПоляКомпоновки"); НовыйЭлементОтбора.ЛевоеЗначение = ПолеОтбора; НовыйЭлементОтбора.Использование = Истина; НовыйЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; НовыйЭлементОтбора.ПравоеЗначение = Значение;
О рубрике
Данный цикл статей, по сути, будет обычным FAQ по вопросам СКД. Здесь вы найдете ответы на самые часто задаваемые вопросы по компоновке. Думаю, данный раздел будет очень полезным.
Естественно, первым вопросом, на который мы дадим ответ, будет тот, что указан в заголовке. Этот вопрос задавался на 1с-ных форумах миллионы раз, но новички упорно спрашивают вновь и вновь. Так зафиксируем же ответ, и будем кидаться в новичков этой ссылкой.
Как же установить параметр в СКД программно
Устанавливать параметр будем в ПриОткрытии:
Процедура ПриОткрытии() ПараметрСКД = КомпоновщикНастроек.Настройки.ПараметрыДанных. Элементы.Найти("ИмяПараметра") ПараметрСКД.Использование = Истина; ПараметрСКД.Значение = Значение; КонецПроцедуры
Мы надеемся, что наш ресурс будут посещать не только опытные специалисты, которые уже отличают «Систему компоновки данных» от «Сальдо конечное дебет», но и начинающие программисты, которые СКД не видели совсем. Вообще-то, хотелось бы верить, что начинающие возьмут в руки эту книжку (http://v8.1c.ru/metod/books/book.jsp?id=132). Но если её нет, а построить простенький отчет хочется уже сейчас, то это статья для Вас.
Пример был реализован на платформе 1С 8.2.11.232.