Модель встроенного языка

Модель встроенного языка #

Описание модели встроенного языка платформы “1С:Предприятие 8” в 1С:EDT.

Аннотация #

В проекте 1С:EDT создана семантическая модель встроенного языка платформы “1С:Предприятие 8”. Данная модель связана с грамматикой языка и является одним из основных средств работы со встроенным языком внутри проекта 1С:EDT. Поэтому пользователи, которые будут работать с внешним API, должны четко представлять связь грамматических конструкций языка с разработанной моделью.

Описание модели будет происходить следующим образом:

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

Также хочется отметить, что модель создана с использованием проекта Eclipse Xcore.

Кроме того, данная модель не сериализуется, то есть нельзя получить по модели текст модуля: только из текста модуля — его модель.

Для получения доступа к node-модели, связанной с семантической моделью встроенного языка, нужно воспользоваться сервисом org.eclipse.xtext.nodemodel.util.NodeModelUtils.

Описание модели #

Module #

Элемент модели: com._1c.g5.v8.dt.bsl.model.Module

Представляет собой программный модуль конфигурации. Является корневым элементом модели. С каждым программным модулем конфигурации может быть сопоставлен только один элемент модели. Данный элемент модели унаследовал все методы и свойства от com._1c.g5.v8.dt.bsl.model.Block.

Методы и атрибуты элемента #

  • getOwner() — получение объекта метаданных, к которому относится данный модуль (Справочник, Документ и прочие).
  • setOwner(EObject value) — назначение модулю его владельца - объекта метаданных, к которому данный модуль относится. Внешние пользователи не должны использовать данный метод, так как владелец модуля определяется и проставляется автоматически.
  • getModuleType() — получение объекта типа com._1c.g5.v8.dt.bsl.model.ModuleType, определяющего тип модуля.
  • setModuleType(ModuleType value) — заполняет тип модуля. Внешние пользователи не должны использовать данный метод, так как тип модуля определяется и проставляется автоматически. 
  • getDefaultPragmas() — возвращает набор директив компиляции по умолчанию типа com._1c.g5.v8.dt.bsl.model.Pragma, определенных в конкретном модуле. Только модули формы и команды имеют предопределенный набор значений, возвращаемых методом getDefaultPragmas(). Данный набор содержит в себе 1 элемент, в который включается директива компиляции НаСервере. Внешним пользователем не следует изменять значения, возвращаемые данным методом.
  • allMethod() — возвращает все объекты типа com._1c.g5.v8.dt.bsl.model.Method, соответствующие методам, определенным в программном модуле. Используйте этот метод, а не getMethod() для получения всех методов модуля. Внешние пользователи не должны изменять элементы в данной коллекции.
  • getPreprocessors() — возвращает все объекты типа com._1c.g5.v8.dt.bsl.model.Preprocessor, которые соответствуют всем инструкциям препроцессора, объявленным непосредственно в модуле. Внешние пользователи не должны изменять элементы в данной коллекции.
  • getContextDef() — возвращает объект типа com._1c.g5.v8.dt.mcore.ContextDef, который содержит в себе описание всех экспортируемых методов и свойств модуля. Внешние пользователи не должны изменять элементы в данной коллекции.

Block #

Элемент модели: com._1c.g5.v8.dt.bsl.model.Block

Абстрактный элемент модели. Содержит в себе методы и атрибуты, которые одновременно присущи как com._1c.g5.v8.dt.bsl.model.Module, так и com._1c.g5.v8.dt.bsl.model.Method. Данный элемент модели унаследовал все методы и свойства от com._1c.g5.v8.dt.mcore.Environmental.

Методы и атрибуты элемента #

  • allDeclareStatements() — возвращает все объекты типа com._1c.g5.v8.dt.bsl.model.DeclareStatement, соответствующие переменным, лежащим в блоке, начинающимся с ключевого слова Перем (Var). Используйте этот метод, а не getDeclareStatement() для получения всех переменных. Внешние пользователи не должны изменять элементы в данной коллекции.
  • allStatements() — возвращает все объекты типа com._1c.g5.v8.dt.bsl.model.Statement, соответствующие операторам языка. Используйте этот метод, а не getStatement(), для получения всех переменных. Внешние пользователи не должны изменять элементы в данной коллекции.
  • getImplicitVariables() — возвращает все объекты типа com._1c.g5.v8.dt.bsl.model.ImplicitVariable, соответствующие переменным, объявленным в неявном виде. Неявным объявлением переменной является ее первое упоминание в левой части оператора присваивания. Внешние пользователи не должны изменять элементы в данной коллекции.

ModuleType #

Элемент модели: com._1c.g5.v8.dt.bsl.model.ModuleType

Элемент модели, представляющий собой перечисление всех поддерживаемых типов модулей:

  • COMMON_MODULE — соответствует общим программным модулям,
  • ORDINARY_APP_MODULE — соответствует модулю обычного приложения конфигурации,
  • MANAGED_APP_MODULE — соответствует модулю управляемого приложения конфигурации,
  • EXTERNAL_CONN_MODULE — соответствует модулю внешнего соединения конфигурации,
  • SESSION_MODULE — соответствует модулю сеанса конфигурации,
  • OBJECT_MODULE — соответствует объектным модулям объектов конфигурации,
  • MANAGER_MODULE — соответствует модулям менеджеров объектов конфигурации,
  • VALUE_MANAGER_MODULE — соответствует модулю менеджера значений для объекта метаданных Константа,
  • RECORDSET_MODULE — соответствует модулям наборов записей объектов конфигурации,
  • FORM_MODULE — соответствует модулям форм,
  • COMMAND_MODULE — соответствует модулям команд,
  • WEB_SERVICE_MODULE — соответствует модулям веб-сервисов,
  • HTTP_SERVICE_MODULE — соответствует модулям HTTP-сервисов,
  • INTEGRATION_SERVICE_MODULE — соответствует модулю объекта конфигурации СервисИнтеграции,
  • BOT_MODULE — соответствует модулю объекта конфигурации Бот.

DeclareStatement #

Элемент модели: com._1c.g5.v8.dt.bsl.model.DeclareStatement

Элемент модели, ассоциирующийся с грамматической конструкцией объявления переменных.

Методы и атрибуты элемента #

  • getVariables() — возвращает все объекты типа com._1c.g5.v8.dt.bsl.model.ExplicitVariable, соответствующие набору всех объявляемых переменных. Внешние пользователи не должны изменять элементы в данной коллекции.

Пример представления в языке #

...
Перем перем1, перем2, перем3 Экспорт, перем4
...

PragmaTarget #

Элемент модели: com._1c.g5.v8.dt.bsl.model.PragmaTarget

Элемент модели, хранящий набор элементов типа com._1c.g5.v8.dt.bsl.model.Pragma.

Методы и атрибуты элемента #

  • getVariables() — возвращает все объекты типа com._1c.g5.v8.dt.bsl.model.Pragma. Внешние пользователи не должны изменять элементы в данной коллекции.

Pragma #

Элемент модели: com._1c.g5.v8.dt.bsl.model.Pragma

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

Методы и атрибуты элемента #

  • getSymbol() — возвращает строковое представление директивы компиляции (без символа &).
  • setSymbol(String value) — заполнение строкового представления директивы компиляции. Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.

Пример представления в языке #

&НаСервере
Процедура пример()
КонецПроцедуры

В данном примере будет создан объект модели Pragma, в котором будет содержаться значение НаСервере.

Variable #

Элемент модели: com._1c.g5.v8.dt.bsl.model.Variable

Элемент модели, представляющий собой переменную во встроенном языке. Данный элемент является родительским для com._1c.g5.v8.dt.bsl.model.ExplicitVariable, com._1c.g5.v8.dt.bsl.model.ImplicitVariable, com._1c.g5.v8.dt.bsl.model.FormalParam. Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.mcore.NamedElement.

ExplicitVariable #

Элемент модели: com._1c.g5.v8.dt.bsl.model.ExplicitVariable

Элемент модели, представляющий собой переменную во встроенном языке, которая может быть экспортирована из модуля. Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.model.Variable.

Методы и атрибуты элемента #

  • isExport() — возвращает true, когда переменная экспортируется.
  • setExport() — задает свойство возможности экспорта переменной. Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.

Пример представления в языке #

Данный фрагмент порождает двух представителей ExplicitVariable. Причем у представителя, соответствующего перем1, метод isExport вернет true:

...
Перем перем1 Экспорт, перем2;
...

ImplicitVariable #

Элемент модели: com._1c.g5.v8.dt.bsl.model.ImplicitVariable

Элемент модели, представляющий собой локальную переменную во встроенном языке, которая не требует специального объявления. Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.model.Variable, com._1c.g5.v8.dt.mcore.Environmental.

Пример представления в языке #

Приведем пример создания представителя ImplicitVariable, соответствующего переменной локальнаяПеременная:

Функция пример()
    локальнаяПеременная = 1;
    Возврат локальнаяПеременная;
КонецФункции

Method #

Элемент модели: com._1c.g5.v8.dt.bsl.model.Method

Элемент модели, представляющий собой пользовательский метод встроенного языка. Данный элемент является родительским для com._1c.g5.v8.dt.bsl.model.Procedure, com._1c.g5.v8.dt.bsl.model.Function. Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.modelPragmaTarget, com._1c.g5.v8.dt.mcore.NamedElement, com._1c.g5.v8.dt.bsl.model.Block.

Методы и атрибуты элемента #

  • isExport() — возвращает true, когда метод экспортируется.
  • setExport() — задает свойство возможности экспорта метода. Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.
  • isUsed() — возвращает true, когда метод не экспортируется, и был найден вызов данного метода в модуле.
  • setUsed() — задает свойство того, что был найден вызов данного метода в модуле.
  • isEvent() — возвращает true, когда метод является обработчиком события модуля.
  • setEvent() — задает свойство того, что метод является обработчиком события модуля.
  • isAsync() — возвращает true, когда метод является асинхронным.
  • setAsync() — задает свойство асинхронности метода. Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.
  • getFormalParam() — возвращает все объекты типа com._1c.g5.v8.dt.bsl.model.FormalParam. Возвращаемые элементы соответствуют объявленным параметрам методов. Внешние пользователи не должны изменять элементы в данной коллекции.

Procedure #

Элемент модели: com._1c.g5.v8.dt.bsl.model.Procedure

Элемент модели, представляющий собой процедуру, объявленную в модуле встроенного языка. Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.model.Method.

Пример представления в языке #

Процедура пример(параметр)
    //код процедуры
КонецПроцедуры

Function #

Элемент модели: com._1c.g5.v8.dt.bsl.model.Function

Элемент модели, представляющий собой функцию, объявленную в модуле встроенного языка. Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.model.Method.

Пример представления в языке #

Функция пример(параметр)
    //код функции
КонецФункции

FormalParam #

Элемент модели: com._1c.g5.v8.dt.bsl.model.FormalParam

Элемент модели, представляющий собой параметр пользовательского метода. Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.mcore.Variable.

Методы и атрибуты элемента #

  • isByValue() — возвращает true, если описание параметра начинается со служебного слова Знач (Val). Говорит о том, как передается параметр в метод: по значению или по ссылке.
  • setByValue() — задает свойство того, как передается параметр в метод.  Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.
  • getDefaultValue() — возвращает объект типа com._1c.g5.v8.dt.mcore.Literal, который был использован как значение по умолчанию для параметра.
  • setDefaultValue() — задает свойство значения по умолчанию для параметра метода. Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.

Пример представления в языке #

Пример кода, когда isByValue() вернет true:

Процедура пример(Знач параметр)
    //код процедуры
КонецПроцедуры

Пример кода, когда getDefaultValue() вернет конкретное значение:

Процедура пример(параметр = 1)
    //код процедуры

КонецПроцедуры

Label #

Элемент модели: com._1c.g5.v8.dt.bsl.model.Label

Элемент модели, представляющий собой метку во встроенном языке. Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.mcore.NamedElement.

Пример представления в языке #

Приведем пример создания представителя объекта модели Label, который будет содержать в себе имя метки — ИмяМетки:

...
~ИмяМетки : переменная = 1
...

Statement #

Элемент модели: com._1c.g5.v8.dt.bsl.model.Statement

Элемент модели, от которого унаследованы все операторы встроенного языка.

LabeledStatement #

Элемент модели: com._1c.g5.v8.dt.bsl.model.LabeledStatement

Элемент модели, представляющий собой оператор метки перехода. Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.model.Statement.

Методы и атрибуты элемента #

  • getLabels() — возвращает все объекты типа com._1c.g5.v8.dt.bsl.model.Label, которые указаны в операторе. Внешние пользователи не должны изменять элементы в данной коллекции.
  • getStatement() — возвращает объект типа com._1c.g5.v8.dt.bsl.model.UnlabeledStatement, на который указывает метка.
  • setStatement() — задание оператора, на который указывает метка. Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.

Пример представления в языке #

В данном примере будет создан объект LabeledStatement, у которого метод getLabel() вернет коллекцию с одним элементом типа com._1c.g5.v8.dt.bsl.model.Label, а метод getStatement() вернет объект типа com._1c.g5.v8.dt.bsl.model.Statement, соответствующий оператору переменная = 1:

...
~ИмяМетки : переменная = 1;
...

UnlabeledStatement #

Элемент модели: com._1c.g5.v8.dt.bsl.model.UnlabeledStatement

Элемент модели, от которого унаследованы все операторы встроенного языка, кроме com._1c.g5.v8.dt.bsl.model.LabeledStatement. Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.model.Statement.

SimpleStatement #

Элемент модели: com._1c.g5.v8.dt.bsl.model.SimpleStatement

Элемент модели, представляющий собой оператор присваивания (или его редуцированный случай, не имеющий правой части). Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.model.UnlabeledStatement.

Методы и атрибуты элемента #

  • getLeft() — возвращает объект типа com._1c.g5.v8.dt.bsl.model.Expression, который располагается в левой части оператора присваивания.
  • setLeft() — задание выражения левой части оператора присваивания. Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.
  • getRight() — возвращает объект типа com._1c.g5.v8.dt.bsl.model.Expression, который располагается в правой части оператора присваивания (если правой части нет, то просто вернет null).
  • setRight() — задание выражения правой части оператора присваивания. Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.

Пример представления в языке #

...
переменная = 1;
...

getLeft() — вернет выражение (com._1c.g5.v8.dt.bsl.model.Expression), соответствующее переменная.

getRight() — вернет выражение (com._1c.g5.v8.dt.bsl.model.Expression), соответствующее 1.

IfStatement #

Элемент модели: com._1c.g5.v8.dt.bsl.model.IfStatement

Элемент модели, представляющий собой условный оператор встроенного языка. Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.model.UnlabeledStatement.

Методы и атрибуты элемента #

  • getIfPart() — возвращает объект типа com._1c.g5.v8.dt.bsl.model.Condition, который соответствует главной части условного оператора (Если <Логическое выражение> Тогда).
  • setIfPart() — задание главной части условного оператора.Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.
  • getElsIfParts() — возвращает коллекцию объектов типа com._1c.g5.v8.dt.bsl.model.Condition, которые соответствуют частям вида ИначеЕсли <Логическое выражение> Тогда. Внешние пользователи не должны изменять элементы в данной коллекции.
  • getElseStatements() — возвращает объекты типа com._1c.g5.v8.dt.bsl.model.Statement, которые соответствуют операторам, которые располагаются в части Иначе условного оператора. Внешние пользователи не должны изменять элементы в данной коллекции.

Conditional #

Элемент модели: com._1c.g5.v8.dt.bsl.model.Conditional

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

Методы и атрибуты элемента #

  • getPredicate() — возвращает объект типа com._1c.g5.v8.dt.bsl.model.Expression, который соответствует условию в главной части условного оператора (Если <Логическое выражение> Тогда) и частям, соответствующим ИначеЕсли <Логическое выражение> Тогда.
  • setPredicate() — задание выражения, соответствующего логическому выражению в условном операторе встроенного языка. Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.
  • getStatements() — возвращает объекты типа com._1c.g5.v8.dt.bsl.model.Statement, которые соответствуют операторам, которые располагаются в части после ключевого слова Тогда условного оператора. Внешние пользователи не должны изменять элементы в данной коллекции.

Пример представления в языке #

...
Если переменная1 < переменная2 Тогда
    переменная1 = 0;
ИначеЕсли переменная1 = переменная2 Тогда
    переменная1 = переменная2;
Иначе
    переменная2 = 0;
КонецЕсли;
...

В данном примере будут созданы два элемента Conditional. Первый будет соответствовать части Если переменная1 < переменная2 Тогда переменная1 = 0;, а второй — части ИначеЕсли переменная1 = переменная2 Тогда переменная1 = переменная2;.

LoopStatement #

Элемент модели: com._1c.g5.v8.dt.bsl.model.LoopStatement

Элемент модели, от которого унаследованы все операторы цикла встроенного языка. Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.model.UnlabeledStatement.

Методы и атрибуты элемента #

  • getStatements() — возвращает объекты типа com._1c.g5.v8.dt.bsl.model.Statement, которые соответствуют операторам, которые располагаются внутри оператора цикла. Внешние пользователи не должны изменять элементы в данной коллекции.

WhileStatement #

Элемент модели: com._1c.g5.v8.dt.bsl.model.WhileStatement

Элемент модели, представляющий собой оператор встроенного языка Пока <Логическое условие> Цикл. Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.model.LoopStatement.

Методы и атрибуты элемента #

  • getPredicate() — возвращает объект типа com._1c.g5.v8.dt.bsl.model.Expression, который соответствует условию в данном операторе.
  • setPredicate() — задание выражения, соответствующего логическому выражению в данном операторе встроенного языка. Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.

Пример представления в языке #

...
Пока (переменная1 < переменная2) Цикл
    //операторы
КонецЦикла;
...

getPredicate() — вернет выражение, соответствующее (переменная1 < переменная2).

ForStatement #

Элемент модели: com._1c.g5.v8.dt.bsl.model.ForStatement

Элемент модели, от которого унаследованы все циклические операторы Для встроенного языка. Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.model.LoopStatement.

Методы и атрибуты элемента #

  • getVariableAccess() — возвращает объект типа com._1c.g5.v8.dt.bsl.model.StaticFeatureAccess, который соответствует переменной, изменяющейся в цикле.
  • setVariableAccess() — задает значение переменной, изменяющейся в цикле. Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.

ForToStatement #

Элемент модели: com._1c.g5.v8.dt.bsl.model.ForToStatement

Элемент модели, соответствующий оператору Для ... Цикл встроенного языка. Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.model.ForStatement.

