Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
06 апр 2026, 02:53

Единый отбор по нескольким динамическим спискам

Автор Primitiv, 12 фев 2026, 20:58

0 Пользователей и 1 гость просматривают эту тему.

Primitiv

Приветствую всех единомышленников и прошу помощи. Я создал в 1с канбан доску с 5 разными списками задач отобранными по статусу выполнения: в плане, в работе и т.д. Реализовано это было через создание формы задачи, затем формы списка задач и копирование реквизитов динамической таблицы еще 4 раза. копированные таблицы я перенес в элементы формы и задал жесткий отбор по полю статус, чтобы в каждой отдельной таблице на форме были только задачи со своим статусом.
Теперь возникла проблема. я хочу вывести на форму списка отбор, который бы действовал на все таблицы разом, но вообще не понимаю как это реализовать. Подскажите пожалуйста

antoneus

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

Primitiv

antoneus, Да в том и дело, что я пока совершенно не одупляю за сколько-нибудь осмысленное программирование, а боевую задачу нужно решать здесь и сейчас. Можешь привести пример того, что должно быть в модуле формы хоть приблизительно? По реквизиту сотрудник нужно сделать отбор между 5 таблицами, где этот реквизит уже есть, но у каждой своя копия.

sali

Цитата: Primitiv от 12 фев 2026, 20:58я хочу вывести на форму списка отбор, который бы действовал на все таблицы разом,
создаешь реквизит с типом своего отбора, если нужно выбирать сотрудника делаешь с ссылочным типом на спр Сотрудники, контрагенты, физ лица или как там у вас записано. добавляешь его на форму с видом - поле выбора. в запросе каждого динамического списка добавляешь параметр, то есть
ВЫБРАТЬ
...
    Сотрудники.Ссылка В (&Сотрудники) КАК Сотрудник
...
ИЗ
    Справочник.Сотрудники Как Сотрудники

При изменении Реквизита для отбора ты получаешь и подставляешь выбранного сотрудника во все 5 таблиц, примерно
Список1.Параметры.УстановитьЗначениеПараметра("Сотрудники", ВыбранныйСотрудник);

antoneus


antoneus

Цитата: sali от 13 фев 2026, 09:45ВЫБРАТЬ ...     Сотрудники.Ссылка В (&Сотрудники) КАК Сотрудник

И в поле сотрудник будет истина или ложь, молодец.

sali

antoneus, не понял :mellow:
хорошо если он будет передовать по одному , то Сотрудники.Ссылка = &Ссылка

Primitiv


antoneus

Ну, в УТ навскидку должно быть так.

&НаКлиенте
Процедура СотрудникПриИзменении(Элемент)
    ОтборыСпискаКлиентСервер.УстановитьЭлементОтбораСписка(Список, "Сотрудник", Сотрудник);
    ...аналогично для всех пяти списков
КонецПроцедуры

Сотрудник - имя реквизита на форме. Процедуру привязываем к событию элемента ПриИзменении в палитре свойств.

antoneus

А, да, при очистке надо отбор сбрасывать. Тогда так:

&НаКлиенте
Процедура СотрудникПриИзменении(Элемент)
    ОтборыСпискаКлиентСервер.ИзменитьЭлементОтбораСписка(Список, "Сотрудник", Сотрудник, ЗначениеЗаполнено(Сотрудник))
    ...аналогично для всех пяти списков
КонецПроцедуры

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск