Добрый день.
Сегодня довелось таки столкнуться с управляемыми формами и никак ума не приложу, на них реализовать следующий механизм:
1. Пользователь вводит некие параметры поиска (например, часть номера и дату документа).
2. Мы при основываясь на этих параметрах пытаемся при помощи запроса найти объекты БД, и:
2а. если по заданным параметрам объекты не обнаружены, выдаем сообщение;
2б. если найден один объект, производим с ним дальнейшие действия;
2в. если объектов найдено несколько, предлагаем пользователю выбрать конкретный (например, таблица документов с колонками "Представление", "Номер" и "Дата") и после выбора производим с ним дальнейшие действия;
Затык на этапе "после запроса": 1) как правильно вернуть с сервера на клиент таблицу значений и 2) позволить пользователю интерактивно выбрать конкретную строку из нее в управляемом приложении?
Спасибо.
1) ЗначениеВРеквизитФормы(ТЗ, "ТаблицаДокументов");
Где "ТаблицаДокументов" - это реквизит формы типа таблица значений с нужными колонками.
2) На форму вынести элемент типа "Таблица" для реквизита формы
"ТаблицаДокументов". Дальше вариантов много - например прикрутить команду, вот например вариант для множественного выделения
ВыделенныеСтроки = Элементы.ТаблицаДокументов.ВыделенныеСтроки;
Если ВыделенныеСтроки.Количество() = 0 Тогда
Возврат;
КонецЕсли;
Для Каждого Стр Из ВыделенныеСтроки Цикл
ДанныеСтроки = Элементы.ТаблицаДокументов.ДанныеСтроки(Стр);
.......
КонецЦикла;
Имеем обработку с таб. частью и две управляемые формы на ней. Из первой формы открываем модально вторую, во второй при помощи запроса заполняем на сервере таб. часть обработки: