|
Расшифровка в СКД | ☑ | ||
---|---|---|---|---|
0
seraf
12.09.13
✎
12:15
|
Привет, помогите до ума отчет довести.
&НаКлиенте Процедура ПриОткрытии(Отказ) Если ВладелецФормы = Неопределено Тогда Отчет.СтандартныйПериод.ДатаНачала = НачалоМесяца(ТекущаяДата()); Отчет.СтандартныйПериод.ДатаОкончания = КонецМесяца(ТекущаяДата()); Отчет.ТипОтчета = 1; УстановитьТекущийВариант("Полный"); Иначе Отчет.СтандартныйПериод.ДатаНачала = ВладелецФормы.Отчет.СтандартныйПериод.ДатаНачала; Отчет.СтандартныйПериод.ДатаОкончания = ВладелецФормы.Отчет.СтандартныйПериод.ДатаОкончания; Отчет.ТипОтчета = ВладелецФормы.Отчет.ТипОтчета; КонецЕсли; КонецПроцедуры &НаКлиенте Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка) Перем ВыбранноеДействие, ПараметрДействия; СтандартнаяОбработка = Ложь; ЗначениеРасшифровки = ПолучитьЗначениеРасшифровки(Расшифровка); НастройкиВладельца = Отчет.КомпоновщикНастроек.Настройки; Если ТипЗнч(ЗначениеРасшифровки) = Тип("СправочникСсылка.Номенклатура") Тогда Отбор = Новый Структура("Номенклатура", ЗначениеРасшифровки); ИначеЕсли ТипЗнч(ЗначениеРасшифровки) = Тип("СправочникСсылка.Контрагенты") Тогда Отбор = Новый Структура("Контрагент", ЗначениеРасшифровки); ИначеЕсли ТипЗнч(ЗначениеРасшифровки) = Тип("СправочникСсылка.Подразделения") Тогда Отбор = Новый Структура("Подразделение", ЗначениеРасшифровки); ИначеЕсли ТипЗнч(ЗначениеРасшифровки) = Тип("СправочникСсылка.СтатьиЗатрат") Тогда Отбор = Новый Структура("СтатьяЗатрат", ЗначениеРасшифровки); КонецЕсли; Если Отбор = Неопределено Тогда ОткрытьЗначение(ЗначениеРасшифровки); Иначе ПараметрыОтчета = Новый Структура("СформироватьПриОткрытии, Отбор, КлючВариант, ПользовательскиеНастройки", Истина, Отбор, "Полный", НастройкиВладельца); ОткрытьФормуМодально("Отчет.АнализЗатрат.Форма", ПараметрыОтчета, ЭтаФорма); КонецЕсли; КонецПроцедуры &НаСервере Функция ПолучитьЗначениеРасшифровки(Расшифровка) КоллекцияРасшифровки = ПолучитьИзВременногоХранилища(ДанныеРасшифровки); КоллекцияПолей = КоллекцияРасшифровки.Элементы[Расшифровка].ПолучитьПоля(); Если КоллекцияПолей.Количество() > 0 Тогда Возврат КоллекцияПолей[0].Значение; КонецЕсли; КонецФункции Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) Параметр = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("НачПер")); Параметр.Значение = СтандартныйПериод.ДатаНачала; Параметр.Использование = Истина; Параметр = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("КонПер")); Параметр.Значение = СтандартныйПериод.ДатаОкончания; Параметр.Использование = Истина; КонецПроцедуры Один вопрос - при открытии расшифровки сначала отрабатывает ПриКомпоновкеРезультата, а только потом задаются даты в процедуре ПриОткрытии. Как передать их до того? И второй, параметр структуры КлючВариант, он на что-то влияет? У меня походу нет, хотя ожидалось что задаст вариант открытия отчета. |
|||
1
seraf
12.09.13
✎
12:21
|
Если я передаю настройки Владельца не в Пользовательские, а в Фиксированные настройки, тогда с датами работает, но не с первого раза почему-то и при попытке дальше с открытым отчетом что-то сделать выдает "Невозможно применить фиксированные настройки. Совпадают значения параметра."
|
|||
2
seraf
12.09.13
✎
12:22
|
А с Пользовательскими всё неплохо, кроме того что период не передался
|
|||
3
Chin
12.09.13
✎
12:23
|
(0) А "ПриСозданииНаСервере" не пойдет?
|
|||
4
seraf
12.09.13
✎
12:33
|
(3) Вроде нет, я же не знаю владельца формы при этом событии, даты копирую из него
|
|||
5
Chin
12.09.13
✎
12:37
|
(4) А в параметрах передать даты не пробовал?
|
|||
6
seraf
12.09.13
✎
12:42
|
не очень тут плаваю
вроде ж копирую параметры владельца в новый отчет ПараметрыОтчета = Новый Структура("СформироватьПриОткрытии, Отбор, ПользовательскиеНастройки", Истина, Отбор, НастройкиВладельца); ОткрытьФормуМодально("Отчет.АнализЗатрат.Форма", ПараметрыОтчета, ЭтаФорма); Как их правильно передавать? |
|||
7
seraf
12.09.13
✎
14:17
|
Вроде справился с этим, только не пойму куда в расшифровку отбор передается, т.к. через изменить вариант я уже установленный отбор не вижу и изменить не могу
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |