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

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

Как сделать шаблоны текста в 1С

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

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

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

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

Где находятся шаблоны и как их включить

Управление шаблонами выполняется в конфигураторе через меню «Текст → Шаблоны текста…». Откроется окно со списком подключённых файлов шаблонов. По умолчанию используется стандартный файл, который поставляется с платформой, — его можно дополнить собственным.

Чтобы шаблоны срабатывали при наборе кода, нужно включить автозамену. Откройте «Сервис → Параметры», перейдите на вкладку «Модули» и в разделе «Контекстная подсказка» установите флажок «Включить автозамену». Без этой настройки вставка шаблона возможна только вручную — через диалог выбора.

Основные сочетания клавиш при работе с шаблонами:

  • Ctrl+Q — вставка шаблона по введённому имени (автозамена);
  • Ctrl+Shift+Q — открытие списка шаблонов для выбора вручную;
  • переход между параметрами вставленного шаблона — клавишей Tab или по клику.

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

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

Порядок создания:

  1. Откройте «Текст → Шаблоны текста…» и нажмите кнопку добавления файла.
  2. Укажите имя и расположение нового файла, например МоиШаблоны.st. Удобно хранить его в папке, доступной с рабочего места, либо в сетевом каталоге для команды.
  3. Отметьте файл флажком, чтобы он стал активным.
  4. Откройте файл на редактирование и добавьте первый шаблон.
Создание первого шаблона
  1. 1
    Откройте окно «Шаблоны текста» и выберите свой файл .st
  2. 2
    Нажмите «Добавить» и задайте имя шаблона, например «ОбходВыборки»
  3. 3
    В поле текста введите код, пометив изменяемые места угловыми скобками: <Запрос>, <Выборка>
  4. 4
    Сохраните файл и проверьте вставку: наберите имя шаблона в модуле и нажмите Ctrl+Q
  5. 5
    Заполните параметры и убедитесь, что код компилируется

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

Синтаксис шаблона: параметры и автозамена

Каждый шаблон состоит из имени (строки автозамены) и текста для вставки. Имя должно быть коротким и уникальным — именно его вы набираете в редакторе перед нажатием Ctrl+Q.

Изменяемые фрагменты помечаются угловыми скобками: <ИмяПараметра>. После вставки шаблона курсор последовательно останавливается на каждом параметре, и достаточно начать печатать — содержимое в скобках заменится введённым текстом. Одинаковые имена параметров внутри шаблона заполняются синхронно: ввели имя переменной один раз — оно подставилось во всех местах.

Пример простого шаблона обхода результата запроса:

Выборка = <Запрос>.Выполнить().Выбрать();

Пока Выборка.Следующий() Цикл

<>

КонецЦикла;

Пустые угловые скобки <> обозначают позицию, куда встанет курсор для ввода тела цикла. Такой приём удобен для мест, где заранее неизвестно, что будет написано.

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

Практические сценарии использования

Типовые конструкции кода

Самый частый сценарий — шаблоны для повторяющихся конструкций: циклы, условия, попытки-исключения, обходы табличных частей, работа с запросами. Такие шаблоны экономят время и снижают число синтаксических ошибок: скобки, «КонецЕсли» и «КонецЦикла» уже стоят на месте.

Стандартные комментарии и заголовки

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

Шаблоны запросов

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

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

Перенос шаблонов и работа в команде

Файл .st — обычный файл, его можно скопировать на другой компьютер и подключить там через тот же диалог «Шаблоны текста». Для команды разработки удобно разместить общий файл в сетевом каталоге или в репозитории рядом с проектом и подключать его всем участникам.

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

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

Проверка результата и типичные ошибки

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

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

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

Вставка по Ctrl+Q
Норма

Текст шаблона появляется, курсор на первом параметре

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

Ничего не происходит или вставляется не тот шаблон

Автозамена
Норма

В параметрах редактора включена автозамена

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

Флажок снят — шаблоны срабатывают только через список

Файл шаблонов
Норма

Файл .st есть в списке и отмечен флажком

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

Файл не подключён или недоступен по указанному пути

Типичные ошибки
01
Не включена автозамена в параметрах конфигуратора — шаблон не вставляется по Ctrl+Q
02
Шаблон создан в стандартном файле платформы и потерян после обновления
03
Имя шаблона совпадает с началом другого имени — срабатывает не тот шаблон
04
Угловые скобки параметров набраны не теми символами — параметры не распознаются
05
Общий файл редактируют несколько разработчиков одновременно — изменения затирают друг друга

Ограничения механизма и альтернативы

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

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

Сравнение вариантов

Встроенные шаблоны .st

Подходят для типовых фрагментов кода; работают из коробки, но без логики и контекста

Шаблоны в 1C:EDT

Подходят при разработке в EDT; гибче настраиваются, но требуют перехода на другую среду

Генерация кода обработками

Подходит для массового создания однотипных объектов; требует написания кода генератора

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

Где физически хранятся файлы шаблонов?

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

Почему шаблон не вставляется по Ctrl+Q?

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

Можно ли использовать шаблоны в управляемом и обычном приложении?

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

Как сделать, чтобы параметр вставлялся в нескольких местах шаблона?

Присвойте этим местам одинаковое имя в угловых скобках, например <ИмяПеременной>. При заполнении первого вхождения остальные подставятся автоматически.

Переносятся ли шаблоны вместе с конфигурацией?

Нет. Шаблоны — настройка среды разработки, а не часть конфигурации. При передаче проекта коллеге файл .st нужно передать отдельно и подключить на его рабочем месте.

Что делать, если файл шаблонов повреждён и не открывается?

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

Итог

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

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