Проблема с итогами в отчете в разрезе родителей элемента справочника
chief accountant
23.07.2009 - 09:50
|
Есть ТЗ полученная в результате запроса, далее нужно суммы вывести в разрезе иерархии справочника, который является реквизитом для справочника из ТЗ. СправДох=СоздатьОбъект("Справочник.КлассификацияДоходов"); СправДох.ВыбратьЭлементы(); Пока СправДох.ПолучитьЭлемент()=1 Цикл Если СправДох.Уровень()>УровеньМах Тогда УровеньМах=СправДох.Уровень(); КонецЕсли; КонецЦикла; ТабИтД=СоздатьОбъект("ТаблицаЗначений"); ТабД.Выгрузить(ТабИтД); Для i=1 По УровеньМах Цикл ТабИтД.НоваяКолонка("КБКРодитель"+i); КонецЦикла; ТекУровень=0; ТекРодитель=""; ТабИтД.ВыбратьСтроки(); Пока ТабИтД.ПолучитьСтроку()=1 Цикл Если ТабИтД.КБК.Классификатор.Родитель.Выбран()=1 Тогда ТабИтД.КБКРодитель1=ТабИтД.КБК.Классификатор.Родитель; Если СправДох.НайтиЭлемент(ТабИтД.КБК.Классификатор.Родитель)=1 Тогда ТекРодитель=СправДох.ТекущийЭлемент(); Для i=9 По ТабИтД.КоличествоКолонок() Цикл ТабИтД.УстановитьЗначение(ТабИтД.НомерСтроки,i,ТекРодитель.Родитель); ТекРодитель=ТекРодитель.Родитель; КонецЦикла; КонецЕсли; КонецЕсли; КонецЦикла; Потом сворачиваем все что получилось по каждой новой колонке и добавляем в исходную ТЗ. Тока не нравится мне весь этот код, может как попроще можно? |