Система: макросы 2
[id:003]
Создай новый проект «Blog3» с двумя группами в нем: «Macros» и «Jobs». В них создай макрос "BLG3_SelectInventTable" и джоб "BLG3_Job" в соответствующих папках.
Мы будем выводить несколько полей (идентификатор группы и идентификатор единицы) для первой попавшейся записи из таблицы InventTable. В ней находиться список номенклатур, с которыми работает наша компания (с теми, что она продает, покупает, владеет).
Итак, введи следующий текст.
Текст для макроса:
select %2 from %1;
print %1.%2;
Текст для джоба:
static void BLG3_Job(Args _args)
{
InventTable inventTable1;
#BLG3_SelectInventTable(inventTable1, ItemGroupId)
#BLG3_SelectInventTable(inventTable1, ItemId)
pause;
}
У меня выдало следующее:
PBA
Ак-бат1
Проанализируем, что сделали. Когда добавили элемент "BLG3_SelectInventTable" в ветке Macros, получилось, что мы создали обособленный макрос с этим именем. Позже в коде мы сможем ссылаться на него вот так: #BLG3_SelectInventTable.
Второе, такой макрос содержит макропараметры, у нас их два - %1 (в нем будет табличная переменная) и %2 (для имени поля в таблице). В тех местах, где находятся такие пары символов будет подставлено то, что указано в скобках вызова макроса при его использовании. То есть, после компиляции текст джоба будет выглядеть так:
static void BLG3_Job(Args _args)
{
InventTable inventTable1;
select ItemGroupId from inventTable1;
print inventTable1.ItemGroupId;
select ItemId from inventTable1;
print inventTable1.ItemId;
pause;
}
Тот макрос, что был нами создан называется «stand-alone macro», по русски — «Стоят девчонки, стоят в сторонке, платочки в руках теребя». Или просто «автономный макрос».
1 комментарий:
очень доходчиво объясняете про аксапту, у вас прямо талант преподавателем быть
Отправить комментарий