Корректная дельта интеграторов при их сбросе 1 января

Вопросы по созданию, редактированию и использованию отчетных форм.

Модератор: Модераторы

Ответить
Oiy
Сообщения: 125
Зарегистрирован: 30 янв 2018, 13:32

Корректная дельта интеграторов при их сбросе 1 января

Сообщение Oiy » 23 янв 2020, 10:49

Фактически продолжение темы viewtopic.php?f=13&t=5279&p=36700 .
Ситуация такая же, прибор сбрасывает интеграторы в ноль 1 января, но отчетный период у нас не с первого числа месяца. Как правильно посчитать дельту интеграторов в отчете? Фактически есть часть в декабре и часть в январе, если чисто математически то решается просто M1_Delta + M1_0101 (интегратор которым закрывается год и записывается на 01.01.20ХХ 00:00:00). Но как получить этот интегратор на начало года?
Александр Ряйсянен
Разработчик
Разработчик
Сообщения: 1790
Зарегистрирован: 16 мар 2010, 06:57

Re: Корректная дельта интеграторов при их сбросе 1 января

Сообщение Александр Ряйсянен » 24 янв 2020, 02:11

Пример выражений вычисляемого поля возвращающего показание интегратора на начала года:

Max(Iif(
[DataDate - дата и время] == #2020-01-01 00:00:00#,
[Архив интеграторов].[M1_Start - показания массы в подающей магистрали на начало метки времени], 0))

Max(Iif(
GetYear([DataDate - дата и время]) == 2020 And
GetMonth([DataDate - дата и время]) == 1 And
GetDay([DataDate - дата и время]) == 1 And
GetHour([DataDate - дата и время]) == 0 And
GetMinute([DataDate - дата и время]) == 0,
[Архив интеграторов].[M1_Start - показания массы в подающей магистрали на начало метки времени], 0))

Вычисляемое поле создайте в узле 'Архивы потреблений и интеграторов'.
Ответить