Примеры применения функции СКД - ВычислитьВыражение

ВычислитьВыражение - довольно сложная функция СКД для понимания, а примеры применения в справочной информации довольно скудны. В данной статье рассмотрены примеры, которые наверняка пригодятся каждому разработчику:
  1. нарастающий итог в группировке;
  2. нарастающий итог в кросс-таблице;
  3. получение предыдущего значения;
  4. вывод ТЧ в одной строке.

1. Получение показателя нарастающим итогом


Получим количество товара нарастающим итогом на уровне группировки. Для этого создаем вычисляемое поле (см. рисунок 1).
Рисунок 1. Вычисляемое поле "Количество нарастающим итогом"
На вкладке "Ресурсы" задаем функцию для вычисляемого поля:
ВычислитьВыражение("Сумма(КоличествоОборот)", , , "Первая", "Текущая")
которая будет суммировать количество товаров от первой записи до текущей (см. рисунок 2).
Рисунок 2. Выражение для ресурса "Количество нарастающим итогом"

Если количество товара нарастающим итогом требуется получать на уровне детальных записей, то функцию ВычислитьВыражение задаем для вычисляемого поля на вкладке "Вычисляемые поля" (см. рисунок 3).
Рисунок 3. Выражение для вычисляемого поля "Количество нарастающим итогом"
В зависимости от уровня получения нарастающего итога, создаем группировку (см. рисунок 4): на уровне ресурсов - группировку по товарам, на уровне ДЗ - группировку детальных записей.
Рисунок 4. Группировки отчета с нарастающим итогом

2. Получение значения показателя из предыдущей строки


Получим курс валюты на дату и предыдущую дату. Для этого создаем вычисляемое поле и в поле выражение пишем следующее выражение (см. рисунок 5):
ВычислитьВыражение("Курс", , , "Предыдущая", "Предыдущая")
которое будет брать предыдущее значение курса валюты для текущей строки, последний параметр функции ограничивает получение данных.
Рисунок 5. Вычисляемое поле "Предыдущий курс валюты"
Так как работаем на уровне детальных записей, сразу переходим к вкладке "Настройки" и создаем группировку - детальные записи.

3. Получение показателя нарастающим итогом в кросс-таблице


Получим количество товара нарастающим итогом в разрезе периода. Для этого создаем вычисляемое поле (см. рисунок 1). На вкладке "Ресурсы" для вычисляемого поля укажем следующее выражение (см. рисунок 6):
ВычислитьВыражение("Сумма(КоличествоОборот)", "Период",, "Первая", "Текущая")
которое на уровне группировки будет вычислять количество товара в промежутке от первой строки до текущей в разрезе периода по каждой номенклатуре.
Рисунок 6. Выражение для ресурса "Количество нарастающим итогом"
На вкладке "Настройки" создаем таблицу с группировкой по номенклатуре в строке и группировкой по периоду в колонке (см. рисунок 7).
Рисунок 7. Кросс-таблица по номенклатуре и периоду

4. Вывод данных табличной части в одну строку


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

Комментарии

  1. Очень нужные возможности описаны. СПАСИБО.

    ОтветитьУдалить
  2. очень актуально... спасибо!

    ОтветитьУдалить
  3. Добрый день!
    Как получить первое и последнее значение внутри группировки в ресурсах?
    Эти вариант не проходят
    ВЫЧИСЛИТЬВЫРАЖЕНИЕ("СуммаНачальныйОстаток", "БанковскийСчет","Группировка", "Первая","Первая")
    ВЫЧИСЛИТЬВЫРАЖЕНИЕ("СуммаКонечныйОстаток", "БанковскийСчет", "Группировка" ,"Последняя " ,"Последняя ")

    ОтветитьУдалить
  4. Спасибо, большое!

    ОтветитьУдалить
  5. Спасибо добрый человек. Помогло в выявлении дублей строк табличного документа (2).

    ОтветитьУдалить

Отправить комментарий