|
Открыть форму внешнего отчета СКД | ☑ | ||
---|---|---|---|---|
0
Anabella
17.03.15
✎
19:51
|
Вопроса у меня, наверно, сразу два.
Идея отчета в следующем: открываем внешний отчет, на форме у него кнопочка. Пользователь настраивает период и отбор, формирует отчет. Затем нажимает на кнопочку, и нужно программно переключиться на другой вариант отчета и сформировать его, передав период вместе с отбором. Вот такой получился код кнопки: &НаСервере Процедура СформироватьГрафикСравненияНаСервере(Результат) Результат.Очистить(); ОтчетОбъект = РеквизитФормыВЗначение("Отчет"); Схема = ОтчетОбъект.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); Варианты = Схема.ВариантыНастроек; Настройки1 = Схема.ВариантыНастроек[1].Настройки; Дата1 = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[0].Значение.ДатаНачала; Дата2 = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[0].Значение.ДатаОкончания; КомпоновщикНастроекДанных = Новый КомпоновщикНастроекКомпоновкиДанных; КомпоновщикНастроекДанных.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(Схема)); КомпоновщикНастроекДанных.ЗагрузитьНастройки(Схема.НастройкиПоУмолчанию); КомпоновщикНастроекДанных.ЗагрузитьНастройки(Настройки1); КомпоновщикНастроекДанных.Настройки.ПараметрыДанных.Элементы[4].Значение.ДатаНачала = Дата1; КомпоновщикНастроекДанных.Настройки.ПараметрыДанных.Элементы[4].Значение.ДатаОкончания = Дата2; КомпоновщикНастроекДанных.Настройки.ПараметрыДанных.Элементы[4].Использование = Истина; КомпоновщикНастроекДанных.ПользовательскиеНастройки.Элементы[0].Значение.ДатаНачала = Дата1; КомпоновщикНастроекДанных.ПользовательскиеНастройки.Элементы[0].Значение.ДатаОкончания = Дата2; КомпоновщикНастроекДанных.Настройки.ПараметрыДанных.Элементы[0].Использование = Истина; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; Макет = КомпоновщикМакета.Выполнить(Схема, КомпоновщикНастроекДанных.ПолучитьНастройки()); //Макет.ЗначенияПараметров.Дата1.Значение = Дата1.Значение.Дата; //Макет.ЗначенияПараметров.Дата2.Значение = Дата2.Значение.Дата; ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(Макет); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(Результат); ПроцессорВывода.Вывести(ПроцессорКомпоновки); Элементы.Результат.ОтображениеСостояния.Видимость = Ложь; Элементы.Результат.ОтображениеСостояния.ДополнительныйРежимОтображения = ДополнительныйРежимОтображения.НеИспользовать; КонецПроцедуры Даты не устанавливаются, хоть тресни ( Все значения присваиваются верно, но на моменте ПроцессорВывода.Вывести(ПроцессорКомпоновки) формируется макет с ошибкой. Что я делаю не так ? В обход проблемы решила программно открыть форму с нужным вариантом, программно же назначить параметры и передать. И здесь проблема: В переменную Вариант я передаю нужный вариант отчета, но на моменте ПолучитьФорму в параметре "КлючТекущегоВарианта" стоит исходный вариант отчета, и в итоге ничего не меняется. Вариант = СтруктураВариантов(ВидОтчета); КлючВарианта = Новый Структура; КлючВарианта.Вставить("КлючВарианта", Вариант.Имя); //ОткрытьФорму("ВнешнийОтчет.Продажи10.Форма.ФормаОтчета"); Форма = ПолучитьФорму("ВнешнийОтчет.Продажи10.Форма.ФормаОтчета", КлючВарианта,ЭтаФорма); Помогите найти ошибки, пожалуйста :( |
|||
1
Anabella
18.03.15
✎
09:39
|
ап
|
|||
2
Timon1405
18.03.15
✎
09:50
|
можно попробовать в ПолучитьФорму 4м параметром передать
Новый УникальныйИдентификатор |
|||
3
Anabella
18.03.15
✎
11:03
|
(2) попробовала, без изменений :(
Почему, блин, у меня не работает даже то, что работает у всех! |
|||
4
D_E_S_131
18.03.15
✎
11:25
|
(3) Потому что ты котик.
|
|||
5
Anabella
18.03.15
✎
11:30
|
(4)Как я не додумалась ) А может всё-таки можно решить эту проблему программно, без привязки к котику ?)
|
|||
6
Anabella
18.03.15
✎
11:32
|
А вообще как это работает? Может, дело в том, что я открываю форму открытой формы ? Но как мне тогда программно открыть вариант отчета?
|
|||
7
Anabella
18.03.15
✎
11:34
|
(4) от котика слышу :)
|
|||
8
Anabella
18.03.15
✎
13:20
|
ап
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |