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