Отборы в динамическом списке, на поле правой кнопкой мышки - Найти

1. user-z99999 78 15.06.26 15:14 Сейчас в теме
В динамическом списке, на поле правой кнопкой мышки - Найти.
И список фильтруется по этому полю, а само поле добавляется вверху.

Нужно выполнить это действие программно.

Например, можно сделать отбор за период так:
Список.Период.Вариант = ВариантСтандартногоПериода.ПроизвольныйПериод;
ТекущаяДата = ТекущаяДата();
Список.Период.ДатаНачала = ДатаНачала;
Список.Период.ДатаОкончания = ДатаОкончания;
Список.Обновить();


Как добавит любое другое поле в такой отбор (поле есть в Списке)?
Отборы отображаются в разделе Состояние просмотра, динамического списка.


Поиск ответа, пока не получается...

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


Вариант ниже не подходит. Хочется, чтобы как Период был отбор.
Список.Параметры.УстановитьЗначениеПараметра("ТС", Параметры.ТС); 
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Avatarzorro 81 16.06.26 01:54 Сейчас в теме
программно можно установить только обычный отбор и будет это выглядить как отбор сделанный через - еще - настроить список - отбор

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

Делать естесна через бсп.

либо можешь просто искать параметр. Если он есть то запоминать значение. Потом присваивать вид сравнения .ВСписке и пихать туда массив
3. SlavaKron 16.06.26 09:39 Сейчас в теме
(2)
Делать естесна через бсп.
Какое отношение БСП имеет к механизму компоновки данных? И чем не нравится платформенный программный интерфейс КД, что приходится использовать прослойку в виде БСП?
4. Avatarzorro 81 16.06.26 10:10 Сейчас в теме
(3) тем что как минимум это удобнее и в одну строку. Глупо писать с нуля то что уже есть. Признак хорошего прогера - лень. Если ты не ленивый - ты плохой прогер. Плюс там есть всякие доп проверки на тип сравнения и тд
5. GlukAl 17.06.26 19:34 Сейчас в теме
можно на форму вывести свертываемую группу для пользовательских отборов
Прикрепленные файлы:
6. nedomolkov.ivan 232 28.08.26 12:01 Сейчас в теме
(1) В (2) сказано, что программно так нельзя. Можно, и упирается это в один реквизит.

Плашка сверху - не отдельный механизм, а пользовательские настройки компоновки.
Элемент отбора попадает в них тогда, когда у него заполнен
ИдентификаторПользовательскойНастройки, а наверху показывается тогда, когда режим
отображения БыстрыйДоступ.

Проверял на 8.3.27:

Эл = Компоновщик.Настройки.Отбор.Элементы.Добавить(
Тип("ЭлементОтбораКомпоновкиДанных"));
Эл.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Наименование");
Эл.ВидСравнения = ВидСравненияКомпоновкиДанных.Содержит;
Эл.ПравоеЗначение = "руб";
Эл.Использование = Истина;
Эл.ИдентификаторПользовательскойНастройки = "МойОтбор";
Эл.РежимОтображения =
РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ;

У динамического списка на форме это Список.КомпоновщикНастроек.Настройки.Отбор.

Что именно я замерил, а не предположил. До установки идентификатора в
КомпоновщикНастроек.ПользовательскиеНастройки.Элементы ноль элементов, после
установки - один. И вторая тонкость: пользовательская копия приезжает с режимом
Авто, даже когда у базового элемента стоит БыстрыйДоступ. Поэтому дожимать надо
на самой копии:

У = Компоновщик.ПользовательскиеНастройки.Элементы[0];
У.РежимОтображения =
РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ;

Это встаёт, проверял: до Авто, после Быстрый доступ.

Оговорка честности ради: я гонял компоновщик в коде, а не живую форму со списком,
поэтому за отрисовку самой плашки в вашей форме не расписываюсь, там ещё влияет
свойство таблицы формы про показ пользовательских настроек. Но механизм именно
такой, и БСП для него не нужна, тут (3) прав.
Для отправки сообщения требуется регистрация/авторизация

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот