Имя: Пароль:
1C
1С v8
СКД, Вычисляемые поля.
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
В ресурсах так не получится. Или Сумма(ВлажностьТП) или рассчитывай от поля Влажность.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший