Перейти к содержимому

Редактор кода

Для удобной работы с текстом запроса или программным кодом, в программу встроен специальный “редактор кода” (на основе bsl_console). Данная консоль кода вызывается в разных местах, например:

  • для редактирования текста запроса в макете
  • для редактирования алгоритма вычисляемого поля в наборе
  • для редактирования алгоритма значения параметра области
  • для редактирования алгоритма расчета значения для QR-кода
  • для редактирования алгоритма обработчика события
  • для редактирования текста запроса в консоле запросов

Рассмотрим подробнее внешний вид редактора и его основные возможности.

Рассмотрим внимательнее интерфейс на примере редактирования параметра области “СуммаЗадолженности”.

Форма редактора кода

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

Давайте подробнее рассмотрим все кнопки в командной панели

КнопкаОписание
Записать изменение и закрыть форму редактора
Открыть дерево доступных полей макета. Кнопка может отсутствовать
Вызов конструктора запросов
Переключение темы внешнего вида (светлая, темная)
Включить / выключить подсказку. По умолчанию включена
Включить / выключить карту кода. По умолчанию включена
Включить / выключить оформление текста запроса
Включить / выключить отображение табуляций и пробелов
Включить / выключить отображение строки состояния
Переключиться в режим сравнения с оригиналом
Выполнить синтаксический контроль (доступно с версии 2025.1)
Показать справку платформы (синтакс-помощник). Кнопка может отсутствовать

Режим сравнения кода

Режим сравнения кода

Дерево просмотра доступных полей

Дерево доступных полей

По правой кнопке на поле редактора вызывается контекстное меню

Контекстное меню

При редактировании текста запроса внешний вид практически не отличается

Редактирование текста запроса

  • подсказка доступных параметров с учетом контекста редактируемого алгоритма
  • подсветка синтаксиса 1С
  • подсветка языка запросов
  • автокомплит (подсказка) для метаданных (Справочники, Документы и т.д.)
  • автокомплит (подсказка) для объектов метаданных (СправочникСсылка, ДокументОбъект и т.д.)
  • подсказка параметров конструкторов и методов
  • подсказка для типов
  • вызов конструктора запроса и конструктора форматной строки
  • сворачивание циклов, условий и текстов запросов
  • всплывающие подсказки для глобальных функций, перечислений и классов
  • подсказки через точку для реквизитов типа справочники/документы
  • подсказки через точку для объектов типа ТаблицаЗначений/Массив/РезультатЗапроса/ДвоичныеДанные и др., в том числе для объектов, полченных через методы других объектов
  • подсказки для источников и полей в режиме запроса
  • подсказки по свойствам структур, заданных тут же в коде
  • подсказки по объектам системы компоновки данных, схемы запроса, менеджерам внешних отчетов и обработок, методам системы взаимодействия
  • в режиме запроса поля таблиц подсказываются с учетом структуры самого запроса

Начиная с версии 2026.3 подсказки описывают объекты, которых в них раньше не было: систему компоновки данных, схему запроса, менеджеры внешних отчётов и обработок, методы системы взаимодействия. Тогда же появились подсказки по свойствам структур, заданных тут же в коде, и учёт структуры самого запроса при подсказке полей таблиц.

Редактор настраивается в настройках PrintWizard (раздел PrintWizard → Настройки), закладка «Редактор». Настройки персональные — у каждого пользователя свои.

Настройки редактора кода

Закладка содержит две группы: «Редактор» — всё, что относится к консоли кода, и «Синтакс-помощник» — справка платформы. Остальные настройки продукта — предпросмотр docx-макетов, ассистент, конструктор запроса — расположены на закладке «Основная».

Поле «Редактор» определяет, чем редактируются алгоритмы и тексты запросов:

ЗначениеОписание
Улучшенный (MS Monaco)по умолчанию; редактор кода со всеми возможностями, описанными выше
Обычный (текстовый)обычное поле ввода текста без подсветки синтаксиса и подсказок

Остальные настройки раздела относятся к улучшенному редактору.

Редактор кода отображается в поле HTML-документа. Он собран в один файл и передаётся в поле HTML строкой — временные файлы на диске не создаются. Благодаря этому редактор работает при включённой защите от опасных действий: подтверждение открытия файлов с диска не запрашивается, в том числе на платформе 8.3.27 и выше, где такое подтверждение обязательно. Отключать защиту ради редактора кода не требуется.

Режим загрузки выбирается в поле «Режим»:

РежимКогда доступен
Современный - все ОС, 8.3.24+по умолчанию; требует платформу 8.3.24 и выше, работает на Windows, macOS и Linux
Классический - только Windowsзапасной вариант на случай проблем с современным режимом; работает на любой платформе, но только на Windows

Если выбран современный режим, а платформа младше 8.3.24, редактор загружается в классическом режиме.

Начиная с платформы 8.3.24 редактор кода доступен под всеми настольными операционными системами — Windows, macOS и Linux.

Операционная системаДоступные режимы
Windowsоба
macOSтолько «Современный»
Linuxтолько «Современный»
Веб-клиентредактор кода недоступен, используется обычное поле ввода текста

На macOS и Linux режим выбирается автоматически, в настройках доступен только он. Если платформа младше 8.3.24, на этих системах редактор кода недоступен — используется обычное поле ввода текста.

Флажки под полем «Редактор» включают элементы оформления, а поле «Шрифт» задаёт шрифт кода. Ниже показан образец: он оформлен так, как будут выглядеть алгоритмы и запросы с текущими настройками.

НастройкаОписание
Номера строкНумерация строк слева от текста. По умолчанию включена
КартаМиниатюра текста (карта кода) у правого края редактора. По умолчанию включена
СостояниеСтрока состояния редактора с позицией курсора
Пробелы и табуляцииПоказ непечатаемых символов
ШрифтШрифт и размер текста в редакторе

Те же режимы отображения переключаются и кнопками командной панели самого редактора (см. таблицу выше).

ПолеОписание
Путь к файлам конфигурацииКаталог с выгруженными исходными файлами конфигурации. Если он указан, в редакторе работает переход к определению по коду конфигурации. Заполнять необязательно
Путь к файлу шаблоновФайл с собственными шаблонами кода, который передаётся редактору при открытии. Заполнять необязательно

Начиная с версии 2025.1 в состав PrintWizard входит парсер языка 1С. С его помощью реализованы некоторые полезные вещи (например заполнение полей из обработчиков наборов), а также добавлен синтаксический контроль алгоритмов.

Список проверок:

  • корректность конструкций на языке 1С;
  • отсутствующие переменные (например, вызов общего модуля, которого не существует).

В будущем список проверок может быть расширен, при наличии пожеланий пишите в список задач.