Шаблоны — это фрагменты текста на встроенном языке, которые можно использовать при написании модулей.
Пользовательские шаблоны могут храниться в двух местах:
Шаблоны можно вставлять в модули с помощью контекстной подсказки, нажимая Ctrl+Пробел.
На первой странице контекстной подсказки 1C:EDT предложит вам те шаблоны, в имени которых содержится строка, введенная вами в модуле.
На второй странице контекстной подсказки (повторное нажатие Ctrl+Пробел) расположены все пользовательские шаблоны и обработчики событий, доступные в модуле.
Шаблоны встроенного языка могут содержать переменные. После вставки шаблона в модуль переменные заменяются маркерами. Например, следующий шаблон:
Если ТипЗнч(${Редактировать()}) = Тип("${ВыборТипа()}") Тогда
${Редактировать()}
КонецЕсли;
после вставки в модуль будет иметь такой вид (стрелками отмечены маркеры):
Можно перемещаться между маркерами, нажимая Tab и Shift+Tab. В первом маркере вы можете вводить текст, а при переходе на второй маркер 1C:EDT откроет диалог выбора типа.
Чтобы добавлять, редактировать или удалять шаблоны, нужно открыть один из списков шаблонов.
В обоих случаях список шаблонов выглядит одинаково и предоставляет одинаковую функциональность.
Можно импортировать шаблоны «1С:Предприятия» из .st-файла. Например, если вы создавали собственные шаблоны для платформы. В этом случае они будут автоматически конвертированы в формат шаблонов 1C:EDT.
Шаблоны можно экспортировать в .txt-файл. Для этого:
Переменную ${ВыборТипа()} можно использовать в тех случаях, когда требуется ввести тип некоторого значения.
Переменная ${Выбрать()} предлагает выбрать одно из перечисленных значений. Например, в операторе открытия формы требуется указать тип открываемой формы или конкретное имя формы. Набор этих вариантов ограничен и его можно перечислить в переменной ${Выбрать()}.
Переменную ${ЗначениеПеречисления()} можно использовать, например, для выбора предопределенного значения на клиенте.
Переменная ${ИмяОбъектаМетаданного()} позволяет выбрать имя объекта конфигурации, его реквизита, табличной части и других подчиненных объектов. Например, в операторе открытия формы требуется указать имя объекта конфигурации, форму которого необходимо открыть.
Переменную ${МетодИВызов()} можно использовать, например, для создания шаблона, который суммирует результаты двух функций.
${Редактировать(СуммаФункций)} = ${МетодИВызов(ПерваяФункция, Функция, Парам1)} + ${МетодИВызов(ВтораяФункция, Функция, Парам2)};
Например, такой шаблон вставляется в следующую процедуру.
В результате внутри процедуры будет вставлен оператор присваивания, а снаружи процедуры созданы две функции.
При обходе маркеров 1C:EDT предложит выбрать один из доступных контекстов, в котором будет исполняться каждая функция.
Кроме этого 1C:EDT предложит использовать модификатор Асинх.
Второй параметр переменной определяет, какой метод будет создан: Функция или Процедура. Соответственно, если необходимо вставить вызов процедуры, шаблон может выглядеть следующим образом.
${МетодИВызов(МояПроцедура, Процедура, парам1, парам2)};
В результате в модуль будет добавлена процедура и ее вызов.
Следующий шаблон показывает особенности использования переменной ${Редактировать()}:
Процедура ${Редактировать("Имя процедуры")}()
${Редактировать("")}
КонецПроцедуры // ${Редактировать("Имя процедуры")}()
Значение параметра Имя процедуры используется, во-первых, как подсказка для ввода. Оно отображается в маркере после вставки шаблона.
Во-вторых маркеры, соответствующие переменным с одинаковым значением параметра, связываются между собой. В результате, когда вы вводите текст в один из таких маркеров, он автоматически появляется и во втором маркере.
Переменная без указания параметра используется просто как указатель на то место, в которое нужно установить курсор для ввода текста.