Имя: Пароль:
1C
 
Отбор на форме списка по группам
0 Катеринушка
 
04.05.25
20:45
Всем добрый день!
Проблема в следующем. В табличной части обработки есть колонка СтатьиОборотов, которая имеет тип СправочникСсылка.СтатьиОборотов.
Я установила отбор, чтобы на форме выбора выводились только элементы, у которых ТипСтатьи имеет значение БДР.
Но дело в том, что справочник иерархический, и в нем находится очень много групп, вложенных друг в друга. Соответственно, все эти группы выводятся на форме выбора.
А мне нужно, чтобы выводились только те группы, у которых элементы имеют ТипСтатьи БДР.
Что-то никак у меня не получается это сделать.

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

&НаСервереБезКонтекста
Функция ПолучитьТипСтатьиБДР() 
	Возврат Перечисления.ТипыСтатейОборотов.БДР; 
КонецФункции
1 Asmody
 
30.04.25
19:42
(0) Всё правильно: отбор по реквизиту элементов на группы не действует.
2 Asmody
 
30.04.25
19:43
Проще всего в таких случаях отключать вывод иерархии в списке.
3 Мультук
 
гуру
30.04.25
20:21
0) Вероятно не нужно так делать. Возможно, это будет работать медленно и неэффективно

1) Произвольный отбор

https://infostart.ru/1c/articles/1233756/

Пример № 6

2) Нужно найти список всех детей (элементы) и их непосредственных родителей и добавить по ним ОТБОР

ссылка в иерархии (&СпиокВсехНужныхРодителейДетей)

P.S.

Здесь это не нужно, но пусть будет
https://infostart.ru/1c/articles/160707/
4 craxx
 
30.04.25
20:40
(0) Идите уже борщ варить!
ЗЫ. ПредопределенноеЗначение() уже отменили видимо, пришлось функцию городить..
5 Asmody
 
30.04.25
21:59
(4) фу как грубо!
6 Катеринушка
 
04.05.25
13:15
(4) Борщ уже сварен, и очень даже вкусно :))
а за подсказку спасибо!)
7 Maniac
 
04.05.25
16:22
Элементарно.

Но тебе придется сделать дерево формы и сделать запрос с условием твоего списка и итогом ИЕРАРХИЯ.

И выгрузить его в дерево.

Тогда ты получишь правильный список и только иерархию этого списка.
8 Волшебник
 
04.05.25
20:46
(0) Функция, которая сразу возвращает единственное значение, не имеет смысла.
Закон Брукера: Даже маленькая практика стоит большой теории.