|
СКД получить данные и по дополнительной расшифровке запустить свой отчет с ними | ☑ | ||
---|---|---|---|---|
0
Aradel3d
30.07.15
✎
11:33
|
Добрый день!
Делаю запуск своего отчета по клику в расшифровке (В УПП есть штатный способ вызывать свой отчет как дополнительную расшифровку), затем нужно передавать в него данные изначального отчета. Как к ним можно обратиться и прочесть? Либо как запустить запрос из СКД и выгрузить его? С СКД редко работаю, подскажите плиз. |
|||
1
bootini
30.07.15
✎
11:46
|
||||
2
fisher
30.07.15
✎
12:04
|
Я для получения данных из расшифровки вот таким пользуюсь:
Функция ПолучитьМассивРодительскихЭлементовРасшифровки(ЭлементРасшифровки) Экспорт МассивРодителей = Новый Массив; МассивПрямыхРодителей = ЭлементРасшифровки.ПолучитьРодителей(); Для Каждого РодительскийЭлементРасшифровки Из МассивПрямыхРодителей Цикл МассивВышестоящихРодителей = ПолучитьМассивРодительскихЭлементовРасшифровки(РодительскийЭлементРасшифровки); Для Каждого ЭлементРасшифровкиВышестоящегоРодителя Из МассивВышестоящихРодителей Цикл Если ТипЗнч(ЭлементРасшифровкиВышестоящегоРодителя) = Тип("ЭлементРасшифровкиКомпоновкиДанныхПоля") Тогда МассивРодителей.Добавить(ЭлементРасшифровкиВышестоящегоРодителя); КонецЕсли; КонецЦикла; КонецЦикла; Для Каждого ПрямойРодитель Из МассивПрямыхРодителей Цикл Если ТипЗнч(ПрямойРодитель) = Тип("ЭлементРасшифровкиКомпоновкиДанныхПоля") Тогда МассивРодителей.Добавить(ПрямойРодитель); КонецЕсли; КонецЦикла; Возврат МассивРодителей; КонецФункции Функция ПолучитьСтруктуруПолейРасшифровки(ЭлементРасшифровки) Экспорт МассивЭлементовРасшифровки = ПолучитьМассивРодительскихЭлементовРасшифровки(ЭлементРасшифровки); МассивЭлементовРасшифровки.Добавить(ЭлементРасшифровки); СтруктураПолей = Новый Структура; Для Каждого текЭлементРасшифровки Из МассивЭлементовРасшифровки Цикл Для Каждого текПоле Из текЭлементРасшифровки.ПолучитьПоля() Цикл СтруктураПолей.Вставить(текПоле.Поле, текПоле.Значение); КонецЦикла; КонецЦикла; Возврат СтруктураПолей; КонецФункции Функция ПолучитьПараметрыРасшифровываемогоПоля(ИндексЭлементаРасшифровки, АдресДанныхРасшифровкиВоВременномХранилище) Экспорт СтруктураРезультата = Новый Структура; ДанныеРасшифровкиОтчета = ПолучитьИзВременногоХранилища(АдресДанныхРасшифровкиВоВременномХранилище); ЭлементРасшифровки = ДанныеРасшифровкиОтчета.Элементы[ИндексЭлементаРасшифровки]; ИмяРасшифровываемогоПоля = Неопределено; ПоляЭлементаРасшифровки = ЭлементРасшифровки.ПолучитьПоля(); Если ПоляЭлементаРасшифровки.Количество() > 0 Тогда ИмяРасшифровываемогоПоля = ПоляЭлементаРасшифровки[0].Поле; КонецЕсли; СтруктураРезультата.Вставить("ИмяПоля", ИмяРасшифровываемогоПоля); СтруктураРезультата.Вставить("ПоляГруппировок", УправлениеОтчетами.ПолучитьСтруктуруПолейРасшифровки(ЭлементРасшифровки)); Возврат СтруктураРезультата; КонецФункции |
|||
3
fisher
30.07.15
✎
12:06
|
Т.е. просто вызываешь ПолучитьПараметрыРасшифровываемогоПоля(), а оно тебе выдает структуру со значениями группировок.
|
|||
4
bootini
30.07.15
✎
12:15
|
(3) Спс, при случае попробуем.
|
|||
5
Aradel3d
30.07.15
✎
12:37
|
Спасибо. Получается кроме группировок, которые в данный момент на экране, вытянуть более ничего нельзя? Но с другой стороны первоначально выводятся начисления и суммы, отчет позволяет додетализировать до сотрудников -> нырнуть в результаты запроса которые не на экране все же можно?
|
|||
6
fisher
30.07.15
✎
13:01
|
Значения ресурсов в данные расшифровки не попадают. Можно только до текстового значения в табличном документе добраться.
"Нырнуть" никуда нельзя. Детализация по расшифровке выполняется перекомпоновкой отчета. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |