Простой способ использовать ОтборСтрок в табличной части
В табличную часть можно выводить атрибуты реквизитов через точку, но ОтборСтрок по ним не работает.
Например, я выводил в табличную часть Номенклатура.БрендТовара, все хорошо, но программно сделать отбор нельзя.
Там работают совсем простые пользователи, научить их ALT+F сложно, а программно вызвать такой поиск тоже, по-моему нельзя. Им надо сделать поле отбора.

Поэтому решено было добавить в табличную часть колонка БрендТовара и ее заполнить.
В документе:
&НаКлиенте Процедура ВыбБрендПриИзменении(Элемент) ВыбБрендПриИзмененииНаСервере(); КонецПроцедуры &НаСервере Процедура ВыбБрендПриИзмененииНаСервере() ЛогикаСервер.ОбработатьВыборБренда(ЭтаФорма, ВыбБренд, Элементы.Материалы, Объект.Материалы); КонецПроцедуры
В модуле ЛогикаСервер:
Процедура ПроставитьБрендыТоваровСтрокТЧ(ТЧ) Экспорт З = Новый Запрос(); З.Текст = "ВЫБРАТЬ | Т.НомерСтроки КАК НомерСтроки, | Т.Номенклатура КАК Номенклатура |ПОМЕСТИТЬ ТЗ |ИЗ | &ТЗ КАК Т |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ТН.БрендТовара КАК БрендТовара, | ТЗ.НомерСтроки КАК НомерСтроки |ИЗ | ТЗ КАК ТЗ | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ТН | ПО ТЗ.Номенклатура = ТН.Ссылка"; З.УстановитьПараметр("ТЗ", ТЧ.Выгрузить(, "Номенклатура, НомерСтроки")); Выборка = З.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Строка = ТЧ[Выборка.НомерСтроки-1]; Строка.БрендТовара = Выборка.БрендТовара; КонецЦикла; КонецПроцедуры Процедура ОбработатьВыборБренда(Форма, ЗначениеОтбора, ЭлементТовары, ТЧТовары) Экспорт ТекОтборСтрок = ЭлементТовары.ОтборСтрок; Если ТекОтборСтрок = Неопределено Тогда ТекОтборСтрок = Новый Структура(); Иначе ТекОтборСтрок = Новый Структура(ТекОтборСтрок); КонецЕсли; Если ЗначениеЗаполнено(ЗначениеОтбора) Тогда ТекОтборСтрок.Вставить("БрендТовара", ЗначениеОтбора); ПроставитьБрендыТоваровСтрокТЧ(ТЧТовары); Иначе ТекОтборСтрок.Удалить("БрендТовара"); КонецЕсли; ЭлементТовары.ОтборСтрок = Новый ФиксированнаяСтруктура(ТекОтборСтрок); КонецПроцедуры
В коде максимально эффективно заполняется табличная часть и по ней выставляется отбор, не затрагивая другие колонки отборов в ОтборСтрок.
Среда: Нетленка Объем: 0.8 час.




Здесь плохо всё. Кстати я не понял из контекста автора: БрендТовара это теперь реквизит табличной части документа?
вместо того чтобы малоинформативно писать про «все», напишите предметно, что считаете не правильным. БрендТовара — это реквизит, добавленный в форму в табличную часть документа. Не в саму табличную часть документа, разумеется.
То есть пока не установим отбор — бренда на форме не увидим?
Вот здесь более правильный подход:
https://infostart.ru/1c/articles/803449/
увидите. ТЧ умеет выводить реквизит через точку. Не путайте невидимый реквизит отбора и поле бренда.
а в чем правильность этого подхода?