Разработка и Конфигурация · 10 мин
Как поставить скобки в 1С: полное руководство
Как поставить скобки в 1С: круглые, квадратные и фигурные скобки в коде, формулах СКД и запросах, горячие клавиши, типичные ошибки синтаксиса и их исправление.
Вопрос «как поставить скобки в 1С» возникает в двух ситуациях. Первая — пользователь не может найти нужный символ на клавиатуре при вводе текста, формулы или кода. Вторая — разработчик или бухгалтер не понимает, где и какие скобки требует синтаксис встроенного языка 1С, конструктора запросов или настроек отчёта на СКД. Обе задачи решаются быстро, если знать раскладку, правила языка и типичные ошибки.
Важно различать виды скобок: круглые ( ), квадратные [ ] и фигурные { }. В 1С у каждого типа своё назначение, и платформа строго проверяет их расстановку. Ошибка в одной скобке приводит к сообщению «Синтаксическая ошибка» или «Ожидается символ ')'», и модуль просто не сохранится.
Как поставить скобки с клавиатуры в 1С
Чаще всего проблема не в 1С, а в раскладке клавиатуры. Символы скобок находятся на верхнем цифровом ряду и на клавишах с буквами, и их расположение зависит от того, включена русская или английская раскладка.
- Круглые скобки ( ) — Shift+9 и Shift+0 в английской раскладке; в русской раскладке эти же клавиши дают те же скобки.
- Квадратные скобки [ ] — клавиши с буквами «Х» и «Ъ» в английской раскладке (без Shift).
- Фигурные скобки { } — те же клавиши «Х» и «Ъ», но с зажатым Shift в английской раскладке.
Если скобки не вводятся, проверьте текущую раскладку (индикатор RU/EN в трее) и переключитесь через Alt+Shift или Win+Пробел. В полях ввода 1С работают стандартные системные сочетания, никаких специальных настроек платформы для ввода скобок не требуется.
В конфигураторе есть полезная особенность: при вводе открывающей скобки редактор модуля часто подсвечивает парную ей закрывающую. Чтобы найти парную скобку в длинном выражении, поставьте курсор рядом со скобкой — редактор выделит соответствующую ей.
Круглые скобки в коде 1С: где обязательны
Круглые скобки — самый частый тип скобок во встроенном языке 1С. Они обязательны при вызове процедур и функций, даже если параметров нет: ТекущаяДата(), МояПроцедура(). Пропуск скобок — одна из самых частых ошибок начинающих.
Круглые скобки также задают приоритет в арифметических и логических выражениях. Выражение (Количество + Резерв) Цена и Количество + Резерв Цена дадут разный результат, потому что умножение выполняется раньше сложения. Если сомневаетесь в порядке вычислений — ставьте скобки явно, это не ошибка, а хорошая практика.
В сложных условиях скобки группируют проверки:
Если (Статус = "Оплачен" Или Статус = "Частично") И Сумма > 0 Тогда
// действия
КонецЕсли;
Без скобок условие сработает иначе: оператор «И» имеет приоритет над «Или», и логика проверки исказится. Такие ошибки опасны тем, что код запускается без сообщений, но считает неправильно.
Квадратные скобки: обращение к свойствам по строке
Квадратные скобки в 1С имеют особое назначение — с их помощью обращаются к свойству объекта, когда имя свойства хранится в строковой переменной. Это называется «разыменование через строку».
ИмяРеквизита = "Сумма";
Значение = ДокументОбъект[ИмяРеквизита];
Такой приём используют в универсальных обработках, когда имя реквизита заранее неизвестно и вычисляется в коде. Например, обработка заполнения табличной части, где пользователь указывает, какой реквизит обновить.
Типичная ошибка — попытка использовать квадратные скобки как в других языках (для массивов по индексу). В 1С доступ к элементу массива тоже идёт через квадратные скобки: Массив[0] — нумерация начинается с нуля. Но обращение Массив(0) с круглыми скобками вызовет ошибку.
Фигурные скобки в шаблонах строк
Фигурные скобки в 1С встречаются в шаблонах сообщений и строк, где внутрь текста подставляются значения параметров. Механизм работает через функцию СтрШаблон:
Текст = СтрШаблон("Документ №%1 от %2 проведён", Номер, Дата);
В ряде механизмов платформы (например, в текстах компоновки, форматных строках и некоторых шаблонах ограничений доступа) также используются конструкции с фигурными скобками для подстановки полей. Точный синтаксис зависит от механизма, поэтому перед использованием сверяйтесь с синтакс-помощником (Ctrl+F1 в конфигураторе).
С клавиатуры фигурные скобки вводятся через Shift+Х и Shift+Ъ в английской раскладке. Если символ не вводится — переключите раскладку на EN.
Сравнение видов скобок в 1С
Вызовы процедур и функций, приоритет операций, группировка условий, параметры запросов. Используются чаще всего
Обращение к свойству объекта по строковому имени и к элементу массива по индексу. Не заменяют круглые скобки
Шаблоны строк и подстановка полей в отдельных механизмах платформы. В обычных выражениях не применяются
Скобки в запросах и настройках СКД
В языке запросов 1С круглые скобки обязательны в нескольких местах: вокруг вложенных запросов, в условиях с логическими операторами, в агрегатных функциях СУММА(Поле), КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Поле) и при перечислении значений в условии Поле В (&СписокЗначений).
Конструктор запросов расставляет большинство скобок автоматически. Проблемы начинаются при ручной правке текста запроса: удаление одной скобки в сложном условии ломает весь запрос. Признак ошибки — сообщение «Ошибка в тексте запроса» с указанием позиции.
В схеме компоновки данных (СКД) скобки встречаются в выражениях пользовательских полей и в условиях отборов. Там действуют те же правила: скобки задают порядок вычислений и должны быть парными. Проверить выражение можно кнопкой проверки в конструкторе.
- 1Откройте модуль в конфигураторе и сохраните его (Ctrl+S) — платформа укажет строку с ошибкой
- 2Поставьте курсор к открывающей скобке — редактор подсветит парную закрывающую
- 3Разбейте длинное выражение на несколько строк по логическим частям
- 4Проверьте каждую часть отдельно, начиная с самых вложенных скобок
- 5Повторно сохраните модуль и убедитесь, что ошибка исчезла
Как проверить правильность расстановки скобок
Основной инструмент проверки — синтаксический контроль конфигуратора. Он запускается при сохранении модуля или принудительно через меню «Текст — Блок проверки» либо через конфигурацию: «Конфигурация — Проверка конфигурации». Ошибки со скобками выводятся в окне сообщений с указанием модуля и строки.
Двойной щелчок по сообщению об ошибке переносит курсор к проблемному месту. Учтите: позиция ошибки указывает, где платформа «поняла», что что-то не так, а реальная пропущенная скобка может быть выше по тексту.
Для длинных выражений полезно форматирование: меню «Текст — Блок — Форматировать» выровняет отступы, и структура вложенных скобок станет видна визуально.
Как проверить результат
Модуль сохраняется без сообщений об ошибках
Окно сообщений: 'Синтаксическая ошибка' или 'Ожидается символ )'
При курсоре у скобки подсвечивается ожидаемая пара
Подсвечивается скобка в другом месте — вложенность нарушена
Выражение считает по задуманной формуле
Результат отличается — проверьте приоритет операций и расставьте скобки явно
Частые ошибки и как их избежать
Самая распространённая ошибка — незакрытая скобка при копировании кода из внешних источников. При вставке из браузера или мессенджера символы могут заменяться на похожие (например, «ёлочки» вместо кавычек), а скобки — теряться. После вставки всегда сохраняйте модуль и читайте сообщения проверки.
Вторая группа ошибок — логические: скобки стоят синтаксически верно, но не там, где нужно по смыслу. Классический пример — условие с «И» и «Или» без группировки. Код проходит проверку, но отбор работает неправильно. Защита одна: в смешанных условиях всегда ставьте скобки явно.
Третья группа — путаница типов скобок. Попытка обратиться к элементу массива круглыми скобками или вызвать функцию квадратными приводит к синтаксической ошибке. Запомните правило: вызов — всегда круглые, индекс и свойство по строке — квадратные.
FAQ: частые вопросы о скобках в 1С
Почему 1С пишет «Ожидается символ ')'», хотя все скобки на месте?
Сообщение указывает место, где платформа обнаружила несоответствие, а не точное положение пропущенной скобки. Проверьте выражение выше указанной строки: часто причина в лишней закрывающей скобке или в том, что скобка закрылась раньше, чем закончился список параметров.
Как быстро найти парную скобку в длинном выражении?
Поставьте курсор вплотную к открывающей или закрывающей скобке — редактор модулей подсветит соответствующую ей. Если подсвечивается не та скобка, которую вы ожидали, значит вложенность нарушена и где-то пропущен или добавлен лишний символ.
Чем отличаются квадратные и круглые скобки при работе с массивом?
Доступ к элементу массива — только квадратные скобки: Массив[0], нумерация с нуля. Круглые скобки в этом месте вызовут синтаксическую ошибку, потому что платформа воспримет их как попытку вызова.
Нужно ли ставить скобки при вызове процедуры без параметров?
Да, скобки обязательны: МояПроцедура(). Вызов без скобок платформа не примет как вызов процедуры и выдаст ошибку. Это отличие от некоторых других языков, где скобки в таком случае необязательны.
Почему скобки не вводятся с клавиатуры в поле 1С?
Почти всегда причина в раскладке: квадратные и фигурные скобки вводятся только в английской раскладке (клавиши Х и Ъ, с Shift для фигурных). Переключитесь на EN через Alt+Shift и проверьте ввод в Блокноте — если и там не работает, проблема на уровне системы или клавиатуры.
Влияют ли скобки на результат в условии с «И» и «Или»?
Да, критично. Оператор «И» выполняется раньше «Или», поэтому условие без скобок может сгруппироваться не так, как задумано. В смешанных условиях всегда ставьте скобки явно — это исключает логические ошибки, которые синтаксическая проверка не находит.
Что важно запомнить
Круглые скобки — вызовы, приоритет и группировка условий; квадратные — свойства по строке и индексы массивов; фигурные — шаблоны строк. Скобки всегда парные, в смешанных условиях ставятся явно, а проверку выполняет синтаксический контроль конфигуратора. Непарную скобку ищите через подсветку пары и форматирование модуля.