Как получить суммарное значение между 2мя произвольными датами

Здравствуйте!

Исходные данные: есть дата, когда прибор был введен в эксплуатацию (условно 09.12.2014) и есть 2 даты отчетного периода, которые пользователь задает в меню Отчеты
Какой конструкцией в скрипте получить суммарное значение по M, V, Q и др между этой датой 09.12.2014 и датой начала периода? Желательно, чтобы это было быстро (не циклом)
Например, дата начала периода 16.04.2015

Просуммировать значения по массам, объемам и количеству тепла между 09.12.2014 и 16.04.2015?

Надо формировать отчет за период с 09.12.2014 по конец отчетного периода.
Скрыть ненужные строки можно с помощью условного форматирования.

Создайте вычисляемые поля для получения значений M, V, Q, в которых проверяйте текущую дату, и если она < начала периода, то возвращайте 0.
Создайте ячейки (со свойством Видимость = Нет), свяжите их с полями M, V, Q, в которых укажите суммирование по всему отчетному периоду.
В строке Итого для M, V, Q используйте созданные вычисляемые поля.
В обработчике события ‘Печать на странице’ для скрытых ячеек, можно рассчитать потребление за период с 09.12.2014 по 16.04.2015 как разницу значений в скрытых ячейках и соответствующих ячейках строки Итого.

Не точно объяснил, с отчетом не нужно делать ничего, необходимо получить суммарные значения в теле скрипта конкретно в разделе BaseReport_DataSourceDemanded

В теле скрипта в разделе BaseReport_DataSourceDemanded можно получить доступ только к данным из заданного отчетного периода.
Поэтому в любом случае, чтобы рассчитать суммы с 09.12.2014 надо задавать отчетный период с 09.12.2014.

:frowning: если внести изменения в редактор, скажем добавив туда раздел для работы с всем доступным Архивом показаний вне зависимости от временного промежутка? есть такая техн возможность (гипотетически)?

Будет верным утверждение, что мы не сможем получить доступ к рукописной процедуре в SQL Server, которая бы выполняла в базе эти операции а потом передовала полученный результат в редактор?

Для чего это нужно, объясню. В связи с тем, что в архивах некоторых приборов (Взлет например) нет интеграторов, мы предположили написать скрипт, который бы суммировал суточные значения, начиная с самой первой даты (введения в эксплуатацию), при наличии таковой, тем самым получали бы точное значение интегратора на начало периода. В случае отсутствия первых значений, логика была бы другой, но принципиально то же самое.

Т. к. отчеты формируются на сервере, то для получения данных в отчетах с помощью скриптов можно было бы использовать методы сервера. Но эти методы не документированы и могут часто изменяться, из-за чего отчет станет неработоспособным.

Мы подумаем над другими способами получения произвольных данных в отчетах.

Да по поводу DevExpress API я понимаю, что многое меняется так же регулярно как обновляется сама библиотека и многие функции переходят в статус Deprecated и удаляется.
Изначально полагал что есть некая 1 функция которая бы суммировала данные между 2мя промежутками времени, достаточно задать сам параметр, будто M1, M2, V1, V2 или другие

что то наподобие функций, которые есть в Lers Framework

MeasurePointConsumptionRecordCollection consumption = measurePoint.Data.GetConsumption(new DateTime(2000, 1, 1), DateTime.Today, Lers.Data.DeviceDataType.Day);

О каких именно моделях Взлет ТСРВ идет речь? У Взлет ТСРВ есть текущие интеграторы. Не проще ли рассчитывать значения архивных интеграторов (интерполяция начальных значений по текущим и суммирование их с часовыми)?

026М в частности. Я не спорю что вычисления производятся, но данные скажем предыдущие уже никак не рассчитать за предыдщие 2-3 месяца, поэтому и решили скриптом получить любые значения от начала включения прибора и по сей день.

Здравствуйте! Какие то есть идеи по поводу вопроса?

В данный момент нам необходим такой скрипт только на 1 точке учета, заказчик подает показания в РСО, где от него требуют все интеграторы за любой промежуток времени. В других объектах, кто установлен ТСРВ026М от нас особо интеграторы не просили никогда, посему там нет настроек вычисления, получить их будет сложнее, так как не известна первая дата ввода в эксплуатацию и первых значений.

Здравствуйте! А есть какое то решение уже?

Понимаю, что требуется доработка определенная, но надежда есть на возможность ей воспользоваться.

Здравствуйте! Так не дождался ответа от вас по теме вопроса?

Пока решения нет. Сейчас все силы брошены на выпуск R13, поэтому до её выхода врят-ли оно появится.

Зайдем с другой стороны: не проще ли один раз рассчитать интеграторы “в прошлое”, вычитая потребление из самого первого имеющегося значения интегратора?