DEFINEMACROS — различия между версиями
Материал из GB wiki
Alexey (обсуждение | вклад) |
Alexey (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
{{Функция ГБ | {{Функция ГБ | ||
|Название=DEFINEMACROS | |Название=DEFINEMACROS | ||
− | |Описание=Функция предназначена для более компактной записи кода. Позволяет определить макрос, который представляет собой последовательность операторов, и в дальнейшем использовать его, указывая только его имя. | + | |Описание=Функция предназначена для более компактной записи кода. Позволяет определить макрос, который представляет собой последовательность операторов, и в дальнейшем использовать его, указывая только его имя. |
− | |Синтаксис=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()