Dynamics AX Blog - Beiträge vom June 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.