DEFINEMACROS — различия между версиями

Материал из GB wiki
Перейти к: навигация, поиск
Строка 1: Строка 1:
 
{{Функция ГБ
 
{{Функция ГБ
 
|Название=DEFINEMACROS
 
|Название=DEFINEMACROS
|Описание=Функция предназначена для более компактной записи кода. Позволяет определить макрос, который представляет собой последовательность операторов, и в дальнейшем использовать его, указывая только его имя. Параметры макроса доступны в его теле в переменных MacrosParam1 (2,3 и т.д.)
+
|Описание=Функция предназначена для более компактной записи кода. Позволяет определить макрос, который представляет собой последовательность операторов, и в дальнейшем использовать его, указывая только его имя.
|Синтаксис=DEFINEMACROS ('''Имя макроса''','''Текст макроса''')
+
<br>В макрос можно передавать данные для обработки. Данные передаются через параметры макроса, которые доступны в его теле двумя способами:
 +
* в стандартных переменных ''':MacrosParam1''', ''':MacrosParam2''' (3, 4 и т.д.);
 +
* в именованых параметрах, которые указываются после имени макроса ''(доступно, начиная с версии ГБ 1.9.0.9)''.
 +
|Синтаксис=DEFINEMACROS ('''Имя макроса'''(параметры),'''Текст макроса''')
 
|Аргументы=
 
|Аргументы=
 
{{Аргумент
 
{{Аргумент
 
  |Название=Имя макроса
 
  |Название=Имя макроса
 
  |Пояснение=строка, которая в дальнейшем будет использована для вызова макроса.
 
  |Пояснение=строка, которая в дальнейшем будет использована для вызова макроса.
 +
: После имени макроса в скобках можно указать имена ''параметров'', которые получает данный макрос. Указание параметров необязательно.
 
}}<br/>{{Аргумент
 
}}<br/>{{Аргумент
 
  |Название=Текст макроса
 
  |Название=Текст макроса
Строка 12: Строка 16:
 
}}
 
}}
 
|Пример=Пример 1.
 
|Пример=Пример 1.
  DefineMacros("SetTypePartnerKind", "Assign('DataSet.DocType',23), Assign('DataSet.Partner',100), Assign('DataSet.Kind',704)")
+
  DefineMacros(
 
+
  "SetTypePartnerKind",
 +
  "Assign('DataSet.DocType',23), Assign('DataSet.Partner',100), Assign('DataSet.Kind',704)"
 +
)
 
Вызов такого макроса:
 
Вызов такого макроса:
 
  SetTypePartnerKind()
 
  SetTypePartnerKind()
 
}}
 
}}

Версия 08:22, 5 июня 2015

Функция предназначена для более компактной записи кода. Позволяет определить макрос, который представляет собой последовательность операторов, и в дальнейшем использовать его, указывая только его имя.
В макрос можно передавать данные для обработки. Данные передаются через параметры макроса, которые доступны в его теле двумя способами:

  • в стандартных переменных :MacrosParam1, :MacrosParam2 (3, 4 и т.д.);
  • в именованых параметрах, которые указываются после имени макроса (доступно, начиная с версии ГБ 1.9.0.9).

Синтаксис

DEFINEMACROS (Имя макроса(параметры),Текст макроса)

Аргументы

Имя макроса
строка, которая в дальнейшем будет использована для вызова макроса.
После имени макроса в скобках можно указать имена параметров, которые получает данный макрос. Указание параметров необязательно.
Текст макроса
строка со скриптом, либо последовательность операторов, заключенных в круглые скобки.

Тип результата

Нет

Примеры

Пример 1.

DefineMacros(
  "SetTypePartnerKind",
  "Assign('DataSet.DocType',23), Assign('DataSet.Partner',100), Assign('DataSet.Kind',704)"
)

Вызов такого макроса:

SetTypePartnerKind()