Разработка и Конфигурация · 9 мин
Как сделать шаблоны текста в 1С
Как создать и применять шаблоны текста в конфигураторе 1С: автоподстановка, параметры, файлы .st, перенос между базами и типичные ошибки разработчиков.
Шаблоны текста в конфигураторе 1С — это механизм быстрой вставки типовых фрагментов кода: циклов, условий, процедур, запросов и комментариев. Вместо того чтобы каждый раз набирать конструкцию «Для Каждого … Цикл» вручную, разработчик вводит короткое имя шаблона, нажимает сочетание клавиш — и получает готовый блок с позициями для заполнения.
Механизм встроен в конфигуратор и не требует доработки конфигурации: шаблоны хранятся в отдельных файлах с расширением .st и подключаются к среде разработки. Их можно создавать самостоятельно, дополнять стандартный набор и переносить между рабочими местами.
Ниже разобрано, где включаются шаблоны, как создать собственный файл шаблонов, как использовать параметры и автозамену, а также какие ошибки чаще всего мешают механизму работать.
Где находятся шаблоны и как их включить
Управление шаблонами выполняется в конфигураторе через меню «Текст → Шаблоны текста…». Откроется окно со списком подключённых файлов шаблонов. По умолчанию используется стандартный файл, который поставляется с платформой, — его можно дополнить собственным.
Чтобы шаблоны срабатывали при наборе кода, нужно включить автозамену. Откройте «Сервис → Параметры», перейдите на вкладку «Модули» и в разделе «Контекстная подсказка» установите флажок «Включить автозамену». Без этой настройки вставка шаблона возможна только вручную — через диалог выбора.
Основные сочетания клавиш при работе с шаблонами:
- Ctrl+Q — вставка шаблона по введённому имени (автозамена);
- Ctrl+Shift+Q — открытие списка шаблонов для выбора вручную;
- переход между параметрами вставленного шаблона — клавишей Tab или по клику.
Как создать собственный файл шаблонов
Редактировать стандартный файл шаблонов не рекомендуется: он может быть перезаписан при обновлении платформы. Правильный путь — создать отдельный файл и подключить его дополнительно.
Порядок создания:
- Откройте «Текст → Шаблоны текста…» и нажмите кнопку добавления файла.
- Укажите имя и расположение нового файла, например
МоиШаблоны.st. Удобно хранить его в папке, доступной с рабочего места, либо в сетевом каталоге для команды. - Отметьте файл флажком, чтобы он стал активным.
- Откройте файл на редактирование и добавьте первый шаблон.
- 1Откройте окно «Шаблоны текста» и выберите свой файл .st
- 2Нажмите «Добавить» и задайте имя шаблона, например «ОбходВыборки»
- 3В поле текста введите код, пометив изменяемые места угловыми скобками: <Запрос>, <Выборка>
- 4Сохраните файл и проверьте вставку: наберите имя шаблона в модуле и нажмите Ctrl+Q
- 5Заполните параметры и убедитесь, что код компилируется
Файл шаблонов — это текстовый файл особого формата. Его можно редактировать прямо в конфигураторе через диалог шаблонов, что удобнее и безопаснее, чем правка в текстовом редакторе: при ручном редактировании легко нарушить служебную разметку файла.
Синтаксис шаблона: параметры и автозамена
Каждый шаблон состоит из имени (строки автозамены) и текста для вставки. Имя должно быть коротким и уникальным — именно его вы набираете в редакторе перед нажатием Ctrl+Q.
Изменяемые фрагменты помечаются угловыми скобками: <ИмяПараметра>. После вставки шаблона курсор последовательно останавливается на каждом параметре, и достаточно начать печатать — содержимое в скобках заменится введённым текстом. Одинаковые имена параметров внутри шаблона заполняются синхронно: ввели имя переменной один раз — оно подставилось во всех местах.
Пример простого шаблона обхода результата запроса:
Выборка = <Запрос>.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
<>
КонецЦикла;
Пустые угловые скобки <> обозначают позицию, куда встанет курсор для ввода тела цикла. Такой приём удобен для мест, где заранее неизвестно, что будет написано.
// Шаблон «Попытка»
Попытка
<Код>
Исключение
ЗаписьЖурналаРегистрации(НСтр("ru = '<Событие>'"),
УровеньЖурналаРегистрации.Ошибка,,,
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки;Практические сценарии использования
Типовые конструкции кода
Самый частый сценарий — шаблоны для повторяющихся конструкций: циклы, условия, попытки-исключения, обходы табличных частей, работа с запросами. Такие шаблоны экономят время и снижают число синтаксических ошибок: скобки, «КонецЕсли» и «КонецЦикла» уже стоят на месте.
Стандартные комментарии и заголовки
Если в команде принят единый формат заголовков процедур или пометок доработок (например, «// Доработка: …» с датой и автором), его удобно оформить шаблоном. Тогда все разработчики вставляют одинаковый блок, а не пишут каждый в своём стиле.
Шаблоны запросов
Тексты запросов — ещё одно удачное применение: типовой запрос с виртуальной таблицей остатков или с соединением таблиц вставляется целиком, и остаётся только заменить имена таблиц и полей. Учтите, что конструктор запроса и шаблоны не конфликтуют: вставленный шаблоном текст можно дальше править конструктором.
Не создавайте шаблоны на всё подряд. Польза есть, когда фрагмент вставляется регулярно и длиннее пары строк. Десятки редко используемых шаблонов только замедляют поиск нужного в списке.
Перенос шаблонов и работа в команде
Файл .st — обычный файл, его можно скопировать на другой компьютер и подключить там через тот же диалог «Шаблоны текста». Для команды разработки удобно разместить общий файл в сетевом каталоге или в репозитории рядом с проектом и подключать его всем участникам.
При совместном использовании договоритесь о правилах: кто редактирует общий файл, как именуются шаблоны, как оформляются параметры. Одновременное редактирование одного файла несколькими разработчиками может привести к потере изменений — перезаписывается весь файл целиком.
Если шаблоны пропали после переустановки платформы или смены компьютера, чаще всего причина не в удалении файла, а в том, что он не подключён в новом окружении. Проверьте список файлов в диалоге шаблонов и добавьте свой .st заново.
Проверка результата и типичные ошибки
После настройки проверьте работу механизма в любом модуле: наберите имя шаблона, нажмите Ctrl+Q — должен вставиться текст с выделенным первым параметром. Если вместо вставки ничего не происходит, причина обычно в одной из перечисленных ниже ошибок.
Как проверить результат
Текст шаблона появляется, курсор на первом параметре
Ничего не происходит или вставляется не тот шаблон
В параметрах редактора включена автозамена
Флажок снят — шаблоны срабатывают только через список
Файл .st есть в списке и отмечен флажком
Файл не подключён или недоступен по указанному пути
Ограничения механизма и альтернативы
Шаблоны текста — это статическая вставка: они не умеют анализировать контекст модуля, подставлять реальные имена объектов метаданных или выполнять логику. Всё, что шаблон делает, — вставляет заранее заготовленный текст и расставляет позиции для ввода.
Если нужна более умная генерация кода, рассмотрите альтернативы: внешние инструменты разработки (например, EDT с собственными механизмами шаблонов), расширения редактора, автогенерацию кода обработками. Для большинства задач в классическом конфигураторе, однако, встроенных шаблонов достаточно.
Сравнение вариантов
Подходят для типовых фрагментов кода; работают из коробки, но без логики и контекста
Подходят при разработке в EDT; гибче настраиваются, но требуют перехода на другую среду
Подходит для массового создания однотипных объектов; требует написания кода генератора
Частые вопросы
Где физически хранятся файлы шаблонов?
Это файлы с расширением .st, расположение которых вы задаёте сами при создании. Стандартный файл лежит в каталоге установки платформы. Путь к каждому подключённому файлу виден в диалоге «Текст → Шаблоны текста».
Почему шаблон не вставляется по Ctrl+Q?
Чаще всего отключена автозамена в параметрах конфигуратора («Сервис → Параметры → Модули»), файл шаблонов не отмечен флажком в списке или имя набрано с опечаткой. Проверьте эти три пункта последовательно.
Можно ли использовать шаблоны в управляемом и обычном приложении?
Шаблоны работают на уровне редактора кода конфигуратора, поэтому режим приложения значения не имеет: механизм одинаково доступен в модулях любых объектов и внешних обработок.
Как сделать, чтобы параметр вставлялся в нескольких местах шаблона?
Присвойте этим местам одинаковое имя в угловых скобках, например <ИмяПеременной>. При заполнении первого вхождения остальные подставятся автоматически.
Переносятся ли шаблоны вместе с конфигурацией?
Нет. Шаблоны — настройка среды разработки, а не часть конфигурации. При передаче проекта коллеге файл .st нужно передать отдельно и подключить на его рабочем месте.
Что делать, если файл шаблонов повреждён и не открывается?
Восстановите его из резервной копии. Если копии нет, создайте новый файл и перенесите в него шаблоны заново; иногда часть содержимого удаётся извлечь, открыв повреждённый .st в текстовом редакторе.
Что важно запомнить
Создавайте собственный файл .st, не трогая стандартный; включите автозамену в параметрах конфигуратора; используйте угловые скобки для параметров и Ctrl+Q для вставки. Для команды храните общий файл в общедоступном месте и договоритесь о правилах его редактирования.