Шаблон реализации вывода данных в MS Word в Dynamics AX
Рассмотрим реализацию вывода данных в MS Word на основе класса ComWordDocument_RU в Dynamics AX 2012.Разберемся на примере простого документа, такого как расписка, в котором выводятся номер акта, его дата, сумма и т. п.
Для начала создадим шаблон в MS Word для печати документа:
После того как постоянный текст расписки готов необходимо дать имена «закладкам». Это нужно для того, чтобы понимать, в какую часть документа нужно вывести те или иные данные из Dynamics AX.
Для этого выделяем определенную область документа и нажимаем кнопку Вставка->Ссылки->Закладка. Далее в открывшемся окне прописываем новое имя закладки и нажимаем кнопку Добавить.
Мы добавили несколько закладок в документ.
Теперь необходимо добавить созданный шаблон в AOT\Resources. Назовём новый элемент TutorialNettingAct.
Теперь можно перейти непосредственно к части, которая относится к коду X++.
Ниже представлен листинг джоба, в котором выполняется печать документа.
static void Job_TutorialNettingAct(Args _args) { FileName template; Com applCom; ComWordDocument_RU wordDoc; str docNum, contragent, amountStr; TransDate docDate; Amount amount; ; template = AOTResourceTemplateProvider_RU::construct().get(resourceStr(TutorialNettingAct)); try { wordDoc = new ComWordDocument_RU(); wordDoc.newFile(template, true); applCom = wordDoc.getApplication(); applCom.displayAlerts(false); wordDoc.insertValue('DocNum', docNum); wordDoc.insertValue('DocDate', docDate); wordDoc.insertValue('Contragent', contragent); wordDoc.insertValue('Amount', amount); wordDoc.insertValue('AmountStr', amountStr); } catch { error('Ошибка при создании документа'); if (wordDoc) { wordDoc.quitApplication(); wordDoc.finalize(); wordDoc = null; } } if (applCom) { applCom = null; } }
Как мы видим вывод данных в MS Word по средствам стандартного класса ComWordDocument_RU является простым и эффективным способом.
Comments
So empty here ... leave a comment!