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