Table of Contents

Расчет отсутствующих данных в конце текущего и предыдущего месяца

Для включения расчета отсутствующих данных необходимо в параметрах отчетной формы выбрать алгоритм расчета и задать минимальное количество часов для расчета средних значений.

[!NOTE]

Метки времени с отсутствующими данными - это метки времени для которых не заданы параметры потребления.

Текущий месяц определяется по дате формирования отчета и не зависит от отчетного периода.

Если дата окончания отчетного периода не принадлежит текущему месяцу, то расчет отсутствующих данных не выполняется.

Порядок расчета следующий:

  • имеющиеся данные просматриваются от конца отчетного периода к началу;
  • для текущего месяца определяется дата lastExistingDataDate, начиная с которой и до конца месяца отсутствуют данные потребления;
  • имеющиеся данные в конце отчетного периода накапливаются до тех пор, пока суммарное время наработки не станет равным или превысит значение параметра 'Минимальное количество часов для расчета средних значений';
  • по накопленным данным выполняется расчет среднесуточных значений avgDayValue по формуле: avgDayValue = sumValue * 24 / sumWorkTime, где sumValue - накопленная сумма аддитивного параметра потребления, sumWorkTime - накопленная часовая сумма фактического времени наработки;
  • суммарное потребление sumMissingValue за период отсутствия данных в конце текущего месяца рассчитываются по формуле: sumMissingValue = ((monthEndDate - lastExistingDataDate) + 1) * avgDayValue, где monthEndDate - дата последнего дня текущего месяца.

Значения sumMissingValue для текущего месяца хранятся в узле 'Потребления до конца текущего и предыдущего месяца рассчитанные по среднесуточным значениям' в полях с префиксом Current.
В следующем месяце, перед расчетом отсутствующих данных, эти значения копируются в поля с префиксом Previous, а вновь рассчитанные значения - в поля с префиксом Current.