Где найти описание функций языка выражений СКД в 1С?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При разработке отчетов на базе системы компоновки данных (СКД) разработчики часто сталкиваются с необходимостью использовать встроенные функции выражений, например агрегатную функцию СоединитьСтроки. Однако попытка найти описание этой функции через привычный Синтакс-помощник (по сочетанию клавиш Ctrl + F1) или через его индексный поиск не дает результатов. Разберем, почему так происходит, где именно искать документацию в стандартной справке Конфигуратора и какие инструменты упрощают написание выражений.

Почему функций СКД нет в Синтакс-помощнике

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

Поиск описания функций в стандартной справке Конфигуратора

Рассмотрим, как добраться до нужного раздела встроенной документации. Описание функций доступно через стандартное дерево справки, вызываемое клавишей F1 (без клавиши Ctrl).

Разберем пошаговый путь по оглавлению справки:

  1. Откроем Конфигуратор и перейдем в главное меню: Справка → Содержание справки (или нажмем клавишу F1).
  2. Развернем ветку 1С:Предприятие.
  3. Перейдем в подраздел Встроенный язык.
  4. Откроем категорию Общие объекты.
  5. Найдем узел Система компоновки данных.
  6. Внутри выберем раздел Язык выражений системы компоновки данных.

В данном разделе подробно описаны две ключевые группы функций: Функции языка выражений (базовые логические, строковые, математические операции) и Агрегатные функции (такие как Сумма, КоличествоРазличных, Массив, СоединитьСтроки).

Также можно воспользоваться контекстным вызовом: если открыть схему компоновки данных, перейти на вкладку вычисляемых полей или ресурсов и нажать F1, откроется справка по текущему элементу схемы, содержащая прямые гиперссылки на синтаксис языка выражений.

Специфика и особенности работы функции СоединитьСтроки

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

Синтаксис функции выглядит следующим образом:

СоединитьСтроки(Значение, [РазделительЭлементов], [РазделителиКолонок])

Рассмотрим основные правила её использования:

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

Использование функций общих модулей в выражениях СКД

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

ИмяМодуля.ИмяФункции(Параметры)

При реализации таких вызовов важно учитывать следующие платформенные ограничения:

  1. Вызываемая процедура или функция обязательно должна иметь директиву Экспорт.
  2. Общий модуль должен иметь флаги доступности в зависимости от контекста выполнения отчета (обычно требуется серверный контекст, флаг Сервер).
  3. Если отчет компонуется в безопасном режиме, вызовы функций общих модулей из выражений СКД блокируются платформой в целях безопасности.

Альтернативные инструменты и контекстная подсказка

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

  1. Среда 1C:Enterprise Development Tools (EDT): специализированный редактор схемы компоновки данных в EDT поддерживает контекстную подсказку по нажатию комбинации клавиш, проверку синтаксиса на лету и быстрый просмотр описания параметров всех функций СКД.
  2. Специализированные консоли СКД: внешние обработки и консоли компоновки данных для управляемых и обычных форм, содержащие встроенный редактор выражений со встроенными списками функций и интерактивными подсказками.
← На главную