Имя: Пароль:
1C
1С v8
Передача в отчет параметров периода
0 neo1109
 
12.08.11
10:08
1С 8.2 УП.
Имеется отчет, полностью построенный на СКД.
В СКД есть параметры НачалоПериода и КонецПериода.
Из документа вызывается форма отчета.

Вопрос: можно ли из документа передать в отчет нужные параметры периода?
Есть какие либо стандартные механизмы?
1 fisher
 
12.08.11
10:33
Форма отчета управляемая или обычная?
2 Cube
 
12.08.11
10:37
(0)
ЗначениеПараметра = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода");
   ЗначениеПараметра.Значение = НачалоДня(ДатаНач);
   ЗначениеПараметра.Использование = Истина;
   
   ЗначениеПараметра = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("КонецПериода");
   ЗначениеПараметра.Значение = КонецДня(ДатаКон);
   ЗначениеПараметра.Использование = Истина;
3 neo1109
 
12.08.11
11:47
(1) форма отчета - управляемая...
4 neo1109
 
12.08.11
11:50
ну получается алгоритм такой:
1. у формы отчета создаешь параметры НачалоПериода, КонецПериода
2. пишешь собственноручно процедуру формирования отчета
3. туда в код вставляешь обращение к параметрам (как в (2))

да?
5 neo1109
 
12.08.11
11:51
кстати про "процедуру формирования отчета"...
есть пример в книге "Разработка сложных отчетов", но там 8.1...

кто нить писал такую процедуру применительно к УП 8.2?
6 fisher
 
12.08.11
11:52
У управляемой формы отчета есть параметр "ПользовательскиеНастройки"
7 Гефест
 
12.08.11
11:54
УсловияОтбора = Новый Структура;
   УсловияОтбора.Вставить("НачалоПериода", ТекущаяДата());
   УсловияОтбора.Вставить("КонецПериода", ТекущаяДата());
   
   ПараметрыФормы = Новый Структура("Отбор, СформироватьПриОткрытии", УсловияОтбора, Истина);
   ОткрытьФорму("Отчет.ТвойОтчет.Форма.ФормаОтчета",ПараметрыФормы);
8 fisher
 
12.08.11
11:55
Не, даже лучше есть параметр - "Отбор"
9 fisher
 
12.08.11
11:55
(7) Во, точно.
10 neo1109
 
12.08.11
12:11
Спасибо (7) - то что надо!
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.