Применение ЛЭРСа энергоснабжающими организациями часто ставит перед пользователями задачу контроля балансов на всех уровнях.
И в этом случае, если настраивается иерархия, то часто она отражает транспорт ресурса, в моей практике получается так. Т.е. отражает структуру распределения ресурса, что и частями параллельно отражается и в балансовых группах.
Получается двойная работа при описании, но самое не удобное – это серьёзные усилия по обеспечению синхронности описания балансовых групп и иерархии в процессе эксплуатации. Тут кроется источник постоянных ошибок персонала. Кроме того, оказалось визуально более понятно строить отчет по балансовой группе прямо из иерархии. Понимая ее положение в транспортной сети.
Отсюда предложение: доработать иерархию, чтобы смотреть потребление балансовой группы по узлу иерархии непосредственно из иерархии.
Т.е. я не предлагаю убрать балансовые группы, а дополнительно реализовать возможность создания балансовой группы прямо в иерархии. Для этого можно сделать соответствующую опцию в свойствах узла иерархии. И добавить назначение головного узла
Вот у нас есть узел иерархии, в который входят объекты, другие узлы со своими объектами, и так далее. Каким образом должна строится балансовая группа? Что является головными объектами, а что объектами группы?
Проще всего, конечно, в качестве головных объектов представить непосредственно членов узла, а в качестве объектов группы членов всех дочерних узлов. Но что если там есть иерархические узлы с промежуточными балансами? Тогда простое суммирование добавит к головному потреблению лишние данные и баланс не сойдётся.
Технически тут проблем особо нет. Балансовая группа - понятие виртуальное и может строится “на лету”, учитывая иерархию объектов. Но вот правила, по которым это нужно сделать, я не совсем понимаю.
Может ваше предложение и разумно, но я не понял описание. Думаю беда в терминологии. В документации есть только “корневая группа” и “подгруппа”. Понятие узла к вашей реализации я не смог применить, т.к. ветвление идет не по объекту. Вы просто добавляете в группу/подгруппу дочернюю подгруппу.
Поэтому если нужно для обсуждения все таки понять вашу модель - опишите что такое “члены узла”, “дочерние узлы” и “иерархические узлы”
Опишу, как я вижу изменения.
Сначала терминология. Назову объекты применительно к балансовых групп, по аналогии с вашей документацией. В документации.
" Головные точки учета - редактируемый список точек учета считающихся головными в балансовой группе. Может быть пустым или содержать одну или несколько точек учета.
*Точки учета группы - редактируемый список точек учета считающихся дочерними по отношению к головным. Может быть пустым или содержать одну или несколько точек учета.*"
Ниже буду использовать названия головные объекты и дочерние объекты.
Описываемые изменения НЕ должны заменить существующую иерархию, а дополнить ее. Т.е. текущая реализация иерархии подходит для географического деления, деления по коммерческим параметрам, и т.д., но не удобна для отражения транспорта ресурсов. Для транспорта нужно, чтобы дочерняя подгруппа была связана одним (или более объектов) родительской группы/подгруппы.
Поэтому. Все объекты группы/подгруппы - дочерние объекты. Головными объектами для подгруппы нужно назначить объект или объекты из родительской группы/подгруппы (это часть изменения).
Надеюсь. Сейчас понятно.
Ну и при просмотре потребления по группе если есть дочерние группы, то хочется видеть баланс и по дочерним группам
Описание очень сложное, так что понятно не до конца.
Если я правильно понял, вы хотите выбрать узел в иерархии и построить по нему балансовую группу. При этом головные объекты балансовой группы нужно выбрать из объектов, которые принадлежат узлу иерархии. А объекты группы будут автоматически заполнены из всех дочерних узлов иерархии. Всё верно, или опять как-то не так?