Dynamics AX Blog - Beiträge vom Juni 2016
Bearbeitungsmodus erkennen/auf Wechsel reagierenUm in einem Formular auf das Ändern des Bearbeitungsmodus zu reagieren, kann man die task()-Methode des Formulares wie folgt überschreiben:
public int task(int _taskId)
{
int ret;
#Task
ret = super(_taskId);
switch(_taskId)
{
case #taskEditRecord:
…doSomething…
break;
}
return ret;
}
Wer den aktuellen Bearbeitungsmodus auslesen möchte, kann dies über die folgende Methode tun: element.inViewMode() |
Sonderzeichen im XML-Header einer Methode verwendenManchmal muss man im XML-Header einer Methode Sonderzeichen verwenden, um den Code gut dokumentieren zu können. Damit dieser Header trotzdem wohlgeformt ist und nicht als Best-Practice-Abweichung gekennzeichnet wird, kann man einen CDATA-Abschnitt einsetzen.
/// <version>
/// 1.0
/// </version>
/// <summary>
/// <![CDATA[ Replaces following special characters: &, % ]]>
/// </summary>
private void someMethod()
{
//...do something...
}
Ohne diesen CDATA-Abschnitt würde AX folgende BP-Abweichung ausgeben:
|
Designs eines SSRS-Berichtes auslesenWer einmal die Notwendigkeit hat, die verfügbaren Designs eines SSRS-Reports auslesen zu müssen, dem kann der nachstehende Job als Beispiel dienen.
static void listDesignsOfSSRSReport(Args _args)
{
TreeNode treeNode;
TreeNode treeNodeDesign;
#aot
treeNode = TreeNode::findNode(#SSRSReportsPath + #AOTRootPath);
treeNode = treeNode.AOTfindChild("SalesPackingSlip");
treeNodeDesign = treeNode.AOTfindChild("Designs");
treeNodeDesign =
treeNodeDesign.AOTfirstChild();
while(treeNodeDesign)
{
info(treeNodeDesign.AOTname());
treeNodeDesign = treeNodeDesign.AOTnextSibling();
}
} |
|
|
|
|
|
|

Vor kurzem musste ich bei einem Modul eruieren, ob Labels in einer bestimmten Sprache (im Beispiel de_at) vorhanden sind, oder nicht. Gut dafür geeignet scheint mir folgendes SQL-Statement.