Как удалить шаблоны 1с
Перейти к содержимому

Как удалить шаблоны 1с

  • автор:

Особенности использования механизма шаблонов в 1С:Предприятии 8 и отличия от версии 7.7

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

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

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

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

  • Название шаблона.
  • Строка автозамены для шаблона.
  • Признак включения шаблона в контекстное меню.
  • Текст шаблона.

Рассмотрим подробно назначение каждого элемента шаблона.

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

Автоматически заменять строку – строка, по которой механизм автозамены будет подбирать подходящий шаблон. Эта строка также используется для подбора шаблона с помощью команды «Подобрать шаблон…» (Ctrl + Q). Например, если строка автозамены содержит текст «ABC», находясь в текстовом редакторе справа от этого слова и нажав Space или Enter , будет выполнена автозамена текста «ABC» (если механизм автозамены включен).

Включать в контекстное меню – определяет, нужно ли сделать шаблон доступным в контекстном меню текстового редактора.

Текст шаблона – текст, который будет вставлен в редактируемый документ при выполнении шаблона.

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

2. Использование шаблонов

В 1С:Предприятии 8 расширен набор вариантов выбора шаблона для вставки его содержимого в текст. Рассмотрим эти варианты:

1. Из окна «Шаблоны текста» с помощью мыши, перетаскивая выбранный шаблон в текст.

2. Из окна «Шаблоны текста» путем копирования в буфер обмена выбранного шаблона и вставки его в тексте.

3. С помощью контекстного меню текстового редактора. В него попадут те шаблоны, у которых отмечен флажок «Включать в контекстное меню».

4. С помощью механизма автозамены текстового редактора. Механизм автозамены должен быть активизирован с помощью настройки редактора текста (редактора модулей): нужно указать, что автозамена включена или включена с подсказкой. Это можно сделать так: «Сервис» – «Параметры» – Тексты» («Тексты модулей») – «Автозамена»: выбрать из списка «Включить» или «Включить с подсказкой». После нажатия клавиш Space или Enter система попытается подобрать шаблон по слову, стоящему слева от курсора.

5. С помощью команды «Подобрать шаблон…» (Ctrl + Q).

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

3 . Файл шаблонов, поставляемый с 1С:Предприятием

В поставку 1С:Предприятия 8 входит файл шаблонов GenTempl.st . В него включены шаблоны для часто используемых конструкций. Это и шаблоны для написания управляющих конструкций, шаблоны, связанные с использованием прикладных объектов, а так же некоторые другие.

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

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

4. Правила формирования строки автозамены

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

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

Механизм шаблонов в 1С:Предприятии 8 предоставляет возможность сделать один шаблон, который будет описывать несколько строк автозамены:

Строка автозамены Текст шаблона
Проц Процедура.
Проце Процедура.
Процед Процедура.
Процеду Процедура.
Процедур Процедура.
Процедура Процедура.

Это обеспечивается использованием постоянной и вариантной части строки автозамены. Постоянная часть– это то, что мы обычно привыкли писать в строке автозамены и рассматривали на примерах ранее. Вариантная часть – часть строки автозамены, которая может участвовать в строке автозамены любым подходящим количеством своих символов слева направо.

Запись строки автозамены с использованием постоянной и вариантной частей выглядит следующим образом:

Рассмотрим пример со словом «Процедура». Очевидно, что во всех строках автозамены строка «Проц» является постоянной частью строки автозамены, а текст правее – некоторой переменной частью, имеющей в каждом случае разное число символов. Решением для рассматриваемого примера будет один шаблон со строкой автозамены «проц[едур a ]».

5. Основные отличия от 1С:Предприятия 7.7:

1. Можно использовать несколько файлов шаблонов.

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

3. Дерево шаблонов отображается в отдельном окне «Шаблоны текста».

4. Расширился набор вариантов для выбора нужного шаблона.

5. Строка автозамены может иметь постоянную и вариантную части.

6. При установке системы активизация механизма автозамены при вводе текста отключена , поскольку не всегда удобно в процессе набора текста делать автозамену одной строки на другую. Более удобным будет использовать команду «Подобрать шаблон…» (Ctrl + Q).

7. В шаблонах появилась возможность выбора из нескольких вариантов с помощью управляющей конструкции «Выбор варианта».

Шаблоны встроенного языка

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

