Как настроить английский синтаксис в конструкторе запросов 1С:Предприятие

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

При разработке в среде 1С программисты часто сталкиваются с тем, что конструктор запросов по умолчанию генерирует текст на русском языке: ВЫБРАТЬ, ИЗ, ГДЕ. Для тех, кто привык к классическому SQL или планирует в дальнейшем работать с другими СУБД, использование английского синтаксиса (SELECT, FROM, WHERE) может быть более комфортным. В этой статье мы разберем, как заставить конструктор запросов 1С «думать» и писать на английском языке, а также проанализируем внутренние механизмы платформы, отвечающие за трансляцию кода.

Метод 1: Изменение языка интерфейса платформы через параметры запуска

Самый простой и эффективный способ изменить язык ключевых слов в конструкторе запросов — это запуск Конфигуратора или сеанса «1С:Предприятие» с определенными ключами локализации. Платформа 1С является мультиязычной, и язык конструкторов напрямую зависит от языка интерфейса текущего сеанса.

Рассмотрим пошагово, как это сделать:

  1. Откроем 1С:Стартер (окно со списком информационных баз).
  2. Выберем нужную базу и нажмем кнопку Изменить.
  3. Перейдем на последнюю вкладку параметров запуска.
  4. В поле «Дополнительные параметры запуска» введем ключ: /L en (для английского интерфейса) или /VL en (для установки конкретной локализации интерфейса).
  5. Запустим Конфигуратор.

Теперь, когда мы откроем конструктор запросов, все управляющие слова будут отображаться на английском языке. Важно понимать, что 1С хранит текст запроса в метаданных не как жестко заданную строку, а в виде структуры, которая автоматически транслируется на язык текущего интерфейса. Если мы напишем запрос на русском, закроем его, а затем откроем в «английском» Конфигураторе, платформа сама заменит ВЫБРАТЬ на SELECT.

Метод 2: Настройка свойства «Вариант встроенного языка» в конфигурации

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

Разберем этот процесс:

  1. В дереве метаданных нажмем правой кнопкой мыши на корень (название конфигурации) и выберем Свойства.
  2. Найдем категорию «Общие» и свойство Вариант встроенного языка (Embedded Language Variant).
  3. По умолчанию там обычно установлено «Русский» (Russian). Если изменить это значение на Английский (English), платформа будет отдавать приоритет английским ключевым словам при генерации нового кода и при работе конструкторов.

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

Метод 3: Использование внешних инструментов и консолей запросов

Часто программисту нужно видеть английский текст запроса только «здесь и сейчас» (например, для отладки или переноса в SQL Management Studio), не меняя настроек всей системы. В этом случае мы рекомендуем использовать специализированные инструменты.

Один из самых мощных инструментов — Инструменты разработчика. В расширенном конструкторе запросов этой подсистемы реализована возможность переключения языка «на лету»:

Также существуют современные консоли запросов для управляемых форм, которые содержат кнопку «Транслировать». Это позволяет быстро получить код в формате:


SELECT
    Inventory.Ref AS Product,
    Inventory.Code AS Code
FROM
    Catalog.Inventory AS Inventory
WHERE
    Inventory.DeletionMark = FALSE

Метод 4: Настройка автоподстановки (IntelliSense) в Конфигураторе

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

Выясним, как активировать подсказки на английском:

  1. Зайдем в меню Сервис — Параметры.
  2. Перейдем на закладку Тексты запросов.
  3. В разделе «Автоподстановка» убедимся, что включена опция отображения списка выбора при наборе.
  4. Даже в русской локализации 1С понимает английские токены. Если мы начнем печатать SEL..., система предложит SELECT в списке подсказок, несмотря на то, что интерфейс может быть русским.

Метод 5: Переход на Enterprise Development Tool (EDT)

Для тех, кто стремится к современным стандартам разработки, стоит рассмотреть переход на 1C:EDT. Это среда разработки, основанная на Eclipse, которая изначально проектировалась с учетом международных стандартов.

Проанализируем преимущества EDT в контексте нашей задачи:

Сравнение синтаксиса: краткая шпаргалка

Для быстрого привыкания к английскому варианту, сопоставим основные операторы, которые мы наиболее часто используем в конструкторе:

Рассмотрим пример сложного условия в английской нотации:


SELECT
    Sales.Period,
    Sales.Amount
FROM
    AccumulationRegister.Sales AS Sales
WHERE
    Sales.Amount > 1000
    AND Sales.Customer IN (SELECT Ref FROM Catalog.Customers WHERE Description LIKE "А%")

Почему 1С «переводит» запросы обратно на русский?

Разберем важный технический аспект: почему при открытии запроса в конструкторе он часто снова становится русским? Это происходит из-за механизма десериализации. Текст запроса в модуле — это всего лишь текстовое представление метаданных запроса. Когда вы запускаете конструктор, он парсит этот текст, создает в памяти объектную модель (дерево запроса), а при нажатии кнопки «ОК» заново генерирует текст, основываясь на настройках текущего сеанса Конфигуратора.

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

Рекомендации по совместному использованию

Проанализировав ситуацию, мы рекомендуем следующий подход для тех, кто хочет привыкнуть к SQL-синтаксису:

  1. Используйте параметр запуска /L en для индивидуальной настройки рабочего места. Это не затронет коллег и позволит вам видеть привычный SELECT.
  2. При написании кода вручную старайтесь использовать английские термины — платформа их отлично понимает в любом режиме.
  3. Для сложных задач по интеграции с внешними SQL-базами используйте внешние консоли запросов, которые умеют экспортировать чистый SQL-код.

Таким образом, настройка английского синтаксиса в 1С — это не только вопрос привычки, но и способ сделать ваш код более универсальным и понятным в контексте мировых стандартов разработки баз данных.

← На главную