|
Программная расшифровка отчета | ☑ | ||
---|---|---|---|---|
0
Manifest07
18.05.16
✎
11:37
|
Привет всем. Есть задача добавить поле, например "Период" при расшифровке по регистратору. Изначально поле регистратор в отчет не попадает. Когда я навожу на нужное поле и хочу его расшифровать, выбираю Регистратор и получаю более детальный вид отчета.
Вопрос, как программно отловить этот момент, когда я расшифровку делаю именно по регистратору и хочу программно добавить еще одну колонку? |
|||
1
hhhh
18.05.16
✎
12:01
|
ну там событие есть на форме вроде. обработка расшифровки или как то там.
|
|||
2
Manifest07
19.05.16
✎
11:47
|
да, нашел на сайте ИТС всю информацию как отловить нужный мне момент, но вот проблема теперь у меня в том, как в расшифрованный отчет программно добавить поле Период, оно есть в наборе данных.
|
|||
3
Manifest07
19.05.16
✎
11:51
|
&НаКлиенте
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка) Перем ВыбранноеДействие; Перем ПараметрыВыбранногоДействия; СтандартнаяОбработка = Ложь; ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки, Новый ИсточникДоступныхНастроекКомпоновкиДанных(Отчет)); ОбработкаРасшифровки.ВыбратьДействие(Расшифровка, ВыбранноеДействие, ПараметрыВыбранногоДействия); Если ВыбранноеДействие <> ДействиеОбработкиРасшифровкиКомпоновкиДанных.Нет Тогда Если ВыбранноеДействие = ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение Тогда ОткрытьЗначение(ПараметрыВыбранногоДействия); Иначе ОтработатьРасшифровку(Новый ОписаниеОбработкиРасшифровкиКомпоновкиДанных(ДанныеРасшифровки, Расшифровка, ПараметрыВыбранногоДействия)); КонецЕсли; КонецЕсли; КонецПроцедуры &НаСервере Процедура ОтработатьРасшифровку(ОписаниеОбработкиРасшифровки) ДанныеРасшифровкиОбъект = ПолучитьИзВременногоХранилища(ДанныеРасшифровки); ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровкиОбъект, Новый ИсточникДоступныхНастроекКомпоновкиДанных(Отчет)); РезультирующиеНастройки = ОбработкаРасшифровки.ПрименитьНастройки(ОписаниеОбработкиРасшифровки.Идентификатор, ОписаниеОбработкиРасшифровки.ПрименяемыеНастройки); Если ТипЗнч(РезультирующиеНастройки) = Тип("НастройкиКомпоновкиДанных") Тогда Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(РезультирующиеНастройки); ИначеЕсли ТипЗнч(РезультирующиеНастройки) = Тип("ПользовательскиеНастройкиКомпоновкиДанных") Тогда Отчет.КомпоновщикНастроек.ЗагрузитьПользовательскиеНастройки(РезультирующиеНастройки); КонецЕсли; СкомпоноватьРезультат(); КонецПроцедуры Вот код, правильно ли я понимаю, что мне нужно редактировать именно РезультирующиеНастройки, которые я потом уже загружаю в отчет? |
|||
4
aleks_default
19.05.16
✎
11:54
|
сделай другой вариант отчета с этим полем и по расшифровке открывай его
|
|||
5
Manifest07
19.05.16
✎
11:55
|
(4) Задача состоит именно в том, чтобы именно программно это реализовать. Вариант отчета конечно можно сделать.
|
|||
6
Manifest07
19.05.16
✎
16:54
|
Решение найдено, если кому пригодится...
[CODE] &НаСервере Процедура ОтработатьРасшифровку(ОписаниеОбработкиРасшифровки) ПолеПериодСекунда = ОписаниеОбработкиРасшифровки.ПрименяемыеНастройки.Структура[0].Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных")); ПолеПериодСекунда.Поле = Новый ПолеКомпоновкиДанных("ПериодСекунда"); ДанныеРасшифровкиОбъект = ПолучитьИзВременногоХранилища(ДанныеРасшифровки); ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровкиОбъект, Новый ИсточникДоступныхНастроекКомпоновкиДанных(Отчет)); РезультирующиеНастройки = ОбработкаРасшифровки.ПрименитьНастройки(ОписаниеОбработкиРасшифровки.Идентификатор, ОписаниеОбработкиРасшифровки.ПрименяемыеНастройки); //РезультирующиеНастройки.Структура[0] Если ТипЗнч(РезультирующиеНастройки) = Тип("НастройкиКомпоновкиДанных") Тогда Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(РезультирующиеНастройки); ИначеЕсли ТипЗнч(РезультирующиеНастройки) = Тип("ПользовательскиеНастройкиКомпоновкиДанных") Тогда Отчет.КомпоновщикНастроек.ЗагрузитьПользовательскиеНастройки(РезультирующиеНастройки); КонецЕсли; СкомпоноватьРезультат(); КонецПроцедуры [/CODE] |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |