Помощь новичку, Сделать взять параметров выбора программно

1. user1873630 25.11.22 16:23 Сейчас в теме
Есть реквизит КонтактноеЛицо(ссылка на справочник КонтактныеЛица) и есть реквизит Контрагенты. у одного контрагнета может быть несколько контактов. Нужно сделать так, чтобы при выборе Контрагента, в поле КонтактноеЛицо можно было выбрать только те контакты, которые есть у данного контрагента. В прикрепленном файле стрелками показано что у Иванова И.И. есть два контакта и необходимо выводить только их. База данных Управление нашим фирмой 1.6.19
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
3. user5300 1078 25.11.22 16:45 Сейчас в теме
&НаКлиенте
Процедура НачалоВыбора()
	
    ПараметрыОтбора = Новый Структура;
	ПараметрыОтбора.Вставить("Контрагент", Объект.Контрагент);
 
	ПараметрыФормы = Новый Структура;
	ПараметрыФормы.Вставить("Отбор", ПараметрыОтбора); ///Добавляем отбор в параметры формы

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

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

	ОткрытьФорму("Справочник.КонтактныеЛица.ФормаВыбора",ПараметрыФормы, ЭтотОбъект,,,,ОбработкаВыбора);

КонецПроцедуры

&НаКлиенте
Процедура ПриЗакрытииФормыВыбора(Значение, ДопПараметры) Экспорт
	
	Если Значение = Неопределено Тогда
        Возврат;
    КонецЕсли;
     
    Объект.КонтактноеЛицо = Значение; 
	
КонецПроцедуры        
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. RustamZz 25.11.22 16:48 Сейчас в теме
(1) В параметры открытия формы нужно передать отбор с контрагентом.
2. Ravil_ 25.11.22 16:43 Сейчас в теме
3. user5300 1078 25.11.22 16:45 Сейчас в теме
&НаКлиенте
Процедура НачалоВыбора()
	
    ПараметрыОтбора = Новый Структура;
	ПараметрыОтбора.Вставить("Контрагент", Объект.Контрагент);
 
	ПараметрыФормы = Новый Структура;
	ПараметрыФормы.Вставить("Отбор", ПараметрыОтбора); ///Добавляем отбор в параметры формы

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

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

	ОткрытьФорму("Справочник.КонтактныеЛица.ФормаВыбора",ПараметрыФормы, ЭтотОбъект,,,,ОбработкаВыбора);

КонецПроцедуры

&НаКлиенте
Процедура ПриЗакрытииФормыВыбора(Значение, ДопПараметры) Экспорт
	
	Если Значение = Неопределено Тогда
        Возврат;
    КонецЕсли;
     
    Объект.КонтактноеЛицо = Значение; 
	
КонецПроцедуры        
Показать
5. user1873630 25.11.22 17:06 Сейчас в теме
спасибо, код работает, только теперь открывает две формы одну с нудными данными, другую нет. Как это исправить?
7. user1873630 25.11.22 17:51 Сейчас в теме
СтандартнаяОбработка = ЛОЖЬ;


не работает
6. SlavaKron 25.11.22 17:22 Сейчас в теме
МассивСвязей = Новый Массив;
МассивСвязей.Добавить(Новый СвязьПараметраВыбора("Отбор.Владелец", "Объект.Контрагент"));
Элементы.КонтактноеЛицо.СвязиПараметровВыбора = Новый ФиксированныйМассив(МассивСвязей);
8. RustamZz 25.11.22 17:52 Сейчас в теме
(6) Хорошая попытка, но нет. В УНФ Контактные лица распоясались и больше не подчиняются Контрагентам.
9. SlavaKron 25.11.22 17:56 Сейчас в теме
(8) Это не готовое решение - я не знаю как называется реквизит контрагента в контактном лице. Если там связь через какой-нибудь РС, то да, про связи параметров выбора можно забыть.
10. RustamZz 25.11.22 18:32 Сейчас в теме
(9) Совершенно верно через РС.
Оставьте свое сообщение

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