Методы и атрибуты элемента #

  • getInitializer() — возвращает объект типа com._1c.g5.v8.dt.bsl.model.Expression, который соответствует начальному значению изменяющейся переменой.
  • setInitializer() — задает начальное значение переменной, изменяющейся в цикле. Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.
  • getBound() — возвращает объект типа com._1c.g5.v8.dt.bsl.model.Expression, который соответствует конечному значению изменяющейся переменой.
  • setBound() — задает конечное значение переменной, изменяющейся в цикле. Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.

Пример представления в языке #

...
Для счетчик = 1 По 5 Цикл
    //операторы
КонецЦикла;
...

getInitializer() — вернет выражение, соответствующее 1.

getBound() — вернет выражение, соответствующее 5.

ForEachStatement #

Элемент модели: com._1c.g5.v8.dt.bsl.model.ForEachStatement

Элемент модели, соответствующий оператору Для Каждого ... Цикл встроенного языка. Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.model.ForStatement.

Методы и атрибуты элемента #

  • getCollection() — возвращает объект типа com._1c.g5.v8.dt.bsl.model.Expression, который соответствует коллекции, по которой итерируется изменяющаяся переменная.
  • setCollection() — задает коллекцию, по которой итерируется переменная, изменяющаяся в цикле. Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.

Пример представления в языке #

...
Для Каждого счетчик Из Коллекция Цикл
    //операторы
КонецЦикла;
...

getCollection() — вернет выражение, соответствующее Коллекция.

TryExceptStatement #

Элемент модели: com._1c.g5.v8.dt.bsl.model.TryExceptStatement

Элемент модели, соответствующий оператору Попытка Исключение. Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.model.UnlabeledStatement.

Методы и атрибуты элемента #

  • getTryStatements() — возвращает объекты типа com._1c.g5.v8.dt.bsl.model.Statement, которые соответствуют операторам, которые располагаются внутри секции Попытка. Внешние пользователи не должны изменять элементы в данной коллекции.
  • getExceptStatement() — возвращает объекты типа com._1c.g5.v8.dt.bsl.model.Statement, которые соответствуют операторам, которые располагаются внутри секции Обработки. Внешние пользователи не должны изменять элементы в данной коллекции.

AwaitStatement #

Элемент модели: com._1c.g5.v8.dt.bsl.model.AwaitStatement

Элемент модели, соответствующий оператору Ждать. Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.model.UnlabeledStatement. Может использоваться только в асинхронных методах.

Методы и атрибуты элемента #

  • getExpression() — возвращает объекты типа com._1c.g5.v8.dt.bsl.model.Expression, которые соответствует ожидаемому выражению.
  • setExpression() — задает выражение типа com._1c.g5.v8.dt.bsl.model.Expression, вычисления которого необходимо дождаться. Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.

Пример представления в языке #

...
Ждать вызовАсинхронногоМетода();
...

GotoStatement #

Элемент модели: com._1c.g5.v8.dt.bsl.model.GotoStatement

Элемент модели, соответствующий оператору Перейти. Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.model.UnlabeledStatement.

Методы и атрибуты элемента #

  • getLabel() — возвращает объект типа com._1c.g5.v8.dt.bsl.model.Label, который соответствует метке перехода.
  • setLabel() — задает метку перехода. Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.

Пример представления в языке #

...
Перейти ~ИмяМетки;
...

getLabel() — вернет объект, соответствующий ~ИмяМетки.

BreakStatement #

Элемент модели: com._1c.g5.v8.dt.bsl.model.BreakStatement

Элемент модели, соответствующий оператору Прервать. Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.model.UnlabeledStatement.

ContinueStatement #

Элемент модели: com._1c.g5.v8.dt.bsl.model.ContinueStatement

Элемент модели, соответствующий оператору Продолжить. Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.model.UnlabeledStatement

ReturnStatement #

Элемент модели: com._1c.g5.v8.dt.bsl.model.ReturnStatement

Элемент модели, соответствующий оператору Возврат. Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.model.UnlabeledStatement.

Методы и атрибуты элемента #

  • getExpression() — возвращает объект типа com._1c.g5.v8.dt.bsl.model.Expression, который соответствует возвращаемому объекту.
  • setExpression() — задает возвращаемый объект. Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.

Пример представления в языке #

...
Возврат 1;
...

getExpression() — вернет объект, соответствующий 1.

RaiseStatement #

Элемент модели: com._1c.g5.v8.dt.bsl.model.RaiseStatement

Элемент модели, соответствующий оператору ВызватьИсключение. Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.model.UnlabeledStatement.

Методы и атрибуты элемента #

  • getExpression() — возвращает объект типа com._1c.g5.v8.dt.bsl.model.Expression, который соответствует выбрасываемому исключению.
  • setExpression() — задает объект, соответствующий выбрасываемому исключению. Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.

Пример представления в языке #

...
ВызватьИсключение `Текст исключения`.
...

getExpression() — вернет объект, соответствующий Текст исключения.

ExecuteStatement #

Элемент модели: com._1c.g5.v8.dt.bsl.model.ExecuteStatement

Элемент модели, соответствующий оператору Выполнить. Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.model.UnlabeledStatement.

Методы и атрибуты элемента #

  • getExpression() — возвращает объект типа com._1c.g5.v8.dt.bsl.model.Expression, который соответствует выполняемому выражению.
  • setExpression() — задает объект, соответствующий выполняемому выражению. Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.

Пример представления в языке #

...
Выполнить действие;
...

getExpression() — вернет объект, соответствующий действие.

EventHandlerStatement #

Элемент модели: com._1c.g5.v8.dt.bsl.model.EventHandlerStatement

Элемент модели, от которого унаследованы все операторы для работы с событиями модуля и их обработчиками. Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.model.UnlabeledStatement.

Методы и атрибуты элемента #

  • getEventExpression() — возвращает объект типа com._1c.g5.v8.dt.bsl.model.Expression, который соответствует выражению события.
  • setEventExpression() — задает объект, соответствующий выражению событию. Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.
  • getHandlerExpression() — возвращает объект типа com._1c.g5.v8.dt.bsl.model.Expression, который соответствует выражению обработчика события.
  • setHandlerExpression() — задает объект, соответствующий выражению обработчика события. Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.

AddHandlerStatement #

Элемент модели: com._1c.g5.v8.dt.bsl.model.AddHandlerStatement

Элемент модели, соответствующий оператору ДобавитьОбработчик. Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.model.EventHandlerStatement.

RemoveHandlerStatement #

Элемент модели: com._1c.g5.v8.dt.bsl.model.RemoveHandlerStatement

Элемент модели, соответствующий оператору УдалитьОбработчик. Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.model.EventHandlerStatement.

Expression #

Элемент модели: com._1c.g5.v8.dt.bsl.model.Expression

Элемент модели, от которого унаследованы все выражения встроенного языка.

BinaryExpression #

Элемент модели: com._1c.g5.v8.dt.bsl.model.BinaryExpression

Элемент модели, соответствующий бинарному выражению. Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.model.Expression.

Методы и атрибуты элемента #

  • getOperation() — возвращает объект типа com._1c.g5.v8.dt.bsl.model.BinaryOperation, который соответствует типу бинарного выражения.
  • setOperation() — задает объект, соответствующий типу бинарного выражения. Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.
  • getLeft() — возвращает объект типа com._1c.g5.v8.dt.bsl.model.Expression, который соответствует левой части бинарного выражения.
  • setLeft() — задает объект, соответствующий левой части бинарного выражения. Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.
  • getRight() — возвращает объект типа com._1c.g5.v8.dt.bsl.model.Expression, который соответствует правой части бинарного выражения.
  • setRight() — задает объект, соответствующий правой части бинарного выражения. Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.

Пример представления в языке #

...
переменная = 1 + 2;
...

Бинарное выражение — 1 + 2.

getOperation() — вернет тип бинарного выражения, соответствующего +.

getLeft() — вернет выражение, соответствующее 1.

getRight() — вернет выражение, соответствующее 2.

BinaryOperation #

Элемент модели: com._1c.g5.v8.dt.bsl.model.BinaryOperation

Элемент модели, соответствующий типу бинарного выражения.

Методы и атрибуты элемента #

  • ORe1 OR e2
  • ANDe1 AND e2
  • LTe1 < e2
  • LEe1 <= e2
  • EQe1 = e2
  • GEe1 >= e2
  • GTe1 > e2
  • NEe1 <> e2
  • PLUSe1 + e2
  • MINUSe1 - e2
  • MULTIPLYe1 * e2
  • DIVIDEe1 / e2
  • MODULOe1 % e2

UnaryExpression #

Элемент модели: com._1c.g5.v8.dt.bsl.model.UnaryExpression

Элемент модели, соответствующий унарному выражению. Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.model.Expression.

Методы и атрибуты элемента #

  • getOperation() — возвращает объект типа com._1c.g5.v8.dt.bsl.model.UnaryOperation, который соответствует типу унарного выражения.
  • setOperation() — задает объект, соответствующий типу унарного выражения. Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.
  • getOperand() — возвращает объект типа com._1c.g5.v8.dt.bsl.model.Expression, который соответствует операнду унарного выражения.
  • setOperand() — задает объект, соответствующий операнду унарного выражения. Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.

Пример представления в языке #

...
переменная = -2;
...

Унарное выражение — -2.

getOperation() — вернет тип унарного выражения, соответствующего -.

getOperand() — вернет выражение, соответствующее 2.

UnaryOperation #

Элемент модели: com._1c.g5.v8.dt.bsl.model.UnaryOperation

