1С 8.3 : Как установить отбор в форме выбора при открытии

Задача.
Например, на форме расположен реквизит «Услуга» с типом «СправочникСсылка.Номенклатура», значением которого по логике может быть только элемент номенклатуры, который является услугой. Соответственно, необходимо сделать так, чтобы при открытии формы выбора из данного поля ввода отображались только те позиции номенклатуры, у которых установлен флаг «Услуга» в значение Истина.

Решение.


Для поля ввода реквизита «Услуга» воспользуемся событием «НачалоВыбора», чтобы установить необходимый отбор. Кроме этого для удобства уберем иерархический просмотр, чтобы не отображались группы номенклатуры.

 

 

Далее для поля ввода реквизита «Услуга» воспользуемся событием «ОбработкаВыбора», чтобы передать ему выбранное значение.

В случаях, когда выбор значений должен происходить из поля ввода строки табличного поля, следует в событии «ТабличноеПолеУслугаНачалоВыбора» в методе «ПолучитьФормуВыбора» передать вторым параметром в качестве владельца само ТабличноеПоле:

А в обработке выбора табличного поля прописать:

 

 

ист. http://1c-kod.ru/