К статье
Практический материал

Разработка и Конфигурация · 10 мин

Как поставить скобки в 1С: полное руководство

Как поставить скобки в 1С: круглые, квадратные и фигурные скобки в коде, формулах СКД и запросах, горячие клавиши, типичные ошибки синтаксиса и их исправление.

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

Важно различать виды скобок: круглые ( ), квадратные [ ] и фигурные { }. В 1С у каждого типа своё назначение, и платформа строго проверяет их расстановку. Ошибка в одной скобке приводит к сообщению «Синтаксическая ошибка» или «Ожидается символ ')'», и модуль просто не сохранится.

Как поставить скобки с клавиатуры в 1С

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

  • Круглые скобки ( ) — Shift+9 и Shift+0 в английской раскладке; в русской раскладке эти же клавиши дают те же скобки.
  • Квадратные скобки [ ] — клавиши с буквами «Х» и «Ъ» в английской раскладке (без Shift).
  • Фигурные скобки { } — те же клавиши «Х» и «Ъ», но с зажатым Shift в английской раскладке.

Если скобки не вводятся, проверьте текущую раскладку (индикатор RU/EN в трее) и переключитесь через Alt+Shift или Win+Пробел. В полях ввода 1С работают стандартные системные сочетания, никаких специальных настроек платформы для ввода скобок не требуется.

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

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

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

Круглые скобки также задают приоритет в арифметических и логических выражениях. Выражение (Количество + Резерв) Цена и Количество + Резерв Цена дадут разный результат, потому что умножение выполняется раньше сложения. Если сомневаетесь в порядке вычислений — ставьте скобки явно, это не ошибка, а хорошая практика.

В сложных условиях скобки группируют проверки:

Если (Статус = "Оплачен" Или Статус = "Частично") И Сумма > 0 Тогда

// действия

КонецЕсли;

Без скобок условие сработает иначе: оператор «И» имеет приоритет над «Или», и логика проверки исказится. Такие ошибки опасны тем, что код запускается без сообщений, но считает неправильно.

Типичные ошибки
01
Вызов функции без скобок: написано ТекущаяДата вместо ТекущаяДата() — платформа выдаёт ошибку или возвращает не то значение
02
Непарные скобки в длинном выражении — ошибка 'Ожидается символ )' при сохранении модуля
03
Пропуск скобок в условии с И/Или — код работает, но логика проверки неверна, ошибка всплывает только в расчётах
04
Путаница круглых и квадратных скобок при обращении к свойствам объекта

Квадратные скобки: обращение к свойствам по строке

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

ИмяРеквизита = "Сумма";

Значение = ДокументОбъект[ИмяРеквизита];

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

Типичная ошибка — попытка использовать квадратные скобки как в других языках (для массивов по индексу). В 1С доступ к элементу массива тоже идёт через квадратные скобки: Массив[0] — нумерация начинается с нуля. Но обращение Массив(0) с круглыми скобками вызовет ошибку.

Фигурные скобки в шаблонах строк

Фигурные скобки в 1С встречаются в шаблонах сообщений и строк, где внутрь текста подставляются значения параметров. Механизм работает через функцию СтрШаблон:

Текст = СтрШаблон("Документ №%1 от %2 проведён", Номер, Дата);

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

С клавиатуры фигурные скобки вводятся через Shift+Х и Shift+Ъ в английской раскладке. Если символ не вводится — переключите раскладку на EN.

Сравнение видов скобок в 1С

Круглые ( )

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

Квадратные [ ]

Обращение к свойству объекта по строковому имени и к элементу массива по индексу. Не заменяют круглые скобки

Фигурные { }

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

Скобки в запросах и настройках СКД

В языке запросов 1С круглые скобки обязательны в нескольких местах: вокруг вложенных запросов, в условиях с логическими операторами, в агрегатных функциях СУММА(Поле), КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Поле) и при перечислении значений в условии Поле В (&СписокЗначений).

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

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

Как найти непарную скобку в модуле
  1. 1
    Откройте модуль в конфигураторе и сохраните его (Ctrl+S) — платформа укажет строку с ошибкой
  2. 2
    Поставьте курсор к открывающей скобке — редактор подсветит парную закрывающую
  3. 3
    Разбейте длинное выражение на несколько строк по логическим частям
  4. 4
    Проверьте каждую часть отдельно, начиная с самых вложенных скобок
  5. 5
    Повторно сохраните модуль и убедитесь, что ошибка исчезла

Как проверить правильность расстановки скобок

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

Двойной щелчок по сообщению об ошибке переносит курсор к проблемному месту. Учтите: позиция ошибки указывает, где платформа «поняла», что что-то не так, а реальная пропущенная скобка может быть выше по тексту.

Для длинных выражений полезно форматирование: меню «Текст — Блок — Форматировать» выровняет отступы, и структура вложенных скобок станет видна визуально.

Контрольные точки

Как проверить результат

Сохранение модуля
Норма

Модуль сохраняется без сообщений об ошибках

Тревожный признак

Окно сообщений: 'Синтаксическая ошибка' или 'Ожидается символ )'

Подсветка парной скобки
Норма

При курсоре у скобки подсвечивается ожидаемая пара

Тревожный признак

Подсвечивается скобка в другом месте — вложенность нарушена

Результат вычисления
Норма

Выражение считает по задуманной формуле

Тревожный признак

Результат отличается — проверьте приоритет операций и расставьте скобки явно

Частые ошибки и как их избежать

Самая распространённая ошибка — незакрытая скобка при копировании кода из внешних источников. При вставке из браузера или мессенджера символы могут заменяться на похожие (например, «ёлочки» вместо кавычек), а скобки — теряться. После вставки всегда сохраняйте модуль и читайте сообщения проверки.

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

Третья группа — путаница типов скобок. Попытка обратиться к элементу массива круглыми скобками или вызвать функцию квадратными приводит к синтаксической ошибке. Запомните правило: вызов — всегда круглые, индекс и свойство по строке — квадратные.

FAQ: частые вопросы о скобках в 1С

Почему 1С пишет «Ожидается символ ')'», хотя все скобки на месте?

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

Как быстро найти парную скобку в длинном выражении?

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

Чем отличаются квадратные и круглые скобки при работе с массивом?

Доступ к элементу массива — только квадратные скобки: Массив[0], нумерация с нуля. Круглые скобки в этом месте вызовут синтаксическую ошибку, потому что платформа воспримет их как попытку вызова.

Нужно ли ставить скобки при вызове процедуры без параметров?

Да, скобки обязательны: МояПроцедура(). Вызов без скобок платформа не примет как вызов процедуры и выдаст ошибку. Это отличие от некоторых других языков, где скобки в таком случае необязательны.

Почему скобки не вводятся с клавиатуры в поле 1С?

Почти всегда причина в раскладке: квадратные и фигурные скобки вводятся только в английской раскладке (клавиши Х и Ъ, с Shift для фигурных). Переключитесь на EN через Alt+Shift и проверьте ввод в Блокноте — если и там не работает, проблема на уровне системы или клавиатуры.

Влияют ли скобки на результат в условии с «И» и «Или»?

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

Итог

Что важно запомнить

Круглые скобки — вызовы, приоритет и группировка условий; квадратные — свойства по строке и индексы массивов; фигурные — шаблоны строк. Скобки всегда парные, в смешанных условиях ставятся явно, а проверку выполняет синтаксический контроль конфигуратора. Непарную скобку ищите через подсветку пары и форматирование модуля.