ВычислитьВыражениеСГруппировкойМассив (EvalExpressionWithGroupArray) — функция возвращает массив, каждый элемент которого содержит результат вычисления выражения для группировки по указанному полю.
Синтаксис:
1 |
ВычислитьВыражениеСГруппировкойМассив (Выражение, ВыраженияПолейГруппировки, ОтборЗаписей, ОтборГруппировок) |
Параметры:
- Выражение (Строка) — выражение, которое нужно вычислить. Например, «Сумма(СуммаОборот)»;
- ВыраженияПолейГруппировки — выражения полей группировки, перечисленные через запятую. Например, «Контрагент, Партия»;
- ОтборЗаписей — выражение, применяемое к детальным записям. Например, «ПометкаУдаления = Ложь». Если в данном параметре используется агрегатная функция, то при выполнении компоновки данных возникнет ошибка;
- ОтборГруппировок — отбор, применяемый к групповым записям. Например: «Сумма(СуммаОборот) > &Параметр1».
Пример:
1 |
Максимум(ВычислитьВыражениеСГруппировкойМассив ("Сумма(СуммаОборот)", "Контрагент")); |
Компоновщик макета при генерации макета преобразовывает параметры функции в термины полей макета компоновки данных. Например, поле Контрагент будет конвертировано в НаборДанных.Контрагент.
Компоновщик макета при генерации выражений для вывода пользовательского поля, в выражении которого присутствует только функция ВычислитьМассивСГруппировкой генерирует выводимое выражение таким образом, чтобы данные выводить представления и данные были упорядочены.
Например, для пользовательского поля с выражением:
1 |
ВычислитьВыражениеСГруппировкойМассив("Сумма(СуммаОборот)", "Контрагент") |
компоновщик макета сгенерирует для вывода следующее выражение:
1 |
СоединитьСтроки(Массив(Упорядочить(ВычислитьВыражениеСГруппировкойТаблицаЗначений ("Представление(Сумма(НаборДанных.СуммаОборот)), Сумма(НаборДанных.СуммаОборот)", "НаборДанных.Контрагент"), "2"))) |
ВычислитьВыражениеСГруппировкойТаблицаЗначений (EvalExpressionWithGroupValueTable) — функция возвращает таблицу значений, каждый элемент которого содержит результат вычисления выражения для группировки по указанному полю.
Синтаксис:
1 |
ВычислитьВыражениеСГруппировкойТаблицаЗначений (Выражение, ВыраженияПолейГруппировки, ОтборЗаписей, ОтборГруппировок) |
Параметры:
- Выражение (Строка) — выражение, которое нужно вычислить. В строке может быть перечислено несколько выражений через запятую. После каждого выражения может быть необязательное ключевое слово КАК и имя колонки таблицы значений. Например: «Контрагент, Сумма(СуммаОборот) Как ОбъемПродаж».
- ВыраженияПолейГруппировки — выражения полей группировки, перечисленные через запятую. Например, «Контрагент, Партия»;
- ОтборЗаписей — выражение, применяемое к детальным записям. Например, «ПометкаУдаления = Ложь». Если в данном параметре используется агрегатная функция, то при выполнении компоновки данных возникнет ошибка;
- ОтборГруппировок — отбор, применяемый к групповым записям. Например: «Сумма(СуммаОборот) > &Параметр1».
Пример:
1 |
ВычислитьВыражениеСГруппировкойТаблицаЗначений ("Контрагент КАК Контрагент, Сумма(СуммаОборот) Как ОбъемПродаж", "Контрагент") |
Результатом работы данной функции будет таблица значений с колонками Контрагент и ОбъемПродаж, в которых будут находиться контрагенты с их объемами продаж.
Компоновщик макета при генерации макета преобразовывает параметры функции в термины полей макета компоновки данных. Например, поле Контрагент будет конвертировано в НаборДанных.Контрагент.
Например, пользовательского поля с выражением:
1 |
ВычислитьВыражениеСГруппировкойТаблицаЗначений ("Контрагент, Сумма(СуммаОборот)", "Контрагент") |
Компоновщик макета сгенерирует для вывода следующее выражение:
1 |
СоединитьСтроки(ПолучитьЧасть(Упорядочить(ВычислитьВыражениеСГруппировкойТаблицаЗначений ("НаборДанных.Контрагент, НаборДанных.КонтрагентПредставление, Сумма(НаборДанных.СуммаОборот), Представление(НаборДанных.СуммаОборот), НаборДанных.ПолеУпорядочивание", "НаборДанных.Контрагент"), "5, 1, 3"), "2, 4")) |
Copyright © ООО «1С»