Dynamics AX Blog - Dynamics AX 2009 - Seite 9

Momentan angezeigt werden nur Beiträge, welche für die Dynamics AX-Version »Dynamics AX 2009« relevant sind. Filter entfernen

RSS-Feed dieser Version

Eingeblendete Dimensionen in Reports abfragen

In manchen Berichten ist es möglich, Lagerdimensionen über den Dialog ein- bzw. auszublenden. Um im Bericht selbst abzufragen, ob eine bestimmte Dimension eingeblendet wurde, kann man den unten stehenden Code verwenden, der eine Instanz der Klasse InventReport_OnHand voraussetzt. Dieser fragt zum Beispiel ab, ob die Palettennummer eingeblendet wurde,

if(InventReport_OnHand.parmInventDimParm().WMSPalletIdFlag))
   // ...do something

 


 
 

Whitepaper zum Globalen Adressbuch

Das Globale Adressbuch ist wohl eine der grossen Neuerungen in Dynamics AX 2009. Und vor allem Umsteiger von früheren Versionen haben dazu die eine oder andere Frage. So manche dieser Fragen beantwortet Microsoft im Whitepaper zum Globalen Adressbuch, mit Sicherheit aber nicht alle ;-)

Denoch sollte sich jeder Entwickler und Berater dieses Whitepaper einmal zu Gemüte führen, so findet man zum Beispiel zum Thema Importieren von Debitoren/Kreditoren bzw. Geschäftsbeziehungen via Excel eine ausführliche Beschreibung.

http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=052e9dda-667b-42bd-bd13-f8c5aa1bc0f0


 
 

Shared Projects vergleichen

Vor kurzem stand ich wieder einmal vor der Thematik, den Inhalt zweier Projekte vergleichen zu müssen. Da ich bis dato keine Möglichkeit gefunden habe, dies mit Bordmitteln von Dynamics AX durchzuführen, habe ich mir einen Job geschrieben, der genau dies tut.

Der Job verwendet die temporäre Tabelle TmpAOTImport aus dem Standard, in die zuerst mit Hilfe der Klasse TreeNodeTraverser sämtliche AOT-Objekte der beiden Projekte in jeweils einer Tabelleninstanz geschrieben wird. Danach werden diese beiden Instanzen über einen simplen SELECT miteinander verglichen.

Über den Standard-Enum SysMergeDirection (einen besseren habe ich nicht gefunden) kann man definieren, was ausgegeben werden soll.

Beim Wert NONE werden Objekte beider Projekte ausgegeben, die im jeweils anderen nicht vorkommen.
Beim Wert TEXTA werden alle Objekte aufgelistet, die im Projekt1, nicht aber im Projekt2 vorkommen und vice versa beim Wert TEXTB.

Das Ergebnis des Jobs ist in allen Fällen ein einfaches Infolog.

Beispiel: Die folgenden beiden Projekte gilt es zu vergleichen

Projects


 
 

Tipp: Job in Klasse umwandeln

Wusstet Ihr eigentlich, daß man einen Job einfach dadurch in eine einfache Klasse umwandelt, in dem man den Job per Drag & Drop in den Knoten Classes des AOTs zieht?


 
 

Funktion "Gehe zur Haupttabelle" abfragen

Um in einem Formular zu ermitteln, ob dieses über die "Gehe zur Haupttabelle"-Funktion aufgerufen wurde, kann man sich des folgenden Code bedienen:

if( element.args().record() ||
    element.args().refField() ||
    element.args().lookupValue())
{
    // ...do something ...
}

 
 

Als MenuItem eingebundene Jobs ermitteln

Im Zuge eines Upgrades auf die aktuelle Version von Dynamics AX benötigte ich vor kurzem einen Job, der mir alle Jobs auflistet, die über ein MenuItem möglicherweise laufend in Verwendung sind:

static void ListJobsUsedAsMenuItem(Args _args)
{
    treeNode        treeNode;
    treeNode        treeNodeMenuItems;
    menuFunction    menuFunction;
    MenuItemType    MenuItemType;

    #AOT
    ;

    treeNodeMenuItems = TreeNode::findNode(#MenuItemsPath);
    treeNodeMenuItems = treeNodeMenuItems.AOTfirstChild();

    while(treeNodeMenuItems)
    {
        setPrefix("Jobs used in MenuItems");

        treeNode = treeNodeMenuItems.AOTfirstChild();

        while(treeNode)
        {
            menuFunction = new menuFunction(treeNode.treeNodeName(), str2enum(MenuItemType, treeNodeMenuItems.treeNodeName()));

            if(menuFunction.objectType() == utilelementType::Job)
            {
                setPrefix(strFmt("%1: %2", treeNodeMenuItems.treeNodeName(), treeNode.treeNodeName()));
                info(menuFunction.object());
            }

            treeNode = treeNode.AOTnextSibling();
        }

        treeNodeMenuItems = treeNodeMenuItems.AOTnextSibling();
    }
}

Der Job wurde in Dynamics AX 2009 entwickelt. 


 
 

Auslesen von HTML-Quelltext in Dynamics AX 2009

Vor kurzem wurde ich gefragt, wie man denn in Dynamics AX 2009 den HTML-Quelltext einer Webseite ausliest. Bitteschön...

static void GetHTMLSourceCode(Args _args)
{
    CLRObject                   castObject      = null;
    System.Net.HttpWebRequest   request         = null;
    System.Net.HttpWebResponse  response        = null;
    System.IO.StreamReader      streamReader    = null;
    System.Text.Encoding        encoding        = null;

    url                         url = "http://www.yourdomain.com/yoursite.html";
    ;
    new InteropPermission(InteropKind::ClrInterop).assert();
    castObject = System.Net.WebRequest::Create(url);
    request = castObject;
    response = request.GetResponse();
    encoding = System.Text.Encoding::get_UTF8();
    streamReader = new System.IO.StreamReader(response.GetResponseStream(), encoding);
    info(streamReader.ReadToEnd());
}

 
 
Seiten « 1 ... 6 7 8 9 10 11 12 ... 20 » 

 

 
 
 
Beiträge des aktuellen Monats
Mai 2024
MoDiMiDoFrSaSo
 12345
6789101112
13141516171819
20212223242526
2728293031 
 
© 2006-2024 Heinz Schweda | Impressum | Kontakt | English version | Mobile Version
Diese Webseite verwendet Cookies, um Benutzern einen besseren Service anzubieten. Wenn Sie weiterhin auf der Seite bleiben, stimmen Sie der Verwendung von Cookies zu.  Mehr dazu