Содержание:
1. Где используется язык выражений Системы Компоновки Данных
2. Синтаксис языка выражений СКД в 1С
3. Использование функций общих модулей 1С в языке выражений СКД
4. Описание функций языка выражений Системы Компоновки Данных
5. Описание языка выражений СКД в конфигураторе
Язык выражений СКД похож на язык запросов 1С. Я предполагаю, что с языком запросов 1С читатель знаком. Поэтому постараюсь показать основные отличия. Чтобы можно было быстрее начать использовать все дополнительные возможности языка выражений системы компоновки данных.
1. Где используется язык выражений Системы Компоновки Данных
Язык выражений СКД в 1С используется как правило в конструкторе системы компоновки данных. Еще его можно использовать при программном изменении СКД:
- Выражения представления (Наборы данных)
- Выражения упорядочивания (Наборы данных)
- На закладке «Вычисляемые поля», в колонке «Выражение».
- На закладке «Параметры», в колонке «Выражение».
- На закладке «Настройки», в колонке «Пользовательские поля».
2. Синтаксис языка выражений СКД в 1С
Выражения оперируют параметрами, передаваемыми в СКД. Например, &МассивЧисел, литералами и полями, полученными из источника данных, например, из запроса.
В простейшем случае выражение является ссылкой на поле источника данных.
Выражения описываются при помощи следующих операций (как в языке запросов):
· Разыменование поля – обращение к полю через точку, например, Организация.ИНН
· Приведение типа – для составных полей, например:
ВЫРАЗИТЬ(Регистратор КАК Документ.АвансовыйОтчет).Дата
· Операция выбора
· Операции сравнения
· Операция В – проверка на вхождение элемента в коллекцию значений
· Бинарная операция
· Унарная операция
· Агрегатные функции
· Функции языка выражений СКД в 1С 8.3
Литералы:
Здесь все организовано, как и в языке запросов 1С: строка, число, дата, булево, тип.
Для указания не примитивных типов, следует использовать ключевое слово
Значение(Документ.АвансовыйОтчет)
3. Использование функций общих модулей 1С в языке выражений СКД
В языке выражений есть возможность использовать функции из общих модулей 1С.
Естественно, это работает только с экспортными функциями.
Если свойство модуля – «глобальный» не установлено, то к функции следует обращаться, с указанием названия модуля:
Если галочка поставлена, то можно обращаться к функции, без указания названия модуля.
При программном формировании отчета на СКД необходимо разрешить использование функций модулей:
4. Описание функций языка выражений Системы Компоновки Данных
-Вычисление выражений
Вычислить(Выражение, Группировка, ТипРасчета)
Вместо неё рекомендуется использовать функцию «ВычислитьВыражение».
Она предназначена для вычисления выражения в контексте некоторой группировки.
Функция учитывает отбор группировок, но не учитывает иерархические отборы.
- Положение записи
-Представление
Данная функция возвращает строковое представление переданного значения не примитивного типа. Для значений примитивного типа возвращает само значение.
Если в качестве параметра используется массив или таблица значений, то функция возвращает строку, содержащую строковые представление всех элементов массива, разделенных символами "; ". Если у какого-либо элемента строковое представление пустое, то вместо его представления выводится строка "<Пустое значение>".
Например: Представление(Контрагент)
-Строка
Данная функция преобразует переданное значение в строку.
Если в качестве параметра используется массив или таблица значений, то функция возвращает строку, содержащую строковые представление всех элементов массива, разделенных символами "; ". Если у какого-либо элемента строковое представление пустое, то вместо его представления выводится строка "<Пустое значение>".
Например: Строка(ДатаПродажи)
-ТипЗначения – то же, что в языке запросов
5. Описание языка выражений СКД в конфигураторе
Найти описание языка выражений СКД 1С можно в синтакс-помощнике в конфигураторе по кнопке F1.
- Содержание
- Система компоновки данных → Язык выражений системы компоновки данных.
Также некоторые примеры применения языка выражений СКД есть в книге
Хрусталева Е.Ю. «Разработка сложных отчетов в 1С:Предприятие 8» (1С.Библиотека разработчика) - 2016
Специалист компании ООО «Кодерлайн»
Груздев Денис