1.
aritochka777
22.09.24 01:01
Сейчас в теме
Отчет создан на скд.
в строке выводятся несколько ресурсов (напр, СуммаПриход, Налоги)
В макете для этих полей указаны параметры расшифровки.
когда в отчете вызываем расшифровку, то выводится окно с расшифровкой (скрин), в котором расшифровывается только суммаПриход и, если была уплата налогов, то документ со списанием но с пустой суммой.
Расшифровка выводится в свой макет расшифровки в процедуре "ПриКомпановкеРезультата"
ВОт ее кусочек:
Если ДанныеРасшифровки.Настройки.Структура[0].Идентификатор = "Расшифровка" Тогда
ТЗ = Новый ТаблицаЗначений;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,, ДанныеРасшифровки, Истина);
ПроцессорВыводаВТабличныйДокумент = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
ПроцессорВыводаВТабличныйДокумент.УстановитьОбъект(ТЗ);
ПроцессорВыводаВТабличныйДокумент.Вывести(ПроцессорКомпоновкиДанных);
ТЗ.Удалить(ТЗ[0]);
ТЗ.Удалить(ТЗ[ТЗ.Количество()-1]);
//МЧ+++
ТЗ.Колонки.Добавить("НомерВходящегоДокумента");
ТЗ.Колонки.Добавить("ДатаВходящегоДокумента");
Для Каждого стр Из ТЗ Цикл
Если НЕ стр.Регистратор = Null Тогда
стр.НомерВходящегоДокумента = стр.Регистратор.НомерВходящегоДокумента;
стр.ДатаВходящегоДокумента = стр.Регистратор.ДатаВходящегоДокумента;
КонецЕсли;
КонецЦикла;
//МЧ+++
ВнешниеНаборыДанных = Новый Структура;
ВнешниеНаборыДанных.Вставить("ДанныеРасшифровкиПоРегистратору", ТЗ);
СхемаКомпоновкиДанных = ПолучитьМакет("РасшифровкаРегистратор");
Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ДанныеРасшифровки);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
Иначе
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,, ДанныеРасшифровки, Истина);
ПроцессорВыводаВТабличныйДокумент = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВыводаВТабличныйДокумент.УстановитьДокумент(ДокументРезультат);
ПроцессорВыводаВТабличныйДокумент.Вывести(ПроцессорКомпоновкиДанных);
КонецЕсли;
т.е. ДанныеРасшифровкиПоРегистратору из макета расшифровки заполнились значениями из ТЗ
Но непонятно в какой момент заполнилась сама ТЗ, откуда она взяла данные по всем документам?
Как сделать отдельно расшифровку для поля СуммаПриход до Регистратора с документами ПоступленияДС,
и отдельно расшифровку для Налогов соответ-но с доками Списания ДС???
Помогите, пжлст, разобраться и решить этот вопрос)
Прикрепленные файлы: