Программно добавить отбор в скд 1с

Обновлено: 04.07.2024

Сначала получаем форму.

Если отчет хранится в базе тогда выполняем на клиенте код:

Далее получаем настройки:

Через серверный вызов получаем настройки и если нужно заполняем параметры Компоновщика в отдельной процедуре.

Загружаем измененные настройки в компоновщик

Код выполняется на клиенте, сначала мы формируем структуру с необходимыми параметрами формы, а потом вызываем процедуру открытия. Часто используемые параметры в данном случае это:

Сначала получаем схему компоновки данных. Схема может быть получена из разных источников: общий макет, макет прикладного объекта, такого как справочник или отчет, макет из внешней обработки.

Код выполняется на сервере.

Получение локального макета

Получение макета произвольного отчета

Получение макета во внешней обработке

Получение макета из внешней обработки или отчета

Далее мы получаем настройки. Настройки СКД могут быть взяты из разных источников. Мы можем их получить из самой СКД:

Мы можем создать новый компоновщик настроек на основе схемы и получить настройки из него.

Мы можем получить настройки с отдельного компоновщика настроек, добавленного на произвольную форму.

И когда будем формировать

Далее программно заполняем параметры Компоновщика. Об этом подробно в разделе 4 .

Объявляем создаем необходимые объекты:

Создаем макет компоновки с помощью компоновщика макета:

Если результат выполнения СКД нужно вывести в таблицу значений то соответствующий тип генератора нужно указать в параметрах:

Инициализируем процессор компоновки данных

Создаем процессор вывода:

Для вывода в таблицу значений используется другой процессор вывода:

Запускаем процесс вывода:

Теперь мы можем проводить нужные операции с полученными данными.

Если вывод в таблицу значений завершился ошибкой “Не поддерживается вывод таблиц и диаграмм в универсальную коллекцию значений” значит настройки СКД не подходят для такой выгрузки, и нужно их изменить, об этом ниже.

При программном формировании СКД как в пункте 2 у нас есть огромное количество возможностей по управлению отчетом. Опишем самые часто используемые из них.

Или если с добавлением нового параметра

Переменная Настройки содержит в себе всю палитру настроек которая доступна в редакторе СКД в разделе “Настройки”. Наиболее часто из них программно редактируются отборы, параметры и структура, в случае когда отчет с табличной структурой надо вывести в таблицу значений. Рассмотрим их подробнее.

Параметры

Все параметры создаются при создании исходного отчета, исключение если параметр был добавлен при редактировании запроса. Значение существующего параметра устанавливается следующим образом:

Добавление параметра делается следующим образом

Отбор

У отборов нет специальных функций по установке значений. Поэтому нужно перебирать коллекцию циклом.

Структура

Для адаптации отчета к выводу в таблицу значений нужно очистить структуру группировок отчета и создать поле группировки “Детальные записи”.

Программист может упростить работу пользователя по вводу параметров и отборов если есть некоторая закономерность в них, но они всё таки не фиксированы. К примеру, сравнительный отчет по продажам за этот месяц этого года и аналогичные месяца трех предыдущих годов.

Приведенные примеры кода были протестированы на платформе 1С:Предприятие 8.3 (8.3.13.1690).

В нужном месте добавляем кнопку вызова отчета, где пишем:

Специальные предложения

Electronic Software Distribution

Интеграция 1С с системой Меркурий

Алкогольная декларация

Готовые переносы данных

54-ФЗ

Управление проектом на Инфостарте

Траектория обучения 1С-разработчика

Надо не по интернету бродить, а по ИТС и синтаксис-помощнику)
Как с помощью команды выполнить отчет с некоторыми параметрами?
Как программно запустить отчет, передав в него значения отбора? Светлый ум; Meson; armeec92; weissfeuer; Yashazz; Поручик; + 6 – 3 Ответить (0) Ваш код в управляемом приложении работать не будет. Кто-нибудь наткнётся, сделает по образцу, убедится в очередной раз "В интернете много решений, часть не работает" и всё заверте. SadrA; rpgshnik; user811769; dj_serega; VachKirp; JohnyDeath; orfos; + 7 – Ответить (3) Поддерживаю - не отработает данный блок при разделение на "клиент" и "сервер" Ну или Хрусталёву почитайте, или просто код типовой конфы посмотрите. (4) Yashazz, не подскажете, где в типовых конфигурациях можно посмотреть? Интересует механизм для управляемого приложения. Для управляемого приложения нужно видимо по предыдущим коментам ходить - это только для обычного, сам изучаю упр приложение.
К сожалению не осталось ссылки, но где то в предыдущей мой статье в коментах писали про встроенные механизмы ( как в 10.3 жмёшь свойства на форме и там где то настраиваешь - попробую поискаить статью снова Работает в УТ но только в толстом клиенте. Приходится выбирать режим запуска. Некошерно как-то (8) juricher, в управляемом отбор передаете в параметрах открываемой формы - и все. Читайте синтаксис-помощник - умные существа писали. Это называется: "Пока другие умничали и давали очень умные советы пришел мужик, взял молча молоток и вбил гвоздь".
Просто и практично.
Спасибо.

Как работает в упр. формах

(11) Круто сделал по вашему образцу все работает как надо Добрый вечер!
Подскажите, а как передать параметр в отчет если в СКД в типовом отчете он идёт как "АналитикаНоменклатуры.Номенклатура", типа отбор через "."
Пробовал создавать и структуру в структуре и через точку - не помогает, или ругается или пишет что не видит поле :( Все конечно жутко умные, но только в простых формах вам автоматически дядя Пушкин отчет не запустит. Поэтому нормальное решение. Правда, без расшифровок почему то формирует. Приходится ещё раз нажимать "Сформировать" (15) В методе "СкомпоноватьРезультат" нужно указать вторым параметром "тФорма.ДанныеРасшифровки", тогда будет работать расшифровка.
(17) Благодаря совету по расшифровкам, получилось именно то, что было нужно. Спасибо!

Просмотры 65257

Загрузки 0

Рейтинг 30

Создание 05.06.14 18:47

Обновление 05.06.14 18:47

№ Публикации 286563

Тип файла Нет файла

Конфигурация Конфигурации 1cv8

Операционная система Windows

Вид учета Не имеет значения

Доступ к файлу Бесплатно (free)

Код открыт Да

Интенсив предусматривает изучение процессов, инструментов и методик DevOps, их применение при разработке на платформе 1С. DevOps для 1С. Онлайн-интенсив проходит с 22 ноября по 21 декабря 2021 года.

См. также

Аналог PIVOT в запросе 1С (как выполнить транспонирование таблицы в запросе 1С) Промо

В статье показывается простой метод реализации аналога оператора PIVOT в запросе 1С без использования соединений.

12.12.2020 4561 Eugen-S 23

Варианты применения СКД вне отчетов в отраслевых конфигурациях

Директор и ведущий разработчик компании «Арт Порт» Максим Артеменко выступил на митапе, посвященном практике применения СКД. Максим рассказал о вариантах применения механизма настроек СКД для решения нестандартных задач – визуального оформления, сегментирования данных и автоматического заполнения примечаний к документам.

18.11.2021 1279 drmaxart 0

Грабли на СКД

Наиболее частые проблемы, с которыми сталкиваются программисты 1С при разработке отчетов на СКД.

02.11.2021 3685 echo77 16

СКД: 5 советов, как сделать лучше

Несколько примеров решения задач с использованием разных подходов

27.10.2021 4479 Neti 19

27.01.2016 85840 Serginio 116

Что за ? в коде, или Секретный оператор в 1С

Инкремент, модуль и прочая магия, которая скрыта под символом "?"

21.10.2021 8372 SeiOkami 41

Программное создание отчета на СКД с расшифровкой (обычные формы)

Допустим, в конфигурации имеется отчет на СКД и нам нужно его формировать из другой формы, не связанной с ним. Казалось бы, все просто – можно взять из отчета схему, исполнить ее программно и вывести на форму того же отчета.

04.10.2021 1091 Neti 4

Программное открытие отчета СКД с параметрами и отбором

Периодически возникает задача открытия формы отчёта СКД уже со сформированным отчётом, с определёнными параметрами и отборами. В данной публикации рассматриваются способы сделать это как в обычном приложении, так и в управляемом.

07.08.2021 5347 Eugen-S 19

Звуковое управление в 1С 8.3 Промо

В данной статье описано создание библиотеки для звукового управления (выполнение команд голосом) для платформы 1С 8.3. Задача была поставлена так, чтобы модуль функционировал непосредственно на клиенте 1С, осуществляя управление формами, и взаимодействовал с интерфейсом.

16.03.2021 7229 velemir 33

СКД: скрываем нужные группы (блоки) по требованию пользователя

Видимость блоков в определённой группе, регулируемая пользователем в отчёте СКД.

14.07.2021 2725 olja-ljaaa 7

Изменение расшифровки макета СКД до компоновки

Это не про работу с данными расшифровки. Это про изменение расшифровок полей ДО того, как СКД выполнилась. Быстрый способ сделать нужные расшифровки.

12.07.2021 2434 Yashazz 6

Чтоб в СКД по таблице значений был порядок!

Сортировка СКД и источник - таблица значений. Заметка.

28.06.2021 1364 Yashazz 0

Serverless (Faas) в 1С. Создание и вызов Yandex Cloud Functions Промо

"Я не могу просто взять и скопировать код с гитхаба", "у нас 1С микросервисами окружена", "возможностей мало" - частые фразы 1С разработчиков. которым не хватает возможностей платформы в современном мире. Faas, конечно, история не новая, но нас сдерживало 152ФЗ и задержки по пингам. Для того, чтобы действительно использовать в 1С код, к примеру, на Python, надо было приложить усилия. Теперь всё намного проще - берём и используем.

28.12.2020 8963 comol 31

Формирование отчета СКД с расшифровкой из обработки

Формирование отчета СКД из обработки немного отличается от формирования из отчета.

27.04.2021 4238 John_d 14

Нестандартное использование СКД

Программист 1С в компании «БКС-технологии» Алексей Шиянов в ходе Infostart Meetup Novosibirsk продемонстрировал необычный способ использования СКД и сравнил результаты заполнения движений документа через СКД с классическим подходом к заполнению движений через запросы и циклы.

14.04.2021 4074 user1127305 11

Полезные примеры СКД, ч.2

Еще несколько примеров решения задач в СКД.

06.04.2021 10876 Neti 8

Использование программных перечислений, ч.1: строковые константы Промо

Часто ли у вас возникает необходимость в коде выполнять сравнение на строку?

10.12.2016 41158 unichkin 74

Пример платежного календаря. СКД. Работает на любой платформе, без привязки к данным. Подробное описание действий

Отчет-пример, в котором на СКД рассмотрены принципы построения платежного календаря без привязки к данным и работающий на любой платформе. Подробно описаны этапы решения задачи. Тестирование проводилось на платформе 8.3.16.1814.

02.04.2021 1222 parshachello 2

Полезные примеры СКД, ч.1

Подборка видео по решению различных задач в отчетах на СКД.

30.03.2021 13585 Neti 21

Обзор полезных методов БСП 3.1.4

Библиотека стандартных подсистем (далее - БСП) является частью любой типовой конфигурации, поэтому умение применять готовые процедуры и функции повышает качество разработки и избавляет от написания лишнего кода. К сожалению, не у всех есть время и упорство овладеть всей документацией, поэтому я собрал воедино наиболее популярный функционал.

25.03.2021 41424 rayastar 51

Вспомогательные инструкции в коде 1С Промо

Помогаем редактору кода 1С помогать нам писать и анализировать код.

15.10.2018 36203 tormozit 106

Сравнение данных с февралем високосного года (проблема 29 февраля)

Думаю, в практике многим приходится неоднократно сталкиваться с необходимостью разработки отчёта типа LFL (like for like), сравнивающего аналогичные периоды разных лет, например, текущего выбранного периода с аналогичным периодом прошлого года. В новых конфигурациях такой отчёт есть в составе конфигурации (см. "Сравнение продаж аналогичных периодов"), а в старых обычно приходится добавлять. Если не учесть нюанс сравнения с февралём високосного года, данные в отчёте за прошлый период могут быть некорректными.

Работа с программным отбором, группировкой, набором данных, пользовательскими полями.

//Процедура устанавливает значения параметров в запросе.

Процедура УстановитьПараметрКомпоновк и ( Имя , Значение )

КомпоновщикНастроек . Настройки . ПараметрыДанных . Элементы . Найти ( Имя ) ;

Если НЕ ( КомпоновкаДанныхПараметр = Неопределено ) Тогда

Процедура УстановтьОтборПоПолюКомпоновки ( Имя , Значение , ВидСравнения )

Для Каждого ЭлементОтбора Из КомпоновщикНастроек . Настройки . Отбор . Элементы Цикл

Если ЭлементОтбора . ЛевоеЗначение = Новый ПолеКомпоновкиДанных ( Имя ) И ЭлементОтбора . ВидСравнения = ВидСравнения Тогда

КомпоновщикНастроек . Настройки . Отбор . Элементы . Удалить ( ЭлементОтбора ) ;

ЭлементОтбора = КомпоновщикНастроек . Настройки . Отбор . Элементы . Добавить ( Тип ( "ЭлементОтбораКомпоновкиДанных" ) ) ;

ЭлементОтбора . ЛевоеЗначение = Новый ПолеКомпоновкиДанных ( Имя ) ;

// Процедура добавляет или удаляет набор данных из схемы компоновки данных

// Схема - СхемаКомпоновкиДанных, схема, в которой нужно добавить(удалить) набор данных

// СхемаИсточник - СхемаКомпоновкиДанных, схема из которой копируется набор данных

// НаборДанныхРодитель - НаборДанныхОбъединениеСхемыКомпоновкиДанных

Процедура ДобавитьУдалитьНаборДанных ( Схема , СхемаИсточник , ИмяНабора , Добавить , НаборДанныхРодитель )

НаборДанных = НайтиНаборДанных ( Схема . НаборыДанных , ИмяНабора ) ;

НаборДанныхИсточник = НайтиНаборДанных ( СхемаИсточник . НаборыДанных , ИмяНабора ) ;

НаборДанных = НаборДанныхРодитель . Элементы . Добавить ( Тип ( "НаборДанныхЗапросСхемыКомпоновкиДанных" ) ) ;

НаборДанных . ИсточникДанных = НаборДанныхИсточник . ИсточникДанных ;

НаборДанныхРодитель . Элементы . Удалить ( НаборДанных ) ;

Если ТипЗнч ( НаборДанных ) = Тип ( "НаборДанныхОбъединениеСхемыКомпоновкиДанных" ) Тогда

Результат = НайтиНаборДанных ( НаборДанных . Элементы , Имя ) ;

Функция НайтиГруппировку ( Структура , Имя , ВидГруппировк и = "Поле" )

Если ТипЗнч ( Элемент ) = Тип ( "ТаблицаКомпоновкиДанных" ) Тогда

Результат = НайтиГруппировку ( Элемент . Колонки , Имя ) ;

ИначеЕсли ТипЗнч ( Элемент ) = Тип ( "ГруппировкаТаблицыКомпоновкиДанных" ) Тогда

Для Каждого Поле Из Элемент . ПоляГруппировки . Элементы Цикл

Если Поле . Поле = Новый ПолеКомпоновкиДанных ( Имя ) Тогда

Результат = НайтиГруппировку ( Элемент . Структура , Имя ) ;

// Процедура добавляет в каждую группировку отчета отбор по непустому значению

// ДоступныеПоляГруппировок - КомпоновщикНастроек.ДоступныеПоляГруппировок

Если ТипЗнч ( Элемент ) = Тип ( "ТаблицаКомпоновкиДанных" ) Тогда

ИначеЕсли ТипЗнч ( Элемент ) = Тип ( "ГруппировкаТаблицыКомпоновкиДанных" ) Тогда

Для Каждого Поле Из Элемент . ПоляГруппировки . Элементы Цикл

Для Каждого ЭлементОтбора 1 Из Элемент . Отбор . Элементы Цикл

Если ЭлементОтбора 1 . Представление = "Отбор по непустому" Тогда

ЭлементОтбора = Элемент . Отбор . Элементы . Добавить ( Тип ( "ЭлементОтбораКомпоновкиДанных" ) ) ;

ЭлементОтбора . ВидСравнения = ВидСравненияКомпоновкиДанных . Заполнено ;

Параметр = Элемент . ПараметрыВывода . НайтиЗначениеПараметра ( Новый ПараметрКомпоновкиДанных ( "FilterOutput" ) ) ;

Параметр . Значение = ТипВыводаТекстаКомпоновкиДанных . НеВыводить ;

// Процедура добавляет значения интервалов в пользовательское поле

// ПолеИнтервалы - ПользовательскоеПолеВыборКомпоновкиДанных

// Интервал - Строка содержащия границы интервалов: 30,60,90

Процедура УстановитьПользовательскоеПолеИнтервал ( ПолеИнтервалы , Интервал )

ТекИнтервал = СокрЛП ( СтрПолучитьСтроку ( Стр , Счетчик ) ) ;

Вариант = ПолеИнтервалы . Варианты . Элементы . Добавить ( ) ;

Вариант . Значение = "От " + ПредИнтервал + " до " + ТекИнтервал ;

Вариант . Представление = "От " + ПредИнтервал + " до " + ТекИнтервал ;

Группа = Вариант . Отбор . Элементы . Добавить ( Тип ( "ГруппаЭлементовОтбораКомпоновкиДанных" ) ) ;

Группа . ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных . Группа И;

ЭлементОтбора = Группа . Элементы . Добавить ( Тип ( "ЭлементОтбораКомпоновкиДанных" ) ) ;

ЭлементОтбора . ЛевоеЗначение = Новый ПолеКомпоновкиДанных ( "ДнейПросрочки" ) ;

ЭлементОтбора . ВидСравнения = ВидСравненияКомпоновкиДанных . БольшеИлиРавно ;

ЭлементОтбора . ПравоеЗначение = Число ( ПредИнтервал ) ;

ЭлементОтбора = Группа . Элементы . Добавить ( Тип ( "ЭлементОтбораКомпоновкиДанных" ) ) ;

ЭлементОтбора . ЛевоеЗначение = Новый ПолеКомпоновкиДанных ( "ДнейПросрочки" ) ;

ЭлементОтбора . ВидСравнения = ВидСравненияКомпоновкиДанных . Меньше ;

Вариант = ПолеИнтервалы . Варианты . Элементы . Добавить ( ) ;

Группа = Вариант . Отбор . Элементы . Добавить ( Тип ( "ГруппаЭлементовОтбораКомпоновкиДанных" ) ) ;

Группа . ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных . Группа И;

ЭлементОтбора = Группа . Элементы . Добавить ( Тип ( "ЭлементОтбораКомпоновкиДанных" ) ) ;

ЭлементОтбора . ЛевоеЗначение = Новый ПолеКомпоновкиДанных ( "ДнейПросрочки" ) ;

ЭлементОтбора . ВидСравнения = ВидСравненияКомпоновкиДанных . БольшеИлиРавно ;

ЭлементОтбора . ПравоеЗначение = Число ( ПредИнтервал ) ;

Похожее

Внимание! При включенной блокировке рекламы (AdBlock) могут не отображаться изображения в публикациях. Пожалуйста, поддержите этот сайт, добавив нас в белый список в вашем AdBlock. Спасибо!

Мы используем файлы cookie и подобные технологии, чтобы обеспечить пользователям максимальное удобство при использовании нашего веб-сайта (посредством персонализации, средств аналитики и повышения производительности). ПринимаюОтказазаться Подробнее

Privacy Overview

Редко какой отчет в 1С не использует отборы, разве что печатные формы и какие-то специальные отчеты. В большинстве отчетов в 1С требуется возможность выборочного анализа. Поэтому в этой статье мы поговорим про настройку отборов в отчетах, построенных с помощью 1С СКД.

После того как вы добавили наборы, определили ресурсы, задали структуру отчета с помощью группировок , можно приступать к настройке фильтров. В СКД это делается на закладке «Отбор», которая доступна или для всего отчета или для определенной группировки.


Новый элемент в список отбора можно добавить несколькими способами – двойной клик по доступному полю, перетаскивание, клавиша в меню:


При этом только через клавишу в меню можно добавить группу в отбор, которая объединяет элементы внутри этой группы по заданному условию (И, ИЛИ).


По умолчанию если элементы отбора не включены ни в какую группу и объединяются с помощью оператора «И».

Вид сравнения в элементе отбора зависит от типа поля (левого значения):

Операции доступные для числа:


Операции доступные для строки:


Для строки добавлены операции – «содержит», «начинается с», «соответствует шаблону» и те же операции с оператором «Не» (Не содержит и т.д.).

Операции доступные для ссылки:


Далее разберем типовые ситуации при использовании отбора

Самый простой вариант использование отбора – добавить фиксированный отбор, который будет действовать всегда (если конечно пользователь не изменит его в варианте отчета):


Обычно такие отборы имеет смысл переносить в текст запроса. Особенно в том случае, если пользователь не должен его менять вообще ни при каком условии.

Иногда в отчете на 1С СКД возникает необходимость исключить в отчете значения некоторых группировок (колонок или строк). Причем сделать это в запросе не представляется возможным, потому что исключать такие строки возможно только после компоновки.

В этом случае используется возможность СКД накладывать отборы на заданную группировку. Рассмотрим, например, такой отчет:


Допустим нам нужно исключить из отчета все строки, в которых итоговое количество по номенклатуре меньше 15. В запросе мы такое условие применить не можем. Установим для этого отбора для группировки «Номенклатура»:


Получим такой отчет:


Отборы на группировках часто используются в отчетах вида «Ведомость по остаткам»:


При использовании группировки по периоду (регистратору) в таких отчетах появляются строки, отвечающие за начальный остаток при использовании даты начала периода отличной от самой ранней. Чтобы убрать такие строки, можно использовать отбор на группировке по регистратору:



Чтобы убрать отбор, выделенный на рисунке на закладке «Другие настройки» для этой же группировки отключим вывод отбора:



Обычно мы редко используем фиксированные отборы. Чаще нам нужны отборы, которые может изменять пользователь. Можно, чтобы пользователь изменял отборы через функционал 1С СКД «Изменить вариант», но это не совсем верный путь – вариант отчета это скорее постоянный «скелет», который настраивается один раз и потом используется многократно. Отборы же это что-то часто изменяемое, поэтому правильнее редактировать их через механизм пользовательских настроек.

Итак, вернемся к нашему отчету. Допустим нам необходимо добавить в отчет отбор по группе номенклатуры (или по элементу) и чтобы этот отбор был доступен для изменения пользователем.

Добавим для этого отбор на уровне отчета. Вид сравнения по умолчанию сделаем «В группе», отключим по умолчанию использование отбора и в диалоге редактирования пользовательских настроек включим наш отбор в пользовательские настройки.


Перейдем теперь в режим предприятия.


Наш отбор доступен для редактирования на форме. За доступность прямо в форме отчета отвечает «Режим редактирования». Значение «Быстрый доступ» означает, что отбор доступен прямо на форме отчета. Если значение равно «Обычный», отбор доступен через кнопку «Настройки». Как видно на рисунке пользователь может выбирать вариант сравнения, управлять действием (включен / отключен) отбора.

Если вам необходимо установить фиксированный отбор (вид сравнения и правое значение константы), но пользователь должен управлять включением / отключением отбора, тогда вам необходимо заполнить представление отбора в пользовательской настройке:


В этом случае в настройки добавляется только флаг использования отбора, которым может управлять пользователь:


Если вам в отборе нужно изменить представления поля, по которому делается отбор, то для этого есть еще одно представление:


Получается вот так:


Мы можем вывести все отборы для редактирования пользователем. Для этого на уровне отчета вызовем диалог редактирования пользовательских настроек:


То же самое можно сделать на уровне любой группировки, если нужно, чтобы была возможность редактирования отборов для заданной группировки. В режиме предприятия это выглядит следующим образом:


Как известно, в 1С СКД используется не только в отчетах, но и в формах, содержащих динамические списки. У динамического списка есть несколько свойств, которые относятся к СКД. Среди этих свойств имеется свойство «Отбор» с типом «ОтборКомпоновкиДанных». Чтобы установить отбор в динамическом списке есть два способа. Первый способ – передать отборы через параметр формы с одноименным названием – «Отбор». Этот параметр является структурой, в которой ключ ссылается на поле, для которого устанавливается отбор. Значение же содержит данные, с которыми производится сравнение. Можно также передать в качестве правого значения – массив, фиксированный массив, список значений. В этом случае вид сравнения равняется «ВСписке», для одиночного элемента вид сравнения устанавливается как «Равно». Этот способ ограничен в возможностях – с его помощью нельзя накладывать сложные условия с операторами «И» и «ИЛИ», нельзя использовать виды сравнения кроме двух указанных.


Отбор, установленный таким образом, передается в фиксированные настройки компоновщика настроек, связанного с динамическим списком. Он не виден пользователю и недоступен для изменения.

Второй способ – непосредственное редактирование отбора в динамическом списке или в компоновщике. Обычно в типовых конфигурация для этого есть ряд методов и функций для установки таких отборов.

Например, вызов основного метода для установки отбора выглядит так:

Данная функция производит поиск существующего элемента отбора, изменяет его если нашла, а если не нашла, то добавляет с помощью такой процедуры:

В форме содержащей динамический список также как в отчете на СКД, возможно настроить пользовательский отбор. Как это можно сделать показано на рисунке:


Также у элемента формы, с которым связан список нужно установить группу пользовательских настроек, в которой будут отображаться настройки для пользователя:

Читайте также: