ВычислитьВыражение - довольно сложная функция СКД для понимания, а примеры применения в справочной информации довольно скудны. В данной статье рассмотрены примеры, которые наверняка пригодятся каждому разработчику:
- нарастающий итог в группировке;
- нарастающий итог в кросс-таблице;
- получение предыдущего значения;
- вывод ТЧ в одной строке.
1. Получение показателя нарастающим итогом
Получим количество товара нарастающим итогом на уровне группировки. Для этого создаем вычисляемое поле (см. рисунок 1).
 |
Рисунок 1. Вычисляемое поле "Количество нарастающим итогом" |
На вкладке "Ресурсы" задаем функцию для вычисляемого поля:
ВычислитьВыражение("Сумма(КоличествоОборот)", , , "Первая", "Текущая")
которая будет суммировать количество товаров от первой записи до текущей (см. рисунок 2).
 |
Рисунок 2. Выражение для ресурса "Количество нарастающим итогом" |
Если количество товара нарастающим итогом требуется получать на уровне детальных записей, то функцию ВычислитьВыражение задаем для вычисляемого поля на вкладке "Вычисляемые поля" (см. рисунок 3).
 |
Рисунок 3. Выражение для вычисляемого поля "Количество нарастающим итогом" |
В зависимости от уровня получения нарастающего итога, создаем группировку (см. рисунок 4): на уровне ресурсов - группировку по товарам, на уровне ДЗ - группировку детальных записей.
 |
Рисунок 4. Группировки отчета с нарастающим итогом |
2. Получение значения показателя из предыдущей строки
Получим курс валюты на дату и предыдущую дату. Для этого создаем вычисляемое поле и в поле выражение пишем следующее выражение (см. рисунок 5):
ВычислитьВыражение("Курс", , , "Предыдущая", "Предыдущая")
которое будет брать предыдущее значение курса валюты для текущей строки, последний параметр функции ограничивает получение данных.
 |
Рисунок 5. Вычисляемое поле "Предыдущий курс валюты" |
Так как работаем на уровне детальных записей, сразу переходим к вкладке "Настройки" и создаем группировку - детальные записи.
3. Получение показателя нарастающим итогом в кросс-таблице
Получим количество товара нарастающим итогом в разрезе периода. Для этого создаем вычисляемое поле (см. рисунок 1). На вкладке "Ресурсы" для вычисляемого поля укажем следующее выражение (см. рисунок 6):
ВычислитьВыражение("Сумма(КоличествоОборот)", "Период",, "Первая", "Текущая")
которое на уровне группировки будет вычислять количество товара в промежутке от первой строки до текущей в разрезе периода по каждой номенклатуре.
 |
Рисунок 6. Выражение для ресурса "Количество нарастающим итогом" |
На вкладке "Настройки" создаем таблицу с группировкой по номенклатуре в строке и группировкой по периоду в колонке (см. рисунок 7).
 |
Рисунок 7. Кросс-таблица по номенклатуре и периоду |
4. Вывод данных табличной части в одну строку
Способы вывода данных табличной части в одну строку, включая способ с использованием функции ВычислитьВыражение, рассмотрен в статье
СКД. Вывод информации табличной части в одну ячейку.
Очень нужные возможности описаны. СПАСИБО.
ОтветитьУдалитьСпасибо!!!!!!!!!!!!!
Удалитьочень актуально... спасибо!
ОтветитьУдалитьСПАСИБО!
ОтветитьУдалитьДобрый день!
ОтветитьУдалитьКак получить первое и последнее значение внутри группировки в ресурсах?
Эти вариант не проходят
ВЫЧИСЛИТЬВЫРАЖЕНИЕ("СуммаНачальныйОстаток", "БанковскийСчет","Группировка", "Первая","Первая")
ВЫЧИСЛИТЬВЫРАЖЕНИЕ("СуммаКонечныйОстаток", "БанковскийСчет", "Группировка" ,"Последняя " ,"Последняя ")
Большое спасибо!
ОтветитьУдалитьСпасибо, большое!
ОтветитьУдалитьСпасибо добрый человек. Помогло в выявлении дублей строк табличного документа (2).
ОтветитьУдалить