программное получение настроек отчета

Изучаю возможности СКД. Пытаюсь некоторые значения вынести на форму. Возникли следующие вопросы.
1. Создана форма с парой полей, которыми осуществляется настройка вывода данных. Но при этом возможность стандартного вызова формы настроек оставлена.
Создал отбор “В иерархии” по справочнику Контрагенты. Передать с формы значение в КомпоновщикНастроек могу. Но как из стандартной формы настроек передать измененное значение отбора в поле формы? Насколько я понял, механизма оповещения что изменены данные через стандартную форму настроек нет. Поэтому решил вручную вызывать форму настроек и при ее закрытии менять поле на основной форме. Но как программно открыть форму настроек отчета?
2. Как программно достать до “количество записей” у “детальные записи”/”другие настройки”?

Подписаться
Уведомить о
guest
1 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
kosmo
kosmo
12 лет назад

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