Выяснил, что в ведомостях параметров, построенных на основе данных СПТ944 с расчетным часом отличным от нуля, разница интеграторов считается не правильно. Значения интеграторов берутся вне зависимости от настроенного в точке учета расчетного часа на начало суток. И именно эта небрежность вносит неточность в отчет. Вот пример.
Настройка точек учета вот такие:
Также прикладываю архив с данными, чтобы Вы могли проверить мои выводы.
При формировании отчетов по суточным данным расчетный час никогда не учитывался. Интеграторы выводятся на 00:00 часов начальной даты и даты, следующей за конечной.
Вы можете разработать собственную отчетную форму по часовым данным, в которой рассчитывать по ним суточное потребление и выводить интеграторы с учетом расчетного часа.
Все так, но как только Вы начали корректно работать с расчетными часами, в том числе с СПТ944, то сутки в системах теплоснабжения не всегда стали начинаться и заканчиваться в 0:00. И соответственно в отчетах в таблицах значения суточных записей с расчетный час по расчетный час.
У меня в системах “под рукой” более 1000 СПТ944, из них несколько десятков с расчетным часом 0:00, у остальных он равен 23:00.
Т.е. типичный отчет о потреблении, построенный в ЛЭРС Учет, тот который с 2 таблицами: таблицей суточных значений и таблицей значений интеграторов почти всегда не бьется для СПТ944
Иначе, в сегодняшнем виде ЛЭРС Учет не может правильно сформировать карточку потребления для большинства СПТ 944 на территории России :-):
Посему я считаю, что если расчетный час не равен нулю, то выводить интеграторы с 0:00, уже является ошибкой.
Могу, но это не решит описанную проблему.
Иван, переведите, пожалуйста, эту тему в тот раздел, какой Вам кажется правильным: ошибки или предложения.
Сейчас расчетный час (РЧ) не учитывается при формировании отчетов. Поэтому для точек учета с расчетным часом разность отображаемых показаний интеграторов не равна отображаемому потреблению.
Предлагаются следующие изменения.
В отчетные формы типа Ведомость параметров добавить логический параметр UseReportingHour
РЧ будет учитываться только, если UseReportingHour = true и только для отчетов по суточным данным.
По умолчанию UseReportingHour будет равным false, чтобы в имеющихся отчетных формах ничего не изменилось.
Если UseReportingHour = true, то будет выполняться корректировка интервала показаний интеграторов.
Пусть задан отчетный период [ss.MM.yyyy, ee.MM.yyyy]
Если РЧ > 12, то интервал для чтения и отображения показаний :
[ss-1.MM.yyyy РЧ:00:00, ee.MM.yyyy РЧ:00:00]
Если 0 < РЧ <= 12, то интервал для чтения и отображения показаний:
[ss.MM.yyyy РЧ:00:00, ee+1.MM.yyyy РЧ:00:00]
Во вложении примеры сформированных отчетов с учетом расчетного часа (ExampleReport_New) и без учета (ExampleReport_Old)/ ExampleReport_Old.pdf (133 KB) ExampleReport_New.pdf (133 KB)
На уровне ПО мы введём в отчётную форму флаг учёта расчётного часа. Если он установлен, итоговые значения при выборке будут выбраны с учётом расчётного часа. Системные отчётные формы мы не станем менять, иначе потеряется обратная совместимость. К сожалению, шаблоны должны быть сформированы свои, с учётом этого флага.
Если отчетная форма с учетом расчетного часа задается на базе системной, то надо задать значение параметру UseReportingHour = Да
По умолчанию использование расчетного часа в показаниях интеграторов отключено.
И снова та же проблема, интеграторы в отчетах с суточными значениями используются на начало суток на 0:00, в обращая внимания на значение расчетного часа. Нужно сделать вот такой отчет:
Но ЛЭРС Учет не обращая на то, что расчетный час 10 часов, берет интеграторы на начало суток (на 0:00 это видно по метке времени). Чтобы проверить это, я временно скопировал значения 10 марта с 10 часов тех же суток на 0:00. Вот результат.
Настройки часа
Настройки шаблона, хотя пробовал все варианты
Данные интеграторов используются из этой ветки
Таблица с данными, выделил, то что вставил вручную для проверки
Шаблон прикладываю.
Изначально разговор шел об итоговых значениях интеграторов, т.е. показаниях интеграторов на начало и конец отчетного периода с учетом расчетного часа.
То, что расчетный час будет учитываться для показаний интеграторов по каждой суточной метки времени, не обсуждалось. Поэтому это не ставилось в план работ.
Пожалуйста, ознакомьтесь с вашей параллельной темой. По этой теме мы как раз поставили в план работ реализацию такого функционала. Все вопросы по его реализации стоит задавать в данной теме. Скажу лишь, что изменения, связанные с реализацией этой задачи, достаточно большие поэтому даже ориентировочно назвать версию, в которой задача будет реализована, не представляется возможным.