Источник с кодом здесь
&НаКлиенте
Процедура ТаблицаДокументНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ТекущиеДанные = Элементы.Таблица.ТекущиеДанные;
Если ТекущиеДанные.Документ = Неопределено Тогда
Возврат
КонецЕсли;
СтандартнаяОбработка = Ложь;
ОткрытьФормуВыбораДокумента(ТекущиеДанные.Документ, Элемент)
КонецПроцедуры
&НаКлиенте
Процедура ТаблицаДокументОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
Если ТипЗнч(ВыбранноеЗначение) = Тип("Тип") Тогда
МассивТипов = Новый Массив;
МассивТипов.Добавить(ВыбранноеЗначение);
ОписаниеТипов = Новый ОписаниеТипов(МассивТипов);
ТекущиеДанные = Элементы.Таблица.ТекущиеДанные;
ТекущиеДанные.Документ = ОписаниеТипов.ПривестиЗначение();
СтандартнаяОбработка = Ложь;
// после выбора типа можно сразу вызвать выбор документа, но это не обязательно
ОткрытьФормуВыбораДокумента(ТекущиеДанные.Документ, Элемент)
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьФормуВыбораДокумента(Ссылка, Элемент)
ПараметрыФормы = Новый Структура;
Отбор = Новый Структура;
// здесь формируем отборы
ПараметрыФормы.Вставить("Отбор", Отбор);
ИмяФормыВыбора = ПолучитьИмяФормыВыбораПоСсылке(Ссылка);
ФормаВыбора = ПолучитьФорму(ИмяФормыВыбора, ПараметрыФормы, Элемент);
ФормаВыбора.Заголовок = "Форма выбора с моим отбором";
ФормаВыбора.Открыть();
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПолучитьИмяФормыВыбораПоСсылке(Ссылка)
Возврат Ссылка.Метаданные().ПолноеИмя() + ".ФормаВыбора";
КонецФункции