четверг, 19 июля 2007 г.

Система: макросы 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 комментарий:

Дмитрий комментирует...

очень доходчиво объясняете про аксапту, у вас прямо талант преподавателем быть