Скд вычисляемые поля выражение

Обновлено: 04.11.2024

Работа с вычисляемыми полями

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

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

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

Пример

В схеме компоновки данных определим набор данных - запрос:

В приведенном запросе получаются данные из регистра продаж и регистра планов продаж. Результатом запроса будет таблица, где для каждого подразделения и каждой номенклатуры будет получено плановое и фактическое количество продаж.

Определим вычисляемое поле. Для этого перейдем в конструкторе схемы компоновки данных на вкладку Вычисляемые поля и добавим поле.

Назовем поле ПеревыполнениеПлана . В качестве выражения поля введем:

Таким образом, значением данного поля в случае, если значение поля СтоимостьПлан равно 0 , будет строка Не запланировано , и процент от перевыполнения плана в противном случае.

Для того чтобы в результат данное поле выводилось с точностью два знака, установим для поля в оформлении формат ЧДЦ=2 .


Определим настройки отчета, для этого добавим группировку - детальные записи (группировку без полей группировки) и в выбранные поля добавим поля Номенклатура , Подразделение , Стоимость план , Стоимость факт , Перевыполнение плана .

Результат отчета будет выглядеть так:

Т.е. для каждой строчки было рассчитано значение вычисляемого поля.

Для того чтобы по вычисляемому полю можно было рассчитывать итоги, добавим данное поле в список ресурсов. В конструкторе схемы компоновки это делается на вкладке Ресурсы . Выберем поле и добавим его в список ресурсов. Аналогичную операцию выполним и для полей СтоимостьПлан и СтоимостьФакт .


Теперь в итог отчета будет выводиться сумма по полям, в том числе и по полю ПеревыполнениеПлана :

Однако, простым суммированием, мы получили не вполне адекватный итог по перевыполнению плана. Мы получили сумму процентов по каждой комбинации Номенклатура / Подразделение .

Для того чтобы получить правильный итог по выполнению плана изменим формулу расчета итога по полю Выполнение плана :

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

Читайте также: