|
Расшифровка в отчете | ☑ | ||
---|---|---|---|---|
0
MistaEr
24.09.19
✎
15:39
|
Доброго времени! Создал новый отчет. Данные отчета получаю 4-мя макетами СКД. При компоновке результата все вывожу через ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент и объединяю в один табличный документ. Старался) Получился такой красивый хороший отчет. Потмо только понял что расшифровка то там не работает. Все переделывать уже сложно, а как доработать, чтоб хотя бы объекты открывались, не знаю.
|
|||
1
MistaEr
24.09.19
✎
15:41
|
При создании формы отчета (УТ10, отчеты все делаю в управляемых формах), создается реквизит ДанныеРасшифровки. Но моим методом ДанныеРасшифровки не заполняется.
|
|||
2
MistaEr
24.09.19
✎
16:41
|
В ячейках же есть представление документа, по представлению можно получить номер и дату и вид документа и открыть его
|
|||
3
runoff_runoff
24.09.19
✎
17:23
|
свой макет поля, где в параметрах расшифровки указать только значение ссылки..
|
|||
4
Alexandr921
24.09.19
✎
17:56
|
Писал для управляек. ОстаткиВРегистрахОбработкаРасшифровки весит в качестве обработчика события "ОбработкаРасшифровки" табличного документа формы
&НаКлиенте Процедура ОстаткиВРегистрахОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка, ДополнительныеПараметры) СтандартнаяОбработка = Ложь; Данные = ОстаткиВРегистрахОбработкаРасшифровкиНаСервере(Расшифровка); ПоказатьЗначение(,Данные); КонецПроцедуры &НаСервере Функция ОстаткиВРегистрахОбработкаРасшифровкиНаСервере(Расшифровка) ДанныеРасшифр = ПолучитьИзВременногоХранилища(РВ_ЗапчастиИДетали_ДанныеРасшифровки); Если ТипЗнч(Расшифровка) = Тип("ИдентификаторРасшифровкиКомпоновкиДанных") тогда ЭлементРасшифровки = ДанныеРасшифр.Элементы[Расшифровка]; Если ТипЗнч(ЭлементРасшифровки) = Тип("ЭлементРасшифровкиКомпоновкиДанныхПоля") Тогда Для каждого Поле Из ЭлементРасшифровки.ПолучитьПоля() Цикл Возврат Поле.Значение; КонецЦикла; КонецЕсли; КонецЕсли; КонецФункции РВ_ЗапчастиИДетали_ДанныеРасшифровки - это реквизит формы. Я его передаю как параметр с клиента на сервер при построении отчета. В конце построения отчета на сервере я ему присваиваю значение: РВ_ЗапчастиИДетали_ДанныеРасшифровки = ПоместитьВоВременноеХранилище(ДанныеРасшифровкиСКД, Новый УникальныйИдентификатор); где ДанныеРасшифровкиСКД = Новый ДанныеРасшифровкиКомпоновкиДанных; , которые заполняются уже построителем: МакетКомпоновки = КомпоновщикМакета.Выполнить(СКД, Настройки, ДанныеРасшифровкиСКД); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,ВнешниеНаборыДанных, ДанныеРасшифровкиСКД, Истина); А так решение этой проблемы я нагуглил. |
|||
5
MistaEr
24.09.19
✎
18:00
|
(4) У меня таких данных расшифровки будет 4, да и придется все переделывать
|
|||
6
Alexandr921
24.09.19
✎
18:06
|
(5) Т.е. вы 4 раза переопределяете макет СКД, Копоновщик, процессор компоновки? Если да, то переделывать, увы. Я так реализовывал по началу, но понял, что индентификаторы одинаковые и каши с ними не сваришь, а сообразить как это сделать без перебора всех областей табличного документа я не смог, мне проще было переписать отчет, нежели рисовать костыли по перебору областей. Удачи в поиске решения.
|
|||
7
MistaEr
24.09.19
✎
22:14
|
(6) Нет не переопределяю, получаю макет по имени, вывожу в табличный документ. Полученный табличный документ вывожу или присоединяю в табличный документ результат
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |