СКД, Вычисляемые поля.
☑
0
Nesh
07.11.11
✎
18:59
вот код. тут программно добавляю в СКД вычисляемые поля:
Функция СформироватьМассивВычисляемыхПолей()
Структура = Новый Структура;
Структура.Вставить("ВлажностьТП","ВлажностьСсылка*Вес");
Возврат Структура;
КонецФункции
Функция ДобавитьВычисляемоеПоле(СхемаКомпоновкиДанных, Выражение, ПутьКДанным) Экспорт
ВычисляемойПоле = СхемаКомпоновкиДанных.ВычисляемыеПоля.Добавить();
ВычисляемойПоле.Выражение = Выражение;
ВычисляемойПоле.ПутьКДанным = ПутьКДанным;
Возврат ВычисляемойПоле;
КонецФункции
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
СтруктураПолей = СформироватьМассивВычисляемыхПолей();
Для каждого Элемент Из СтруктураПолей Цикл
ДобавитьВычисляемоеПоле(СхемаКомпоновкиДанных,Элемент.Значение,Элемент.Ключ);
КонецЦикла;
КонецПроцедуры
далее необходимо его добавить еще в настройку отчета. подскажите как программно добавить такое поле в настройку?
1
Nesh
07.11.11
✎
19:18
а тут вообще выдает что синтаксическая ошибка. это уже выражение поля ресурса
Выбор
Когда Сумма(Вес) = 0
Тогда 0
Иначе Сумма(Ссылка.Влажность) / Сумма((ВЫРАЗИТЬ(Ссылка.Влажность КАК "ЧИСЛО(15, 1)")*Вес))
Конец
2
zladenuw
07.11.11
✎
20:17
добавь поле влажность
3
Nesh
07.11.11
✎
21:36
(2) оно есть. проблема была в другом.
Сумма((ВЫРАЗИТЬ(Ссылка.Влажность , "ЧИСЛО(15, 1)")*Вес)) надо было так
4
IronDemon
07.11.11
✎
22:58
В ресурсах так не получится. Или Сумма(ВлажностьТП) или рассчитывай от поля Влажность.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший