mirror of
https://github.com/salexdv/bsl_console.git
synced 2024-11-30 08:57:08 +02:00
6.5 KiB
6.5 KiB
Функция parseSnippets
Назначение функции
Функция для загрузки шаблонов кода (сниппетов) в формате 1С:Предприятия
Параметры функции
- stData - string, текстовое содержимое файла шаблона .st
- unionSnippets - boolean, признак объединения ранее загруженных или стандартных шаблонов кода с шаблонами, переданными для загрузки. Значение по умолчанию:
false
Пример вызова
// Загрузка шаблонов с полной заменой
parseSnippets('{0,{"Пока",0,0,"Пока","Пока <?""Условие""> Цикл......');
// Загрузка шаблонов с объединением
parseSnippets('{0,{"Пока",0,0,"Пока","Пока <?""Условие""> Цикл......', true);
Особенности реализации
- В списке подсказок появляются только те шаблоны кода, у которых в 1С заполнено поле
Автоматически заменять строку
. - В стандартных шаблонах 1С для списка выбора есть возможность указывать представление значение и само вставляемое значение, например, так:
<?"", ВыборВарианта, "Основная таблица", "<?>", "СрезПервых", ".СрезПервых(<?>)", "СрезПоследних", ".СрезПоследних(<?>)">
При выборе значения Основная таблица
в код фактически не вставляется ничего, а просто происходит перемещение курсора в текущую позицию. К сожалению, редактор не позволяет реализовать такую схему, поэтому указанный выше шаблон преобразуется в выбор из двух значений, а именно СрезПервых
и СрезПоследних
.
- Шаблон
ДатаВремя
всегда преобразуется в текущую дату в форматеdd.MM.yyyy HH:mm:ss
- Шаблоны, предназначенные для выбора объекта метаданных, такие как
Справочник
,Документ
,РегистрСведений
и подобные преобразуются в список выбора соответствующих объектов. Если метаданные ранее не были загружены через функциюupdateMetadata
, тогда при активизации сниппета в списке подсказок происходит генерация событияEVENT_GET_METADATA
после обработки которого в 1С следует дополнительно вызвать методupdateSnippetByGUID
- Синтаксис шаблона
ОбъектМетаданных
поддерживается частично, а именно поддерживается выбор только "корневых" объектов метаданных, предназначенных для хранения какой-либо информации, а именноСправочник
,Документ
,РегистрСведений
и т.п. Ниже приведены шаблоны с выбором объекта метаданных в формате 1С, а также конечный результат, получаемый при загрузке в редактор:
// Преобразуется к выбору регистра сведений
<?"", ОбъектМетаданных, "РегистрСведений">
// Преобразуется к выбору всех справочников и документов
<?"", ОбъектМетаданных, "Справочник", "Документ">
// Табличные части, формы, измерения/ресурсы регистров и прочие объекты не обрабатываются
// Преобразуется к выбору всех справочников
<?"", ОбъектМетаданных, "Справочник", "Документ.ТабличнаяЧасть">
// В указанных ниже шаблонах будет подставлено слово "ОбъектМетаданных"
<?"", ОбъектМетаданных, "Справочник.ТабличнаяЧасть", "Документ.ТабличнаяЧасть">
<?"", ОбъектМетаданных, "Справочник.Форма", "Справочник.Макет">
<?"", ОбъектМетаданных, "Стиль", "ПодпискаНаСобытие", "ОпределяемыйТип">
- При выборе шаблона
ТекстЗапроса
происходит генерация событияEVENT_QUERY_CONSTRUCT
. - При выборе шаблона
ФорматнаяСтрока
происходит генерация событияEVENT_FORMAT_CONSTRUCT
. - При выборе шаблона
ВыборТипа
происходит генерация событияEVENT_TYPE_CONSTRUCT
. - При выборе шаблона
КонструкторОписанияТипов
происходит генерация событияEVENT_TYPEDESCRIPTION_CONSTRUCT
. - Перечисленные ниже шаблоны никак не обрабатываются, а просто вставляются в код с аналогичным именем переменной:
- ВыборТипа
- ЖурналДокументов
- ЗначениеПеречисления
- ИмяПользователя
- ПолноеИмяПользователя
- ИмяПользователяХранилищаКонфигурации
- КонструкторОписанияТипов
- КритерийОтбора
- Перерасчет
- ПланВидовРасчетаПредопределенныеДанные
- ПланВидовХарактеристикПредопределенныеДанные
- ПланСчетовПредопределенныеДанные
- Последовательность
- СправочникПредопределенныеДанные