Возможность соединения иерархии и балансовой группы

Применение ЛЭРСа энергоснабжающими организациями часто ставит перед пользователями задачу контроля балансов на всех уровнях.
И в этом случае, если настраивается иерархия, то часто она отражает транспорт ресурса, в моей практике получается так. Т.е. отражает структуру распределения ресурса, что и частями параллельно отражается и в балансовых группах.
Получается двойная работа при описании, но самое не удобное – это серьёзные усилия по обеспечению синхронности описания балансовых групп и иерархии в процессе эксплуатации. Тут кроется источник постоянных ошибок персонала. Кроме того, оказалось визуально более понятно строить отчет по балансовой группе прямо из иерархии. Понимая ее положение в транспортной сети.
Отсюда предложение: доработать иерархию, чтобы смотреть потребление балансовой группы по узлу иерархии непосредственно из иерархии.
Т.е. я не предлагаю убрать балансовые группы, а дополнительно реализовать возможность создания балансовой группы прямо в иерархии. Для этого можно сделать соответствующую опцию в свойствах узла иерархии. И добавить назначение головного узла

Вот у нас есть узел иерархии, в который входят объекты, другие узлы со своими объектами, и так далее. Каким образом должна строится балансовая группа? Что является головными объектами, а что объектами группы?

Проще всего, конечно, в качестве головных объектов представить непосредственно членов узла, а в качестве объектов группы членов всех дочерних узлов. Но что если там есть иерархические узлы с промежуточными балансами? Тогда простое суммирование добавит к головному потреблению лишние данные и баланс не сойдётся.

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

Может ваше предложение и разумно, но я не понял описание. Думаю беда в терминологии. В документации есть только “корневая группа” и “подгруппа”. Понятие узла к вашей реализации я не смог применить, т.к. ветвление идет не по объекту. Вы просто добавляете в группу/подгруппу дочернюю подгруппу.

Поэтому если нужно для обсуждения все таки понять вашу модель - опишите что такое “члены узла”, “дочерние узлы” и “иерархические узлы”

Опишу, как я вижу изменения.

Сначала терминология. Назову объекты применительно к балансовых групп, по аналогии с вашей документацией. В документации.

" Головные точки учета - редактируемый список точек учета считающихся головными в балансовой группе. Может быть пустым или содержать одну или несколько точек учета.

*Точки учета группы - редактируемый список точек учета считающихся дочерними по отношению к головным. Может быть пустым или содержать одну или несколько точек учета.*"

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

Описываемые изменения НЕ должны заменить существующую иерархию, а дополнить ее. Т.е. текущая реализация иерархии подходит для географического деления, деления по коммерческим параметрам, и т.д., но не удобна для отражения транспорта ресурсов. Для транспорта нужно, чтобы дочерняя подгруппа была связана одним (или более объектов) родительской группы/подгруппы.

Поэтому. Все объекты группы/подгруппы - дочерние объекты. Головными объектами для подгруппы нужно назначить объект или объекты из родительской группы/подгруппы (это часть изменения).

Надеюсь. Сейчас понятно.

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

Описание очень сложное, так что понятно не до конца.

Если я правильно понял, вы хотите выбрать узел в иерархии и построить по нему балансовую группу. При этом головные объекты балансовой группы нужно выбрать из объектов, которые принадлежат узлу иерархии. А объекты группы будут автоматически заполнены из всех дочерних узлов иерархии. Всё верно, или опять как-то не так?

Почти все верно.

Дочерние это объекты группы в иерархии, как например, тут: для группы ТНС-1 я показал дочерние объекты

А головной/головные объекты в этом же интерфейсе нужно выбрать из вышестоящей группы иерархии