Dynamics AX Blog - Dynamics AX 2012 - Beiträge vom September 2015
Momentan angezeigt werden nur Beiträge, welche für die Dynamics AX-Version »Dynamics AX 2012« relevant sind. 
RSS-Feed dieser Version

RSS-Feed dieser Version
Daten aus mehreren Datensätzen zu einem Feld zusammenführen mit Hilfe von Computed Columns
19.09.2015Microsoft Dynamics AX (Axapta)
|
Erstellen einer Nicht-Primären AdresseBeispiel, wie man per Code eine nicht-primäre Adresse für einen Eintrag im Globalen Adressbuch erstellen kann. static void createPartyAddressNonPrimary(Args _args) { DirPartyTable dirPartyTable = DirPartyTable::findByNum("???100000??"); DirParty dirParty; DirPartyPostalAddressView dirPartyPostalAddressView; // Create instance of dirParty dirParty = DirParty::constructFromCommon(dirPartyTable, DirUtility::getCurrentDateTime(), dirPartyTable.partyType()); // Create primary address dirPartyPostalAddressView.LocationName = "Delivery"; dirPartyPostalAddressView.City = "Vienna"; dirPartyPostalAddressView.Street = "Kärtnerring"; dirPartyPostalAddressView.StreetNumber = "21"; dirPartyPostalAddressView.CountryRegionId = "AUT"; dirPartyPostalAddressView.IsPrimary = NoYes::No; dirParty.createOrUpdatePostalAddress(dirPartyPostalAddressView); } |
Beim Öffnen einer Form den Filter aufmachenUm direkt beim Öffnen eines Formulares das Filter-Fenster zu öffnen, kann man beispielsweise diesen Code verwenden: public void run() { super(); if(dataSourceName_ds.queryRun().prompt()) { dataSourceName_ds.research(); } }
|
Auftragsposition per Code stornierenDer folgende Code basiert auf der Logik im Formular SalesUpdateRemain (Schaltfläche "Rest liefern" im Auftragskopf). static void cancelSalesLine(Args _args) { boolean updated; SalesLine salesLine; try { ttsBegin; salesLine = SalesLine::findInventTransId('012411', true); updated = SalesUpdateRemain::updateDeliveryRemainder(salesLine, 0, 0); if(updated) { info("Salesline canceled"); } ttsCommit; } catch { error("SalesLine could not be canceled"); } } |
|
|
|
|
|
|
Computed Columns von Views sind ein recht mächtiges Werzeug, wenn es darum geht komplexe SQL-Abfragen auch in Dynamics AX abzubilden.
Das folgende Beispiel zeigt, wie es möglich ist mehrere Zeilen zu einem einzigen Feld zusammenzuführen.
Stellt euch vor, ihr möchtet eine Abfrage zur Verfügung stellen, wo alle Artikel/Freigegebenen Produkte aufgelistet werden (eine Zeile je Artikel) und es ein Feld gibt, in dem der Produktname in allen hinterlegten Sprachen ausgegeben wird.
Für diese Anforderung kann man folgende Methode compColLanguageNames verwenden, die ich in einen View ItemNameView als Computed Column namens AllItemNames eingebunden habe.
Das Ergebnis sieht im Tablebrowser wie folgt aus: