Инструменты пользователя

Инструменты сайта


miker

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

miker [2018/04/13 22:43] (текущий)
Строка 1: Строка 1:
 +__Класс RunBaseReport__ ​
 +Класс RunBaseReport является наследником класса RunBaseBatch и служит для формирования отчетов в Axapta. В версии 3.0 Axapta ​ был введен новый класс runbaseReportStd. С таким наследством запуск ​ выполнения отчетов возможен и при пакетной обработке. ​
 +Начать ознакомление можно с примера Tutorial_RunbaseReport в стандартной поставке. ​
 +Но лучше с моей точки зрения посмотреть на SalesReport_DailyEntries.
 +В реализации этого класса заложен необходимый функционал. Рассмотрим его
 +Метод
 +public identifiername lastValueElementName()
 +{
 +    return reportStr(SalesDailyEntries);​
 +}
 +Выполняет запуск необходимого отчета. Отчет определен ​ функцией reportStr().
 +Расширенный тип identifiername подойдет для большинства отчетов.
 +Метод
 +client server public static ClassDescription description()
 +{
 +    return "​@SYS77491";​
 +}
 +Стандартно описывает вывод названия заголовка отчета.
 +Метод ​
 +static void main(Args args)
 +{
 +    SalesReport_DailyEntries ​   salesReport_DailyEntries;​
 +    ;
 +    salesReport_DailyEntries = new salesReport_DailyEntries();​
 +
 +    if (salesReport_DailyEntries.prompt())
 +    {
 +        salesReport_DailyEntries.run();​
 +    }
 +}
 +Так же стандартно формирует запуск отчета из AOT или menu item.
 +Если целью является ограничение вызова отчета. То его лучше реализовать в этом методе ​
 +Используя условие,​ как я уже показывал в Run Base http://​erpkb.com/​Axapta/​Klass/​RunBase?​v=n2v
 +Также хорошим примером реализации вызова и формирования отчета через класс является SalesReport_Heading,​ который формирует SalesHeading отчет.
 +В нем присутствует ​ метод ​
 +public boolean ​ getFromDialog()
 +{;
 +    formLetters = fieldFormLetters.value();​
 +    totals ​     = fieldTotals.value();​
 +
 +    return super();
 +}
 +Который присваивает переменным класса значения с диалога.
 +Так же присутствуют методы ( причем очень стандартно оформленные) pack() и unpack() для пакетной обработки класса.
 +Кто уже изрядно полазил в Axapta, знает, что ​ SalesReport_Heading вызывается из [[РасчетыСКлиентами]]\Отчеты\Проводки\Заказ\Заказ
 +У этого класса есть близнец PurchReport_Heading,​ отвечающий за отчет по поставщикам.
 +Все методы подробно,​ описанные в  Run Base с успехом можно применять и в наследниках ​ RunBaseReport.
  
miker.txt · Последние изменения: 2018/04/13 22:43 (внешнее изменение)