Table of Contents

Создание вычисляемого поля с данными из разных таблиц одного узла

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

ШАГ 1. Создайте отчетную форму для объекта учета с системами теплоснабжения и ГВС. Для системы теплоснабжения задайте две точки учета, для системы ГВС - одну. В параметрах отметьте только теплоту.

ШАГ 2 Для теплоснабжения удалите колонки Q1 и Q2.

Добавьте колонку для отображения суммарного потребления тепла в системах теплоснабжения и ГВС. Измените заголовки колонок.

Задайте ячейкам секции Detail следующие имена:

  • tcHeat1 - ячейка для теплопотребления первой точки учета системы теплоснабжения,
  • tcHeat2 - ячейка для теплопотребления второй точки учета системы теплоснабжения,
  • tcHotWater - ячейка для теплопотребления первой точки учета системы ГВС,
  • tcHeatAndHotWater - ячейка для суммарного потребления по теплоснабжению и ГВС.

Для этого поменяйте значения свойства (Имя) в окне свойств.

ШАГ 3. На панели Список полей выберите Архивы потреблений и интеграторов, вызовите контекстное меню и 4 раза выберите пункт Добавить вычисляемое поле. Будут автоматически добавлены поля с наименованиям calculatedField1, calculatedField2, calculatedField3, calculatedField4.

ШАГ 4. Для calculatedField1 поменяйте Имя поля на Q_1, тип поля на Двойной точности. В пункт Выражение скопируйте: IsNull([Потребление].[Теплоснабжение Точка учета1 (Потребление)].[Q], 0)

Для calculatedField2 поменяйте Имя поля на Q_2, тип поля на Двойной точности. В пункт Выражение скопируйте: IsNull([Потребление].[Теплоснабжение Точка учета2 (Потребление)].[Q], 0)

Для calculatedField3 поменяйте Имя поля на Q_hotwater, тип поля на Двойной точности. В пункт Выражение скопируйте: IsNull([Потребление].[ГВС Точка учета1 (Потребление)].[Q], 0)

Важно

Вычисляемые поля Q_1, Q_1 и Q_hotwater нужны для возможности использования объектов учета, у которых в системе теплоснабжения меньше двух точек учета и/или нет точек для системы ГВС.

Для calculatedField4 поменяйте Имя поля на calcHeatAndHotWater, тип поля на Двойной точности. В пункт Выражение скопируйте: IsNull([Q_1], 0) + IsNull([Q_2], 0) + IsNull([Q_hotwater], 0)

Важно

Если вместо вычисляемых полей в функции IsNull() сразу использовать ссылки на поля источника данных, то при наличии ссылки на поле несуществующей точки учета, будет возвращаться значение null, независимо от наличия данных в имеющихся точках учета.

ШАГ 5. Свяжите колонку с суммарным потреблением тепла c созданным вычисляемым полем calcHeatAndHotWater. Для этого щелкните на нем левой кнопкой мыши и, не отпуская кнопки, перетащите поле на соответствующие ячейки в секции Detail и ReportFooter.

В ячейках строки Итого задайте расчет сумм.

Для сохранения созданной отчетной формы нажмите кнопку .

Для выхода из редактора отчетов нажмите кнопку .

ШАГ 6. Кнопка Просмотр на панели представления позволяет увидеть как будет выглядеть готовый отчет. Если нужно что-либо изменить, кнопка Дизайнер на панели представления позволяет вернуться к режиму редактирования.

Чтобы проверить вид отчета с данными, нажмите кнопку Сформировать, выберите объект учета, задайте период, тип данных и нажмите кнопку ОК.

Пример сформированного отчета: