СКД. Программно изменить выражение ресурса
☑
0
qwerty09
01.09.11
✎
13:31
Платформа 8.2.13
Есть необходимость при формировании отчета на СКД динамически изменять выражение для нескольких ресурсов в схеме компоновки, в зависимости от настроек...делаю так:
КоллекцияРесурсовСКД = СхемаКомпоновкиДанных.ПоляИтога;
РесурсСебестоимость = КоллекцияРесурсовСКД.Найти("Себестоимость");
РесурсРентабельнаяСтоимость = КоллекцияРесурсовСКД.Найти("РентабельнаяСтоимость");
Если ПоМаксимальнойСебестоимости Тогда
РесурсСебестоимость.Выражение = "Максимум(" + РесурсСебестоимость.ПутьКДанным + ")";
РесурсРентабельнаяСтоимость.Выражение = "Максимум(" + РесурсРентабельнаяСтоимость.ПутьКДанным + ")";
Иначе
РесурсСебестоимость.Выражение = "Среднее(" + РесурсСебестоимость.ПутьКДанным + ")";
РесурсРентабельнаяСтоимость.Выражение = "Среднее(" + РесурсРентабельнаяСтоимость.ПутьКДанным + ")";
КонецЕсли;
Смотрю отладчиком - выражение таки меняется, но итоги считаются по старому : ( Что не так сделал?
1
Cube
01.09.11
✎
13:32
"Максимум(Сумма(" + РесурсСебестоимость.ПутьКДанным + "))"?
2
qwerty09
01.09.11
✎
13:36
(1) та вроде не...оно по умолчанию там "Среднее(Себестоимость)" стоит. Или это кроме выражения ресурса еще где то надо писать?
3
Cube
01.09.11
✎
13:38
(2) Да, чет я прогнал))
4
qwerty09
01.09.11
✎
13:51
нашел косяк, пардоньте... сначала инициализировал компоновщик макета, а потом чет еще устанавливать пытаюсь..разбросал по разным процедурам и сразу не увидел подвоха =)
2 + 2 = 3.9999999999999999999999999999999...