есть некий запрос. который получает данные.
нужно к этому набору данных добавить еще строки с расчетами по формулам.
Как выполнить расчет по формулам ?
выгружать 1 результат запроса и обрабатывать его и подставлять строки или же формировать динамический запрос. где высчитывать показатели для формулы и конечный результат добавлять в общею таблицу.
Как будет быстрее ? перебирать полученную таблицу или динамически формировать запрос и уже потом рассчитывать формулу ?
Надеюсь понятно изложил
Решил сделать так
ТЗОбщие - 1 набор данных, где общие показатели для формул
ТЗФормула = Новый ТаблицаЗначений;
ТЗФормула = ТЗОбщие.скопироватьколонки();
ТЗФормула.Колонки.Добавить("Параметр");
Для каждого СтрФормулы из ПараметрыФормулы Цикл
КолонкаОтбора = ?(СтрФормулы.Доход,СтрФормулы.ПараметрЗначение.НаименованиеОтчетов,СтрФормулы.ПараметрЗначение.НаименованиеОтчетовРасходы);
ВремТЗ = ТЗОбщие.Скопировать(Новый Структура("Раздел",КолонкаОтбора));
ВремТЗ.Свернуть("Раздел,КварталКВ,Месяц","Первонач,Корректировка,Отклонение,Окончательно");
Для каждого СтрВрем из ВремТЗ цикл
СтрФормула = ТЗФормула.Добавить();
СтрФормула.Параметр = СтрФормулы.ПараметрЗначение;
ЗаполнитьЗначенияСвойств(СтрФормула,СтрВрем);
КонецЦикла;
КонецЦикла;
(2) вот так выглядит отчет.
http://www.ximage.ru/index.php?id=1363853955 Последняя строка расчетная по формуле.
динамически формировал запрос и рассчитывал формулу и добавлять к общей таблице и выводил.
Хочу попробовать не запросом получать формулу, а на основание полученной тз. подсчитать и вывести формулу.
Так понятней ?
(1) вот так начал делать.
в ТЗФормула когда заполняю указываю к какому параметру относятся данные. как мне потом рассчитать формулу ?
Или все равно не понятно ? :)
допустим формула такая а+б
тз имеет колонки
Первонач,Корректировка,Отклонение,Окончательно.
как мне соединить таблицы по КварталКВ,Месяц.
и прибавить показатели или отнять в зависимости от формулы.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший