Как сделать отбор в обычных формах?

1. user1194102 24.02.20 09:29 Сейчас в теме
Обычные формы. Имеется регистр сведений, измерения Контрагент, Номенклатура, Ресурс Дни. Мне нужно в регистр сведений добавить Контрагента и Номенклатуру (выборочно ручками). И что бы при выборе номенклатуры открывался не весть список номенклатуры, а только тот, который относится к текущему контрагенту. Непосредственной зависимости между номенклатурой и контрагентом, через подчиненные справочники нет. Каким образом можно настроить отбор?
Я так понимаю решение, но вы исправьте.
1. В поле Номенклатуры регистра заполнить вкладку СвязиПараметровВыбора.
2. Параметром выбрать Контрагента из текущего регистра
3. Для поля Номенклатура в регистре настроить процедуру свойства ПриИзменении , получить параметр Контрагента и настроить запрос по документу реализации данного контрагента с иерархией.
4. Дальше не понимаю, что нужно делать. (никогда не делал отборы)
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. acanta 24.02.20 09:36 Сейчас в теме
Можно сделать список всей номенклатуры с полем контрагент в шапке и в отдельную колонку вытаскивать из регистра в таблицу значений и показывать в этой колонке. Фильтр на произвольной колонке списка работать будет или нет? При изменении и записывать регистр программно.
Или на 8 ке это должно делаться как то по другому, например документом или табличной частью
3. user1194102 24.02.20 17:25 Сейчас в теме
Мне как раз и не нужно список всей номенклатуры. А в регистр записи ручками буду добавлять. Мне нужно ограничить видимость номенклатуры. Другими словами показать только ту которую брал контрагент. Мы работаем под заказ клиента. И у каждого клиента своя номенклатура. Я в принципе все понимаю, что нужно делать, единственно не могу понять, как показать родителей или каталоги той номенклатуры, которую берет клиент. По запросу я же выберу номенклатуру без групп. Трудно словами объяснить то что хочется.
4. independ 1543 24.02.20 18:45 Сейчас в теме
(3) примерно так

Процедура НоменклатураНачалоВыбора(Элемент, СтандартнаяОбработка)
	СтандартнаяОбработка=Ложь;
	Запрос=Новый Запрос;
	Запрос.УстановитьПараметр("Контрагент",Контрагент);
	Запрос.Текст="ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	РеализацияТоваровУслугТовары.Номенклатура
	|ИЗ
	|	Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
	|ГДЕ
	|	РеализацияТоваровУслугТовары.Ссылка.Контрагент = &Контрагент";
	СписокНоменклатуры=Новый СписокЗначений;
	СписокНоменклатуры.ЗагрузитьЗначения(Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Номенклатура"));
	Форма=Справочники.Номенклатура.ПолучитьФормуВыбора("ФормаВыбора",Элемент);
	Форма.Заголовок="Выбор номенклатуры для "+Контрагент;
	Форма.Отбор.Ссылка.Использование=Истина;
	Форма.Отбор.Ссылка.ВидСравнения=ВидСравнения.ВСписке;
	Форма.Отбор.Ссылка.Значение=СписокНоменклатуры;
	Форма.ЭлементыФормы.СправочникСписок.ИерархическийПросмотр=Истина;
	Форма.Открыть();
КонецПроцедуры
Показать
user1194102; +1 Ответить
5. user1194102 24.02.20 21:50 Сейчас в теме
Спасибо большое, попробую завтра)
Оставьте свое сообщение

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