Willkommen auf schweda.net | EN | DE
 
 
 
 
 
Momentan angezeigt werden nur Einträge, welche für die Dynamics AX-Version »Dynamics AX 2012« relevant sind. Filter entfernen

RSS-Feed dieser Version

Mit den nachstehenden Zeilen Code kann man ein Produkt in einem anderem Unternehmen freigeben:

EcoResProductReleaseSessionManager ecoResProductReleaseSessionManager;
   
ecoResProductReleaseSessionManager =
EcoResProductReleaseSessionManager::newReleaseSession();

ecoResProductReleaseSessionManager.addProduct(52565549190);
ecoResProductReleaseSessionManager.addLegalEntityForAllProducts(
CompanyInfo::findDataArea('USP2').RecId);

if( !ecoResProductReleaseSessionManager.execute())
{
    error("An error occured");
}

Wenn innerhalb eines SysOperation-Konstruktes ein Feld im Dialog gesperrt werden soll, daß über eine parm-Methode eingebunden ist, kann man Code wie den folgenden verwenden.

public void postBuild()
{
    DialogField df_SalesId;

    super();

    df_salesId =
    this.bindInfo().getDialogField(this.dataContractObject(),
                                   methodStr(DEV_SalesUpdateDatacontract, parmSalesId));

    if(df_salesId)
    {
        df_salesId.allowEdit(false);
        df_salesId.skip(true);
    }
}

ConViewMit Hilfe der Funktion conView() kann man sich den Inhalt eines Containers anzeigen lassen.

static void conViewExample(Args _args)
{
    container con;
   
    con = conIns(con, conLen(con)+1, ["Mazda", 2]);
    con = conIns(con, conLen(con)+1, ["Volkswagen", 1]);
    con = conIns(con, conLen(con)+1, ["Ferrari", 3]);
   
    conView(con);
}

Manchmal braucht man einfach nur die Länge eines Extended Datatypes (EDT):

new SysDictType(extendedtypenum(costingversionid)).stringLen()

Stellt euch folgendes Szenario vor: Im Dialog eines SysOperation-Konstruktes muss ein Feld abhängig von anderen Feldern manipuliert werden, beispielsweise soll die Eigenschaft AllowEdit verändert werden.

Dialog

Im folgenden findet ihr den Code für einen DataContract und den dazugehörigen UIBuilder, in welchem letztlich die entsprechende Programmlogik einzubauen ist.

Hier wir abhängig von der Auswahl im Feld Module entweder das Feld Customer account oder das Feld Vendor account freigeschalten.

DataContract

[DataContractAttribute, SysOperationContractProcessingAttribute(classStr(TutorialSysOperationUIBuilder))]
public class TutorialSysOperationDataContract
{
    ModuleCustVend moduleCustVend;
    CustAccount custAccount;
    VendAccount vendAccount;
}

 


Manchmal braucht man einfach nur die Länge eines Feldes einer Tabelle:

new SysDictType(SysDictField::findFieldByName(tableStr(SalesTable), identifierStr(SalesId)).typeId()).stringLen();

Im folgenden Szenario sollen an ein SysOperation-Konstrukt alle Datensätze einer temporären Tabelle übergeben werden.

Dafür brauchen wir:

  • Im DataContract eine parm-Methode, die einen Container aufnimmt
  • Im Controller eine Logik, welche die Datensätze einer aufrufenden Datenquelle iteriert und in einen Container packt, und diesen über die obige Methode an das Service übergibt
  • In der Service-Klasse Logik, welche den übergebenen Container auspackt und verarbeitet

 

Controller

class TutorialSysOperationController extends SysOperationServiceController
{
}

Seiten 1 2 3 4 ... 30 » 

 

 
Kategorien / Themen
Feeds
RSS RSS-Feed
Atom Atom-Feed
 
 
Beiträge des aktuellen Monats
August 2017
MoDiMiDoFrSaSo
 123456
78910111213
14151617181920
21222324252627
28293031 
 
 
© 2006-2016 Heinz Schweda | Impressum | Kontakt | English version (BETA) | 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