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

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

Шаблоны текста в 1С: как использовать ускорение разработки

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

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

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

Стандартная поставка платформы уже содержит десятки готовых шаблонов: конструкции «Если…Тогда», циклы «Для…Цикл», шаблоны запросов, описания процедур и функций. Поверх них можно создавать собственные шаблоны, объединять их в файлы и переносить между рабочими местами.

Что такое шаблоны текста и где они работают

Шаблон текста — это именованный фрагмент кода с возможными точками подстановки. У каждого шаблона есть сокращение (строка, по которой он вызывается), полное имя и собственно текст, который будет вставлен в модуль. Платформа хранит шаблоны в файлах с расширением .st, стандартный файл поставки подключается автоматически.

Шаблоны срабатывают в любом текстовом редакторе конфигуратора: в модуле формы, модуле объекта, общем модуле, а также при редактировании макетов и обычных текстовых документов, открытых в конфигураторе. Это удобно, когда нужно быстро оформить комментарий-заголовок или типовую структуру описания.

Как вставить стандартный шаблон: основные способы

Самый быстрый способ — автозамена. Убедитесь, что в «Сервис → Параметры → Модули → Контекстная подсказка» включено использование шаблонов. Затем в модуле наберите сокращение, например «Процедура» или «Если», и нажмите пробел. Платформа развернёт сокращение в полноценную конструкцию и поставит курсор на первую позицию для ввода.

Второй способ — явный вызов списка шаблонов сочетанием Ctrl+Shift+Q. Откроется окно со списком доступных шаблонов, где работает поиск по началу имени. Это удобно, когда вы не помните точное сокращение или хотите посмотреть, какие вообще шаблоны есть по нужной теме, например по работе с запросами.

Третий вариант — контекстное меню: правый клик в модуле → «Шаблоны текста». По сути это тот же список, что и по Ctrl+Shift+Q, но вызывается мышью. Для часто используемых шаблонов эффективнее всё же запомнить сокращения — скорость набора заметно вырастает.

Порядок вставки шаблона
  1. 1
    Откройте модуль в конфигураторе и поставьте курсор в нужное место
  2. 2
    Наберите сокращение шаблона или нажмите Ctrl+Shift+Q
  3. 3
    Выберите нужный шаблон из списка и подтвердите ввод
  4. 4
    Заполните позиции подстановки: имена переменных, условия, тексты
  5. 5
    Проверьте синтаксис модуля через «Конфигурация → Проверка конфигурации» или Ctrl+F7 в модуле

Навигация по позициям подстановки

После вставки шаблона курсор встаёт на первую редактируемую позицию — обычно это имя процедуры, условие или переменная. Переход между такими позициями выполняется клавишей Tab (вперёд) и Shift+Tab (назад). Это ключевой приём: не нужно трогать мышь, вся правка шаблона делается последовательным вводом.

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

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

Как создать собственный шаблон

Собственные шаблоны окупаются, когда у вас есть повторяющиеся фрагменты: типовой обработчик ошибки, стандартный комментарий к процедуре, обращение к внутреннему API вашей конфигурации. Создание выполняется через редактор шаблонов: откройте любой модуль, затем меню «Текст → Шаблоны текста» — откроется окно со списком и кнопками управления.

В диалоге добавления задайте сокращение (короткое, без пробелов — именно его вы будете набирать), полное имя и текст шаблона. Внутри текста используйте угловые скобки для позиций подстановки, например <ИмяПеременной>. После сохранения шаблон сразу доступен во всех модулях.

bsl
// Пример текста собственного шаблона обработчика ошибки
Попытка
	<КодОперации>
Исключение
	ЗаписьЖурналаРегистрации("<ИмяСобытия>",
		УровеньЖурналаРегистрации.Ошибка,,,
		ОписаниеОшибки());
	ВызватьИсключение;
КонецПопытки;

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

Настройка, файлы шаблонов и перенос между машинами

Шаблоны хранятся в файлах .st. Стандартный файл поставки обновляется вместе с платформой, поэтому свои доработки лучше держать в отдельном файле. Подключение дополнительного файла выполняется в настройках: «Сервис → Параметры → Модули → Шаблоны текста», где можно добавить свой файл и указать, какие файлы использовать.

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

