Имя: Пароль:
1C
1С v8
вычислить формулу по показателям с ТЗ
0 zladenuw
 
13.03.13
23:39
Есть формулы.
количество переменных формулы не известно.
например (а+б)/100

Есть таблица значений.
Колонки, а.Показатель.. а.ПоказательN, б.Показатель.. б.ПоказательN

Получить Итоги по таблице и подставить в формулу.
С итогами понятно.
как подставить в формулу ?
1 DirecTwiX
 
13.03.13
23:40
СтрЗаменить, Вычислить? Самое банальное)
2 zladenuw
 
13.03.13
23:49
Для каждого ТекКолонка из Колонки цикл
                   Для каждого СтрПараметр из ПараметрыФормулы цикл
                       ИтогКолонки = ТЗ.Итог(?(ПараметрыФормулы[0].ПараметрИмя=СтрПараметр.ПараметрИмя,"",СтрПараметр.ПараметрИмя)+ТекКолонка);
                       Формула = СтрЗаменить(Формула,СтрПараметр.ПараметрИмя,ИтогКолонки);
                   КонецЦикла;    
                   СтрТЗ["Окончательно"] = Вычислить(Формула);
               КонецЦикла;

да но. вот ошибка
{(1,1)}: Неправильная константа типа Число
<<?>>132 973 787,71+30 000
{(1,12)}: Ошибка в выражении
132 973 787<<?>>,71+30 000
3 DirecTwiX
 
13.03.13
23:51
Формат
4 DirecTwiX
 
13.03.13
23:51
Или запята
5 DirecTwiX
 
13.03.13
23:53
А вообще и то, и то. Убирай пробелы и запятые на точки меняй
6 zladenuw
 
14.03.13
00:02
ИтогКолонки = ТЗ.Итог(?(ПараметрыФормулы[0].ПараметрИмя=СтрПараметр.ПараметрИмя,"",СтрПараметр.ПараметрИмя)+ТекКолонка);
                       ИтогКолонки = ?(ЗначениеЗаполнено(Формат(ИтогКолонки,"ЧРД=.; ЧГ=0")),Формат(ИтогКолонки,"ЧРД=.; ЧГ=0"),0);
                       Формула = СтрЗаменить(Формула,СтрПараметр.ПараметрИмя,ИтогКолонки);
AdBlock убивает бесплатный контент. 1Сергей