Dynamics AX Blog - Seite 9

Designs eines SSRS-Berichtes auslesen

Wer 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();
    }
}

 
 

Namen der Shared Projects nach einem String durchsuchen

Um sich alle (Shared-)Projekte ausgeben zu lassen, die einen bestimmten Text im Namen tragen, kann man den folgenden Code verwenden.

static void searchProjectName(Args _args)
{
    ProjectNode projectNode;

    #AOTExport

    projectNode    = infolog.projectRootNode();
    projectNode    = projectNode.AOTfindChild(#expProjectShared);
    projectNode    = projectNode.AOTfirstChild();

    while(projectNode)
    {
        setPrefix(projectNode.name());

        if(strScan(projectNode.name(), "BR_", 0, 60))
        {
            info(projectNode.name());
        }

        projectNode    = projectNode.AOTnextSibling();
    }
}

 
 

Simultanplanungszeitraum aktualisieren für einen Produktionsauftrag

Mit Hilfe des folgenden Jobs kann man den Simultanplanungszeitraum eines Produktionsauftrages aktualisieren. Dieser muss zumindest im Status "Vorkalkuliert" sein.

static void reqCalcExplode(Args _args)
{
    ReqCalcExplodeProd reqCalcExplodeProd;
    ProdTable prodTable = ProdTable::find('P000272');
    ;
    // Copied from ReqCalcExplodeProd::newProdTablePrompt()
    reqCalcExplodeProd  = ReqCalcExplode::construct(ReqRefType::Production);

    reqCalcExplodeProd.parmRefType(ReqRefType::Production);
    reqCalcExplodeProd.parmRefId(prodTable.ProdId);
    reqCalcExplodeProd.parmInventTransOriginId(
        InventTransOriginProdTable::findInventTransOriginId(prodTable.DataAreaId, prodTable.ProdId));
    reqCalcExplodeProd.parmReqPlanId(ReqPlanSched::defaultDynamicId());
    reqCalcExplodeProd.parmReqCalcUpdate(ReqCalcUpdate::NetChangeMinimized);
    reqCalcExplodeProd.parmMarking(true);

    reqCalcExplodeProd.parmReqPlanData(null);

    reqCalcExplodeProd.run();
}

 

Screenshot


 
 

DIXF/DMF Entitäten neu aufbauen

Ich hatte vor kurzem das Problem, daß in einer Umgebung alle DIXF-Entitäten gelöscht wurden.  Mit dem nachstehenden Job konnte ich diese wiederherstellen.

// Based on Classes\DMFDataPopulation\createDefaultMapping
static void RecreateDMFEntities(Args _args)
{
    boolean             isFound;
    DMFEntity           dmfEntity;
    TmpDMFEntityList    entityDescription;
    Counter             c;

    entityDescription = DMFDataPopulation::getEntityList();

    ttsbegin;
    while select entityDescription
    {
        dmfEntity.EntityName         = entityDescription.EntityLabel;
        dmfEntity.EntityTypeName     = entityDescription.EntityName;
        dmfEntity.Mdm        = NoYes::No;
        isFound = dmfEntity.defaultModule(dmfEntity.EntityTypeName);

        if (isFound)
        {
            if (dmfEntity.validateWrite() &&
                ! DMFEntity::find(dmfEntity.EntityName))
            {
                dmfEntity.insert();
                c++;
            }
        }
    }
    ttscommit;
    
    info(strFmt("%1 entities created.", c));
}

 
 

Microsoft MVP Award 2016

20.04.2016In eigener Sache

MVP AwardSehr zu meiner Freude darf ich mich auch dieses Jahr zum Kreis der MVPs zählen, wurde mir doch zum dritten Mal in Folge der Microsoft® MVP Award 2016 in der Kategorie Business Solutions verliehen.

Auch dieses Mal freue ich mich riesig und bedanke mich für Eure Unterstützung.

Wer mehr über diesen Award bzw. MVPs ganz allgemein wissen möchte, der findet hier die entsprechenden Informationen.


 
 

Nur bestimmte Mitarbeiter in einem Mitarbeiter-Lookup anzeigen

Unlängst hatte ich die Anforderung, in einer Tabelle ein neues Feld für einen Mitarbeiter zu integrieren. Flugs eine Tabellen-Realtion zur Tabelle HcmWorker erstellt, und das dadurch entstandene Feld in ins Formular integriert.

Dadurch wird eine ReferenceGroup erstellt und Dynamics AX generiert aufgrund der Relation den folgenden Lookup.

Screenshot


 
 

Favoriten in Entwicklungsumgebung auflisten

Mit Hilfe des hier gezeigten Jobs kann man die Favoriten eines Benutzers auslesen und sich ausgeben lassen.

static void listFavoritesOfCurrentUser(Args _args)
{
    TreeNode treeNode;
    TreeNodeIterator iterator;
    TreeNode newTreeNode;
    int level;
    #AOT
    void loopChilds(TreeNode _treeNode)
    {
        level++;
        while(_treeNode)
        {
            info(strRep("    ", level-1) + any2str(SysLabel::labelId2String2(_treeNode.AOTname(), Global::currentUserLanguage())));
            loopChilds(_treeNode.AOTfirstChild());
            level--;
            _treeNode = _treeNode.AOTnextSibling();
        }
    }

    treeNode = infolog.userNode();
    iterator = treeNode.AOTiterator();
    treeNode = iterator.next();
    if (treeNode)
    {
        treeNode = treeNode.AOTfirstChild();
        if (treeNode)
        {
            setPrefix(treeNode.AOTname());
            loopChilds(treeNode.AOTfirstChild());
        }
    }
}

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

 

 
 
 
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