Элемент модели, соответствующий типу унарного выражения.

Методы и атрибуты элемента #

  • NOT — NOT e
  • MINUS — -e
  • PLUS — +e

FeatureAccess #

Элемент модели: com._1c.g5.v8.dt.bsl.model.FeatureAccess

Элемент модели, от которого унаследованы все именованные выражения. Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.model.Expression.

Методы и атрибуты элемента #

  • getName() — возвращает значение имени для именного выражения.
  • setName() — задает значение имени для именного выражения. Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.

Пример представления в языке #

...
переменная = Справочники.Товары;
...

В данном примере 3 именованных выражения:

  • переменнаяcom._1c.g5.v8.dt.bsl.model.StaticFeatureAccess,
  • Справочникиcom._1c.g5.v8.dt.bsl.model.StaticFeatureAccess,
  • Товарыcom._1c.g5.v8.dt.bsl.model.DynamicFeatureAccess.

StaticFeatureAccess #

Элемент модели: com._1c.g5.v8.dt.bsl.model.StaticFeatureAccess

Элемент модели, соответствующий именному выражению, к которому обращаются не через “точку”.  Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.model.FeatureAccess.

Методы и атрибуты элемента #

  • getImplicitVariable() — возвращает объект типа com._1c.g5.v8.dt.bsl.model.ImplicitVariable, если данный элемент порождает локальную переменную.
  • setImplicitVariable() — задает значение локальной переменной, связанной с этим выражением. Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.
  • getFeatureEntry() — возвращает объекты типа com._1c.g5.v8.dt.bsl.model.FeatureEntry. Внешние пользователи не должны изменять элементы в данной коллекции.

FeatureEntry #

Элемент модели: com._1c.g5.v8.dt.bsl.model.FeatureEntry

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

Методы и атрибуты элемента #

  • getEnvironments() — возвращает объект com._1c.g5.v8.dt.mcore.Environments, который указывает, для какого типа окружения создан данный объект.
  • setEnvironments() — задает объект com._1c.g5.v8.dt.mcore.Environments, который указывает, для какого типа окружения создан данный объект.
  • getFeature() — возвращает объект, с которым связан данный элемент модели.
  • setFeature() — задает объект, с которым связан данный элемент модели.

DynamicFeatureAccess #

Элемент модели: com._1c.g5.v8.dt.bsl.model.DynamicFeatureAccess

Элемент модели, соответствующий именному выражению, к которому обращаются через “точку”.  Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.model.FeatureAccess.

Методы и атрибуты элемента #

  • getSource() — возвращает объект, который стоит перед данным до “точки”.
  • setSource() — задает объект, который стоит перед данным до “точки”.Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.
  • getFeatureEntry() — возвращает объекты типа com._1c.g5.v8.dt.bsl.model.FeatureEntry. Внешние пользователи не должны изменять элементы в данной коллекции.

Invocation #

Элемент модели: com._1c.g5.v8.dt.bsl.model.Invocation

Элемент модели, соответствующий именному выражению, которому передают набор параметров.  Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.model.Expression.

Методы и атрибуты элемента #

  • getMethodAccess() — возвращает объект типа com._1c.g5.v8.dt.bsl.model.FeatureAccess, которому передаются параметры.
  • setMethodAccess() — задает объект, которому передаются параметры.Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.
  • getParams() — возвращает объекты типа com._1c.g5.v8.dt.bsl.model.Expression, которые и являются передаваемыми параметрами. Внешние пользователи не должны изменять элементы в данной коллекции.
  • isServerCall() — возвращает true, если происходит вызов серверного метода из клиентского кода.
  • setServerCall() — указывает на то, происходит или нет вызов серверного метода из клиентского кода.

Пример представления в языке #

...
переменная = метод(1, "2");
...

метод(1, "2")com._1c.g5.v8.dt.bsl.model.Invocation.

методgetMethodAccess().

1, "2"getParams().

IndexAccess #

Элемент модели: com._1c.g5.v8.dt.bsl.model.IndexAccess

Элемент модели, соответствующий выражению, к которому обращаются через оператор [].  Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.model.Expression.

Методы и атрибуты элемента #

  • getSource() — возвращает объект, который стоит перед оператором [].
  • setSource() — задает объект, который стоит перед оператором [].Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.
  • getIndex() — возвращает объект типа com._1c.g5.v8.dt.bsl.model.Expression, который стоит внутри оператора [].
  • setIndex() — задает выражение, которое стоит в операторе []. Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.

Пример представления в языке #

...
переменная = Справочник["Товары"];
...

Справочник["Товары"]com._1c.g5.v8.dt.bsl.model.IndexAccess.

СправочникgetSource().

"Товары"getIndex().

OperatorStyleCreator #

Элемент модели: com._1c.g5.v8.dt.bsl.model.OperatorStyleCreator

