AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: За рубежом > DAX auf Deutsch
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.04.2009, 22:05   #1  
Blog bot is offline
Blog bot
Участник
 
25,631 / 848 (80) +++++++
Регистрация: 28.10.2006
jinx: Anzeige von Lagerdimensionen auf Berichten
In dem Artikel "Anzeigevon Lagerdimensionen auf Masken" wurde bereits gezeigt, was zu tun ist, umdie Anzeige von Lagerdimensionen auf Masken dynamisch anpassen zu können bzw. dasStandardverhalten für die Anzeige von Lagerdimensionen zu implementieren.

Manchmal soll eine ähnliche Funktionalität auch für Berichte bereit gestellt werden,um zum Beispiel vor der Berichtserstellung auswählen zu können, welche Lagerdimensionenauf dem Bericht(Report) angedruckt werden.
Auch hierfür sind im Dynamics AX Standard die entsprechenden Funktionalitäten (oderbesser Klassen) bereits vorhanden, sodass diese nur verwendet werden müssen.

Als Ausgangsbasis für den Bericht dient ebenfalls die Tabelle „AKU_DemoTable“.


Der Bericht soll nun, die in dieser Tabelle gespeicherten Datensätze andrucken/ausgeben.


Wie bei Masken, muss auch für einen Bericht, die Query entsprechend um die TabelleInventDim ergänzt werden.
Hierbei ist zu beachten, dass die Eigenschaften (Properties) „FetchMode“ auf „1:1“und „Relations“ auf „Yes“ gesetzt werden.


Als nächstes muss nun, ebenfalls analog zu dem Vorgehen bei Masken, die Feldgruppe„InventoryDimensions“ in den Designzweig des Reports aufgenommen werden.
Beispielhaft wird diese in einem Body-Element erstellt.


Nun müssen noch einige Anpassungen an den Methoden des Berichts durchgeführt werden,damit das gewünschte Ergebnis erreicht werden kann.
Bezogen auf die Möglichkeit, die zu druckenden Lagerdimensionen bestimmen zu können,müssen die Methoden „classDeclaration“, „run“, „dialog“ und „getFromDialog“ wie folgtüberschrieben werden.
Auch das Überschreiben der Methoden „pack“ und „unpack“ ist hilfreich (für die Lagerdimensionsanzeigenicht zwingend erforderlich), da über diese die Speicherung der „Nutzungsdaten“ realisiertwird.

public class ReportRunextends ObjectRun
{
InventDimParm inventDimParm;
DialogRunbase dialog;
DialogGroup dialogInventoryDimensions;

#define.CurrentVersion(1)
#localmacro.CurrentList
inventDimParm
#endmacro
}


void updateDesign()
{
;
InventDimCtrl::updateReportVisible(element, inventDimParm);
}


public void run()
{
;
this.updateDesign();
super();
}


public Objectdialog(Object _dialog)
{
;
dialog = _dialog;
dialogInventoryDimensions = inventDimParm.addFieldsToDialog(dialog,"@SYS53654",true, false, "@SYS102592");
return dialog;
}


public booleangetFromDialog()
{
;
inventDimParm.getFromDialog(dialog, dialogInventoryDimensions);
return true;
}


public containerpack()
{
return [#CurrentVersion,#CurrentList];
}


public booleanunpack(container packedClass)
{
Version version = RunBase::getVersion(packedClass);
;
switch(version)
{
case #CurrentVersion:
[version,#CurrentList] = packedClass;
break;
default:
return false;
}
return true;
}


Wird nun der Bericht geöffnet, zum Beispiel über ein MenuItem, kann in einem Dialogausgewählt werden, welche Lagerdimensionen auf dem Report angedruckt werden sollen.




Der ausgegebene Bericht(Report) sieht, unter Berücksichtigung der im Dialog gewähltenEinstellungen, wie folgt aus.


Das vorgestellt Bespiel steht hier alsDownload bereit um die einzelnen Schritte genau ansehen/nachvollziehen zu können.


AKU_Demo_InventDimRep.rar(1,99 KB)
Es wird keine Haftung oder Gewährleistung auf die Richtigkeit der gemachten Angaben gegeben. Die Verwendung erfolgt auf eigene Gefahr. Copyright © Axel Kühn (Aku's AX Blog, http://blog.ak-home.net) and Mathias Füßler (jinx's AX Blog, http://starside.eu)

More...
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
jinx: Anzeige von Lagerdimensionen auf Masken Blog bot DAX auf Deutsch 0 14.03.2009 01:06
jinx: Microsoft Dynamics AX API – Teil 2 „Erstellen von Bestellungen“ Blog bot DAX auf Deutsch 1 04.09.2007 11:46
jinx: Automatisches hinzuf?gen von Tabellenmethoden zum AutoReport Blog bot DAX auf Deutsch 3 02.06.2007 13:02
jinx: Auf Benutzereingaben reagieren in Dialogen und DialogControls Blog bot DAX auf Deutsch 1 17.05.2007 16:50

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 21:20.