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