Существует два типа шаблонов:

  • — это фиксированный набор шаблонов, который хранится внутри 1C:EDT. Можно использовать эти шаблоны, но изменять их или удалять нельзя;
  • — эти шаблоны можно импортировать, изменять, удалять, создавать собственные.

Шаблоны 1C:EDT и шаблоны проекта

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

  • В рабочей области — можно использовать один набор шаблонов для нескольких проектов;
  • В проекте — можно использовать один набор шаблонов для всей команды, которая разрабатывает проект.

Контексты

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

Переменные

Шаблон может содержать переменные, которые выполняют то или иное действие во время вставки или после вставки шаблона в модуль.

Например, следующий шаблон использует две переменные: $ и $ .

Если ТипЗнч($) = Тип("$") Тогда $ КонецЕсли;

После вставки шаблона в модуль переменные заменяются маркерами (стрелками отмечены маркеры):

В первом маркере вы можете вводить текст, а при переходе на второй маркер 1C:EDT откроет диалог выбора типа.

Вставить шаблон в модуль

Шаблоны можно вставлять в модули с помощью контекстной подсказки, нажимая Ctrl+Пробел .

На первой странице контекстной подсказки 1C:EDT предложит вам те шаблоны, в имени которых содержится строка, введенная вами в модуле.

На второй странице контекстной подсказки (повторное нажатие Ctrl+Пробел ) расположены все пользовательские шаблоны и обработчики событий, доступные в модуле.

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

Если ТипЗнч($) = Тип("$") Тогда $ КонецЕсли; 

после вставки в модуль будет иметь такой вид (стрелками отмечены маркеры):

Можно перемещаться между маркерами, нажимая Tab и Shift+Tab . В первом маркере вы можете вводить текст, а при переходе на второй маркер 1C:EDT откроет диалог выбора типа.

Добавить, экспортировать, импортировать шаблоны

Чтобы добавлять, редактировать или удалять шаблоны, нужно открыть один из списков шаблонов.

Открыть список пользовательских шаблонов

  • Чтобы открыть список шаблонов рабочей области в главной панели основного окна нажмите Окно > Параметры > V8 > Встроенный язык > Шаблоны ;
  • Чтобы открыть список шаблонов проекта в панели Навигатор нажмите Свойства > V8 > Встроенный язык > Шаблоны в контекстном меню проекта.

В обоих случаях список шаблонов выглядит одинаково и предоставляет одинаковую функциональность.

Добавить шаблон

  1. Откройте список шаблонов;
  2. Нажмите Добавить. ;
  3. В поле Имя задайте имя шаблона. Имя предназначено для вас и позволяет отличить один шаблон от другого. Имя шаблона должно быть уникально в пределах своего списка. Но в разных списках могут быть шаблоны с одинаковыми именами. В этом случае будет использоваться шаблон проекта, как более приоритетный;
  4. Выберите контекст шаблона.

