Имя: Пароль:
1C
 
Отбор в ФормеВыбора
0 JVStalin
 
23.12.24
11:40
Всем здравствуйте!
Возник такой затык - не отрабатывает отбор в форме:

&НаКлиенте
Процедура КМЗОплатаДляДоговораНачалоВыбораВместо(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка)
	СтандартнаяОбработка = Ложь;
	
	СписокДохДог = ОтборПоКонтрагентам(Элементы.РасшифровкаПлатежа.ТекущиеДанные.ОбъектРасчетов);
	ПараметрыОтбора = Новый Структура;
	ПараметрыОтбора.Вставить("ВидСравнения",ВидСравнения.ВСписке); 
	ПараметрыОтбора.Вставить("Поле","Справочник.ДоговорыКонтрагентов.Ссылка");
	ПараметрыОтбора.Вставить("Значение",СписокДохДог);
	ПараметрыОтбора.Вставить("Использование",Истина); 
	ПараметрыФормы = Новый Структура;
	ПараметрыФормы.Вставить("Отбор", ПараметрыОтбора);
	ПараметрыФормы.Вставить("ИерархическийПросмотр",ложь);
	ПараметрыФормы.Вставить("РежимВыбора", Истина);
	ПараметрыФормы.Вставить("МножественныйВыбор", ложь);
		
	ОткрытьФорму("Справочник.ДоговорыКонтрагентов.ФормаВыбора",ПараметрыФормы,ЭтаФорма);
КонецПроцедуры
1 Мультук
 
23.12.24
10:49
2 JVStalin
 
23.12.24
10:56
(1) Немного не понял, у меня же один параметр отбора, зачем мне 6-ой пример?
Я брал 5-ый и по нему делал, но почему-то отбор не отрабатывает, хотя значения в него все передаются
3 Мультук
 
23.12.24
11:03
(2)
Вот пример номер 5

Здесь чёткие отборы  по "ВидОперации" и "Дата" (он закомментирован, но не суть)

Никаких списков, "ВидСравнения", "Поле", "Значение", "Использование" -я в этом примере (увы) не вижу.


ПараметрыОтбора.Вставить("ВидОперации", ПредопределенноеЗначение("Перечисление.ВидыОперацийРеализацияТоваров.Товары"));
ПараметрыОтбора.Вставить("Дата", ТекущаяДата());   ///Дополнительный отбор



А всё что вы написали, это какие-то бурные фантазии.
Имхо.

Пример 5.

&НаКлиенте
Процедура КомандаОткрытьФормуВыбора(Команда)

    ///Создаем структуру с отбором и добавляем значения
	ПараметрыОтбора = Новый Структура;
	ПараметрыОтбора.Вставить("ВидОперации", ПредопределенноеЗначение("Перечисление.ВидыОперацийРеализацияТоваров.Товары"));
	//ПараметрыОтбора.Вставить("Дата", ТекущаяДата());   ///Дополнительный отбор
 
	ПараметрыФормы = Новый Структура;
	ПараметрыФормы.Вставить("Отбор", ПараметрыОтбора); ///Добавляем отбор в параметры формы

	ПараметрыФормы.Вставить("РежимВыбора",Истина);
	ПараметрыФормы.Вставить("МножественныйВыбор",Истина);

	ОбработкаВыбора = Новый ОписаниеОповещения("ПриЗакрытииФормыВыбора", ЭтаФорма,"Подбор");

	ОткрытьФорму("Документ.РеализацияТоваровУслуг.ФормаВыбора",ПараметрыФормы,
	        ЭтаФорма, , , , ОбработкаВыбора);

КонецПроцедуры
4 JVStalin
 
23.12.24
11:41
(3) Всё, понял, был не прав, извиняюсь. Спасибо за совет.

Итоговый код:
	СтандартнаяОбработка = Ложь;
	
	НастройкиКомпоновки = Новый НастройкиКомпоновкиДанных;

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