Модель встроенного языка #
Описание модели встроенного языка платформы “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
для данного типа модуля. Внешним пользователем не следует изменять значения, возвращаемые данным методом. -
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
, который содержит в себе описание всех экспортируемых методов и атрибутов модуля. Внешние пользователи не должны изменять элементы в данной коллекции. -
Только модули формы и команды имеют предопределенный набор значений, возвращаемых методом
getDefaultPragmas()
. Данный набор содержит в себе 1 элемент, в который включается директива компиляции “НаСервере”
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
- соответствует модулям веб-сервисов
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()
- задание свойства возможности экспорта переменной. Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.
Пример представления в языке #
...
Перем перем1 Экспорт, перем2;
...
данный фрагмент порождает двух представителей ExplicitVariable. Причем, у представителя, соответствующего “перем1”, метод “isExport” вернет “true”
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;
Возврат локальнаяПеременная;
КонецФункции
В этом примере будет создан представитель ImplicitVariable, соответсвующего “локальнаяПеременная”
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()
- задание свойства, что метод является обработчиком события модуля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
Пример представления в языке #
Приведем пример создания представителей данного элемента модели
...
~ИмяМетки : переменная = 1
...
В данном примере, будет создан представитель объекта модели Label, который будет в себе содержать имя метки - “ИмяМетки”
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()
- задание оператора, на который указывает метка. Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.
Пример представления в языке #
...
~ИмяМетки : переменная = 1;
...
в данном примере будет создан объект LabeledStatement, у которого метод getLabel()
вернет коллекцию с одним элементом, в которой будет элемент типа com._1c.g5.v8.dt.bsl.model.Label
. А метод getStatement()
вернет объект типа com._1c.g5.v8.dt.bsl.model.Statement
, соответсвующий оператору “переменная = 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
, которые соответствуют операторам, которые располагаются внутри секции “Обработки”. Внешние пользователи не должны изменять элементы в данной коллекции.
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.BinaryOperation
, который соответствует типу бинарного выражения.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()
- возвращает набор строк, которые были записаны при написания строкового литерала. Внешние пользователи не должны изменять элементы в данной коллекции.
4.Материалы #
http://www.eclipse.org/modeling/emf/docs/