Модель встроенного языка #
Описание модели встроенного языка платформы “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 e2AND—e1 AND e2LT—e1 < e2LE—e1 <= e2EQ—e1 = e2GE—e1 >= e2GT—e1 > e2NE—e1 <> e2PLUS—e1 + e2MINUS—e1 - e2MULTIPLY—e1 * e2DIVIDE—e1 / e2MODULO—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()— задает выражение, вычисление которого необходимо дождаться. Внешние пользователи не должны изменять элементы в данной коллекции.