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