Элемент модели, соответствующий конструктору операторного типа. Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.model.Expression.

Методы и атрибуты элемента #

  • getType() — возвращает объект типа com._1c.g5.v8.dt.mcore.TypeItem — это реальный тип, на который указывает конструктор.
  • setType() — задает реальный тип, на который указывает конструктор. Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.
  • getParams() — возвращает объекты типа com._1c.g5.v8.dt.bsl.model.Expression, которые являются параметрами конструктора. Внешние пользователи не должны изменять элементы в данной коллекции.

Пример представления в языке #

...
переменная = Новый Массив(1, 2, 3);
...
  • Новый Массив(1, 2, 3) — com._1c.g5.v8.dt.bsl.model.OperatorStyleCreator.
  • Массив — имя реального типа, который вернет getType().
  • 1, 2, 3getParams().

FunctionStyleCreator #

Элемент модели: com._1c.g5.v8.dt.bsl.model.FunctionStyleCreator

Элемент модели, соответствующий конструктору функционального типа. Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.model.Expression.

Методы и атрибуты элемента #

  • getTypeNameExpression() — возвращает объект типа com._1c.g5.v8.dt.bsl.model.Expression, который является именем создаваемого типа.
  • setTypeNameExpression() — задает выражение, которое является именем создаваемого типа. Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.
  • getParamExpression() — возвращает объект типа com._1c.g5.v8.dt.bsl.model.Expression, который является параметром конструктора.
  • setParamExpression() — задает объект, который является параметром конструктора. Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.

Пример представления в языке #

...
переменная = Новый ("Массив", 2);
...
  • Новый ("Массив", 2)com._1c.g5.v8.dt.bsl.model.FunctionStyleCreator.
  • "Массив" — выражение, которое вернет getTypeNameExpression().
  • 2 — выражение, которое вернет getParamExpression().

Literal #

Элемент модели: com._1c.g5.v8.dt.bsl.model.Literal

Элемент модели, от которого унаследованы все литеральные выражения встроенного языка. Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.model.Expression.

NullLiteral #

Элемент модели: com._1c.g5.v8.dt.bsl.model.NullLiteral

Элемент модели, соответствующий литералу “Null”. Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.model.Literal.

Пример представления в языке #

...
переменная = Null;
...

Null - com._1c.g5.v8.dt.bsl.model.NullLiteral

UndefinedLiteral #

Элемент модели: com._1c.g5.v8.dt.bsl.model.UndefinedLiteral

Элемент модели, соответствующий литералу Неопределено. Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.model.Literal.

Пример представления в языке #

...
переменная = Неопределено;
...

“Неопределено” — com._1c.g5.v8.dt.bsl.model.UndefinedLiteral.

BooleanLiteral #

Элемент модели: com._1c.g5.v8.dt.bsl.model.BooleanLiteral

Элемент модели, соответствующий литералу Истина и Ложь. Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.model.Literal.

Методы и атрибуты элемента #

  • isIsTrue() — вернет истину, когда записано значение Истина.
  • setIsTrue() — задает значение литерала. Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.

Пример представления в языке #

...
переменная = Истина;
...

Истинаcom._1c.g5.v8.dt.bsl.model.BooleanLiteral.

NumberLiteral #

Элемент модели: com._1c.g5.v8.dt.bsl.model.NumberLiteral

Элемент модели, соответствующий числовому литералу. Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.model.Literal.

Методы и атрибуты элемента #

  • getValue() — возвращает набор строк, которые были записаны при написании числа. Внешние пользователи не должны изменять элементы в данной коллекции.

DateLiteral #

Элемент модели: com._1c.g5.v8.dt.bsl.model.DateLiteral

Элемент модели, соответствующий литералу типа дата. Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.model.Literal.

Методы и атрибуты элемента #

  • getValue() — возвращает строку, которая была записана при написании даты. Внешние пользователи не должны изменять элементы в данной коллекции.

StringLiteral #

Элемент модели: com._1c.g5.v8.dt.bsl.model.StringLiteral

Элемент модели, соответствующий литералу типа строка. Данный элемент унаследовал все свойства и методы от com._1c.g5.v8.dt.bsl.model.Literal.

Методы и атрибуты элемента #

  • getValue() — возвращает набор строк, которые были записаны при написании строкового литерала. Внешние пользователи не должны изменять элементы в данной коллекции.

AwaitExpression #

Элемент модели: com._1c.g5.v8.dt.bsl.model.AwaitExpression

Элемент модели, соответствующий ожиданию асинхронного вычисления.

Методы и атрибуты элемента #

  • getExpression() — возвращает выражение, вычисление которого необходимо дождаться.
  • setExpression() — задает выражение, вычисление которого необходимо дождаться. Внешние пользователи не должны изменять элементы в данной коллекции.

Материалы #