Модель встроенного языка #
Описание модели встроенного языка платформы “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
Элемент модели, соответствующий типу бинарного выражения.
Методы и атрибуты элемента #
OR
—e1 OR e2
AND
—e1 AND e2
LT
—e1 < e2
LE
—e1 <= e2
EQ
—e1 = e2
GE
—e1 >= e2
GT
—e1 > e2
NE
—e1 <> e2
PLUS
—e1 + e2
MINUS
—e1 - e2
MULTIPLY
—e1 * e2
DIVIDE
—e1 / e2
MODULO
—e1 % 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 eMINUS
— -ePLUS
— +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, 3
—getParams()
.
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()
— задает выражение, вычисление которого необходимо дождаться. Внешние пользователи не должны изменять элементы в данной коллекции.