Когда шаблоны не помогают: ограничения и альтернативы

Шаблоны текста — статичный механизм: они не анализируют контекст модуля глубоко и не генерируют код по логике. Если нужна генерация кода по метаданным (например, обработчики для всех документов), шаблоны не подойдут — здесь используют внешние обработки-генераторы или расширения среды разработки.

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

Шаблоны или конструкторы

Шаблоны текста

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

Конструкторы (запроса, форматной строки)

Подходят для сложных объектов с визуальной настройкой. Медленнее в вызове, но снижают риск синтаксических ошибок в запросах и строках.

Сниппеты в EDT

Если разработка ведётся в 1C:EDT, там действует свой механизм шаблонов (Templates), несовместимый с файлами .st конфигуратора.

Типичные ошибки при работе с шаблонами

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

Другая группа ошибок связана с содержимым самих шаблонов: позиции подстановки без осмысленных имён (пользователь не понимает, что вводить), слишком длинные шаблоны, которые проще написать вручную, и сокращения, совпадающие с обычными словами, из-за чего шаблон разворачивается непроизвольно.

Типичные ошибки
01
Хранение своих шаблонов в стандартном файле поставки — при обновлении платформы изменения теряются
02
Сокращения из одной-двух букв — постоянные ложные срабатывания при обычном наборе кода
03
Позиции подстановки без понятных имён — коллеги не могут использовать шаблон без расшифровки
04
Отсутствие проверки модуля после вставки — в шаблоне могла остаться незаполненная позиция, и модуль не компилируется
05
Попытка использовать шаблоны в режиме Предприятия — механизм доступен только в конфигураторе

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

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

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

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

Срабатывание автозамены
Норма

Сокращение разворачивается в полный текст после пробела или Enter

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

Сокращение остаётся обычным текстом — проверьте настройки автозамены и подключение файла .st

Позиции подстановки
Норма

Курсор встаёт на первую позицию, Tab переключает между позициями

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

Вставлен плоский текст без выделенных позиций — в шаблоне не заданы метки подстановки

Синтаксис после вставки
Норма

Проверка модуля проходит без ошибок после заполнения позиций

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

Ошибки компиляции — в тексте остались незаполненные метки вида <Имя>

Если шаблонами пользуется команда, имеет смысл раз в несколько месяцев пересматривать общий файл: удалять неиспользуемые шаблоны и добавлять новые под актуальные стандарты кодирования. Разросшийся список из сотни шаблонов, где половина устарела, тормозит работу сильнее, чем её ускоряет.

Итог

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

Шаблоны текста вызываются автозаменой по сокращению или через Ctrl+Shift+Q в любом модуле конфигуратора. Свои шаблоны создавайте в отдельном файле .st, используйте осмысленные сокращения и именованные позиции подстановки. После вставки всегда заполняйте все позиции и проверяйте синтаксис модуля.

Частые вопросы

Где включается автозамена шаблонов текста?

В конфигураторе: «Сервис → Параметры», закладка «Модули», раздел контекстной подсказки и шаблонов. Там же задаётся поведение по нажатию пробела и Enter. Если автозамена мешает при обычном наборе, её можно оставить включённой, но вызывать шаблоны только через Ctrl+Shift+Q.

Можно ли использовать шаблоны текста в режиме «1С:Предприятие»?

Нет, механизм шаблонов — инструмент конфигуратора и работает только при редактировании модулей и текстовых документов в нём. В пользовательском режиме для многократного ввода текстов применяют другие средства, например сохранённые настройки или внешние инструменты ОС.

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

Найдите свой файл шаблонов с расширением .st, скопируйте его на новую машину и подключите в «Сервис → Параметры → Модули → Шаблоны текста». Если файл лежал в общей сетевой папке, достаточно подключить тот же путь.

Почему шаблон вставляется, но позиции подстановки не выделяются?

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

Совместимы ли шаблоны конфигуратора с 1C:EDT?

Нет, в EDT действует собственный механизм шаблонов (Templates) с другим форматом хранения. Файлы .st напрямую не импортируются — шаблоны придётся пересоздать вручную или через конвертеры, если они доступны в вашей версии EDT.

Что делать, если после вставки шаблона модуль не компилируется?

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