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

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

Описание модели встроенного языка платформы “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() — задаёт свойство возможности экспорта переменной. Внешние пользователи не должны использовать данный метод, так как заполнение происходит автоматически.

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

...
Перем перем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() — задание свойства, что метод является обработчиком события модуля.
  • 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.

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

Приведем пример создания представителей данного элемента модели:

...
~ИмяМетки : переменная = 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, которые соответствуют операторам, которые располагаются внутри секции “Обработки”. Внешние пользователи не должны изменять элементы в данной коллекции.

AwaitStatement #

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

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

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

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

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

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

GotoStatement #

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

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

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

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

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

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

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

BreakStatement #

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

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

ContinueStatement #

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

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

ReturnStatement #

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

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

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

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

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

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

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

RaiseStatement #

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

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

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

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

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

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

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

ExecuteStatement #

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

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

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

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

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

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

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

EventHandlerStatement #

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

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

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

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

AddHandlerStatement #

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

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

RemoveHandlerStatement #

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

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

Expression #

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

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

BinaryExpression #

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

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

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

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

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

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

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

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

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

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

BinaryOperation #

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

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

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

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

UnaryExpression #

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

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

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

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

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

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

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

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

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

UnaryOperation #

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

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

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

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

FeatureAccess #

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

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

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

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

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

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

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

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

StaticFeatureAccess #

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

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

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

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

FeatureEntry #

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

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

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

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

DynamicFeatureAccess #

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

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

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

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

Invocation #

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

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

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

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

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

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

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

“метод” — getMethodAccess().

1, “2” — getParams().

IndexAccess #

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

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

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

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

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

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

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

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

“Товары” — getIndex().

OperatorStyleCreator #

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

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

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

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

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

...
переменная = Новый Массив(1, 2, 3);
...
"Новый Массив(1, 2, 3)" — com._1c.g5.v8.dt.bsl.model.OperatorStyleCreator

"Массив" — имя реального типа, который вернет `getType()`

“1, 2, 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() — задает выражение, вычисление которого необходимо дождаться. Внешние пользователи не должны изменять элементы в данной коллекции.

4.Материалы #