Для нового шаблона всегда включены все контексты.

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

  • НаСервере , Метод — внутри серверных методов;
  • НаСервере , НаКлиенте , Выражение — внутри любых выражений;
  • НаСервере — серверный контекст исполнения встроенного языка (подробнее);
  • НаКлиенте — клиентский контекст исполнения встроенного языка (подробнее);
  • Метод — внутри процедуры или функции;
  • Объявление модуля — вне процедур и функций (в разделе определения переменных или в разделе основной программы, подробнее);
  • Оператор — в том месте, где может быть написан оператор присваивания;
  • Выражение — внутри выражения (справа от оператора присваивания, в параметрах, в условиях);
  • Условное выражение — в условиях операторов Если и Пока ;
  • Строковый литерал — внутри строкового литерала;
  • Параметр в вызове метода — при вводе параметров процедур и функций;
  • Комментарий — внутри комментариев.
  • Задайте текст шаблона. Вводить переменные можно с помощью механизма контекстной подсказки, который вызывается при нажатии Ctrl+Пробел . Назначение каждой переменной описано в подсказке: После того, как переменная вставлена в шаблон, можно перемещаться между ее параметрами с нажимая Tab и Shift+Tab . Для тех параметров, которые предполагают фиксированные значения, будет предложен выбор из списка.
  • Задайте описание шаблона. Это описание будет показано вам в контекстной подсказке при вставке шаблона в модуль.
  • Нажмите ОК ;
  • Если нужно, аналогичным образом добавьте еще несколько шаблонов;
  • Нажмите Применить и Закрыть , чтобы сохранить все изменения параметров;
  • Импортировать шаблоны

    Можно импортировать шаблоны «1С:Предприятия» из .st-файла. Например, если вы создавали собственные шаблоны для платформы. В этом случае они будут автоматически конвертированы в формат шаблонов 1C:EDT.

    Можно импортировать шаблоны 1C:EDT из .txt-файла. Эти шаблоны могут быть экспортированы, например, из другого проекта, или получены от другого разработчика.

    Чтобы импортировать шаблоны выполните следующие действия:

    1. Откройте список шаблонов;
    2. Нажмите Импортировать. ;
    3. Выберите файл с шаблонами и нажмите Открыть ;
    4. Отредактируйте имена шаблонов, если есть конфликты;
    5. Нажмите ОК ;
    6. Нажмите Применить и закрыть , чтобы сохранить список шаблонов.

    Экспортировать шаблоны

    Шаблоны можно экспортировать в .txt-файл. Для этого:

    • Откройте список шаблонов;
    • Удерживая Ctrl выберите мышью те шаблоны, которые вы хотите экспортировать (нажмите Ctrl+A чтобы выбрать все);
    • Нажмите Экспортировать. ;
    • Выберите каталог, в который нужно сохранить файл, введите имя файла вместе с расширением;
    • Нажмите Сохранить .

    Импортировать «старые» шаблоны

    Если вы уже создавали шаблоны встроенного языка в 1C:EDT версии младше чем 2021.2, то можно автоматически конвертировать эти шаблоны в новый формат.

    Шаблоны «старого» формата хранятся в рабочей области. Поэтому для их конвертации нужно открыть старую рабочую область новой версией 1C:EDT — 2021.2 и старше. Шаблоны будут конвертированы автоматически и вы увидите их в списке шаблонов.

    Примеры использования переменных

    ВыборТипа

    Переменную $ можно использовать в тех случаях, когда требуется ввести тип некоторого значения.

    Например, шаблон может выглядеть следующим образом:

    Если ТипЗнч($<Редактировать("Выражение для проверки типа")>) = Тип("$") Тогда $ КонецЕсли;

    После вставки этого шаблона и ввода имени переменной 1C:EDT откроет окно выбора типа, в котором можно найти нужный вам тип с помощью строки поиска:

    В результате фрагмент кода будет выглядеть следующим образом:

    Выбрать

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

    Тогда следующий шаблон после вставки в модуль и выбора документа попросит выбрать один из видов открываемой формы.

    ОткрытьФорму("Документ.$.$<Выбрать("ФормаОбъекта", "ФормаСписка", "ФормаВыбора", "Форма.")>$");

    В результате будет сформировано имя формы.

    ЗначениеПеречисления

    Переменную $ можно использовать, например, для выбора предопределенного значения на клиенте.

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

    ПредопределенноеЗначение("Перечисление.$")

    В результате фрагмент кода будет выглядеть следующим образом.

    ИмяОбъектаМетаданного

    Переменная $ позволяет выбрать имя объекта конфигурации, его реквизита, табличной части и других подчиненных объектов. Например, в операторе открытия формы требуется указать имя объекта конфигурации, форму которого необходимо открыть.

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

    ОткрытьФорму("Документ.$.$<Выбрать("ФормаОбъекта", "ФормаСписка", "ФормаВыбора", "Форма.")>$");

    В результате будет сформирована часть имени формы.

    Метод

    Переменную $ можно использовать, например, для вставки описания оповещения.

    Следующий шаблон добавляет в модуль заготовку для описания оповещения:

    Оповещение = Новый ОписаниеОповещения("$<Метод(Обработчик, Процедура)>", ЭтотОбъект);

    МетодИВызов

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

    Например, такой шаблон вставляется в следующую процедуру.

    В результате внутри процедуры будет вставлен оператор присваивания, а снаружи процедуры созданы две функции.

    При обходе маркеров 1C:EDT предложит выбрать один из доступных контекстов, в котором будет исполняться каждая функция.

    Кроме этого 1C:EDT предложит использовать модификатор Асинх .

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

    В результате в модуль будет добавлена процедура и ее вызов.

    Редактировать

    Следующий шаблон показывает особенности использования переменной $ :

    Процедура $<Редактировать("Имя процедуры")>() $ КонецПроцедуры // $<Редактировать("Имя процедуры")>()

    Значение параметра Имя процедуры используется, во-первых, как подсказка для ввода. Оно отображается в маркере после вставки шаблона.

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

    Переменная без указания параметра используется просто как указатель на то место, в которое нужно установить курсор для ввода текста.

    ФорматнаяСтрока

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

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

    Формат($, "$")

    Результат может выглядеть следующим образом.

    Удаление устаревших объектов метаданных из конфигурации

    Область применения: управляемое приложение, мобильное приложение, обычное приложение.

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

    1.1. Не удалять из конфигурации устаревшие объекты метаданных и реквизиты безвозвратно, а пометить их как устаревшие, добавив к их именам префикс «Удалить» (англ. «Obsolete» ). Например: реквизит «ОсновнойДоговор» (англ. «MainContract» ) должен быть переименован в «УдалитьОсновнойДоговор» (англ. «ObsoleteMainContract» ).

    В синоним устаревшего объекта (реквизита) рекомендуется добавлять префикс «(не используется)» (англ. «(not used)» ), например: «(не используется) Основной договор» (англ. «(not used) Main contract» ). Если же устарел стандартный реквизит, то префикс «(не используется)» также добавляется в его синоним.

    1.2. После изменения структуры метаданных следует обеспечить перенос данных из устаревших объектов и реквизитов в новую структуру метаданных конфигурации.

    1.3. Если удаляемый объект метаданных является документом – регистратором движений, а соответствующие регистры с движениями остаются в составе конфигурации, то необходимо обратить внимание на необходимость сохранения движений. Для сохранения движений документов – устаревших объектов метаданных, рекомендуется:

    • Запретить генерацию движений при проведении документов этого вида.
    • Запретить снятие пометки удаления для документов этого вида.
    • Во всех существующих движениях документов этого вида изменить регистратор на один или несколько замещающих документов-регистраторов: существующих универсальных или специально разработанных. Например «Перенос данных», «Операция».
    • Пометить все документы этого вида на удаление.

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

    Исключение составляет только сам код переноса данных из устаревших объектов и реквизитов в новую структуру метаданных конфигурации (см. п.1.2).

    1.5. При сортировке устаревших объектов метаданных и реквизитов в дереве метаданных следует придерживаться общих требований к конфигурации.

    1.6. Также рекомендуется выполнить очистку устаревших данных с тем, чтобы они не влияли на размер базы и не потребляли ресурсы (при резервном копировании, реструктуризации и других операциях).

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

    2. Необходимость в переносе данных также может возникнуть при пересмотре структуры измерений регистров:

    • когда измерение регистра сведений становится не актуальным: удаляется, либо изменяется его тип, либо у измерения составного типа уменьшается состав типов;
    • если необходимо снять признак Основной отбор у измерения регистра, который участвует в составе планов обмена (это эквивалентно удалению поля из таблицы базы данных).

    В этих случаях удаление поля из таблицы базы данных приведет к ошибке при реструктуризации «Записи регистра стали неуникальными». Поэтому следует создать новый регистр с правильной структурой, а старый отметить как устаревший и перенести записи из старого регистра в новый.

    При этом создать новый регистр не требуется, если в регистр добавляется новое измерение или у измерения составного типа расширяется состав типов.

    3. Безвозвратно удалять устаревшие объекты метаданных и реквизиты, помеченные префиксом «Удалить» (англ. «Obsolete» ), следует при выпуске очередных версий конфигурации в том случае, если соблюдается одно из условий:

    1. Переход со «старой» версии конфигурации на новые версии всегда выполняется пользователями последовательно, «через» версию с реализованным переносом данных из «устаревших» объектов метаданных и реквизитов. Например: если в конфигурации версии 1.1 реквизит «ОсновнойДоговор» был помечен как устаревший, то переход с версии 1.0 на версию 2.0 всегда выполняется только последовательно: сначала на версию 1.1 (в которой происходит обработка устаревших данных), а затем на 2.0 (в которой устаревшие данные могут быть удалены безвозвратно). Непосредственный переход с версии 1.0 на 2.0 технически невозможен (запрещен).
    2. Вероятность того, что «старой» версией конфигурации еще пользуются, стала нулевой или пренебрежимо малой.

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

    Есть ли возможность отключить использование неактуального шаблона документа?

    С течением времени некоторые документы теряют свою актуальность и перестают использоваться, в таком случае ранее созданные шаблоны документов в «1С:Документооборот» также становятся неактуальны. В таких случаях есть два способа решения вопроса:

    • Пометить шаблон на удаление. В этом случае его не будет видно в окне «Создание нового документа».

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

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *