Table of Contents

Использование выражений с данными из разных узлов

Вместо вычисляемых полей в отчётной форме можно использовать выражения. В отличии от вычисляемого поля выражение всегда привязано к какой-либо ячейке отчётной формы.

Важно

В выражении можно использовать поля из любых узлов источника данных.

Рассмотрим как можно решить задачу изложенную в 'Пример использования вычисляемого поля с данными из разных узлов' с помощью выражений без использования скриптов и вычисляемых полей. Задача: вывести процент отклонения фактического потребления воды и тепловой энергии от соответствующих договорных значений. Фактические значения потребления берутся из узла 'Архивы потреблений и интеграторов', а часовые договорные значения берутся из узла 'Параметры точки учета'.

ШАГ 1. Откройте в редакторе отчетов требуемую отчетную форму (главном меню пункт Справочники -> Отчетные формы) или создайте новую.

ШАГ 2. Переключитесь на режим использования выражений. Для этого с помощью кнопки откройте форму настройки свойств отчета:

В открывшейся форме надо выбрать пункт Convert to Expressions и сохранить изменения (кнопка на панели инструментов редактора отчетов) .

Важно

После преобразования привязок в выражения, обратный переход на привязки к полям не поддерживается.

ШАГ 3. В секцию ReportHeader добавьте ячейку для отображения часовой договорной нагрузки по потреблению воды и ячейку для отображения часовой договорной нагрузки по тепловой энергии. Свяжите эти ячейки с соответствующими полями из узла 'Параметры точки учета'.

В секциях PageHeader, Detail и ReportFooter добавьте колонки для отображения значений процентов отклонения от договорных нагрузок. Ячейку Дата в секции Detail свяжите с полем DataDate из узла 'Архивы потреблений и интеграторов'. Ячейки M1, M2, Mп, Q1, Q2, Qп в секциях Detail и ReportFooter свяжите с соответствующими полями из узла 'Архивы потреблений и интеграторов'.

ШАГ 4. Для ячеек Отклонение в секции Detail надо задать выражения для расчета процента отклонения от договорных нагрузок. Для этого надо выделить требуемую ячейку и щелкнуть левой кнопкой мыши на шевроне:

Щелчком на кнопке надо открыть редактор выражений и задать выражение для расчета процента отклонения. Для отклонения по массе:

100 * ([Архив суточный].[M] - 24 * [Параметры точки учета].[ContractFlow]) / (24 * [Параметры точки учета].[ContractFlow])

Для отклонения по теплу:

100 * ([Архив суточный].[Q] - 24 * [Параметры точки учета].[ContractHeat]) / (24 * [Параметры точки учета].[ContractHeat])

Поля в редакторе вставляются в выражение двойным щелчком мыши на требуемом поле:

ШАГ 5. Для ячеек Отклонение в секции ReportFooter надо задать выражения для расчета среднего процента отклонения от договорных нагрузок. Для среднего отклонения по массе:

sumAvg(100 * ([Архив суточный].[M] - 24 * [Параметры точки учета].[ContractFlow]) / (24 * [Параметры точки учета].[ContractFlow]))

Для отклонения по теплу:

sumAvg(100 * ([Архив суточный].[Q] - 24 * [Параметры точки учета].[ContractHeat]) / (24 * [Параметры точки учета].[ContractHeat])) Для этого надо, как в ШАГ 4, открыть редактор выражений. На вкладке Сводка выбрать (двойным щелчком левой кнопкой мыши) функцию sumAvg (расчет среднего значения) и аргументом задать выражение для расчета процента отклонения. Используемые в выражении поля выбираются двойным щелчком мыши на требуемом поле. Узел, в котором находится поле выбирается на вкладке Поля. Выражение можно скопировать из выражения соответствующей ячейки Отклонение секции Detail.

ШАГ 6. Для ячеек M1, M2, Mп, Q1, Q2, Qп в секции ReportFooter задайте суммирование. Для этого надо в секции ReportFooter выделить требуемую ячейку и щелкнуть левой кнопкой мыши на шевроне:

Щелчком на кнопке надо открыть редактор выражений и двойным щелчком выбрать sumSum на вкладке Функции → Сводка:

Затем перейти на вкладку Поля, выбрать узел Архивы потреблений и интеграторов и двойным щелчком мыши добавить аргументом в функцию sumSum требуемое поле:

Сохранить выражение, нажав кнопку ОК.

ШАГ 7. С помощью кнопки на панели инструментов редактора отчетов сохраните сделанные изменения. Пример сформированного отчета: