Mir ist allerdings mehrmals aufgefallen, daß nicht in allen Fällen beide Varianten zum selben Ergebnis führen - weshalb das so ist, weiß ich derzeit leider nicht. Hier hilft nur ausprobieren!
Außderdem muss man darauf achten, daß in Dynamics AX 2012 die neue Eigenschaft AutoRefreshData eines Buttons bei Verwendungen des oben beschriebenen Codes deaktiviert sein sollte. Mit aktivierter Eigenschaft funktionieren beide nicht!
Dieser Beitrag bezieht sich auf die Versionen: Dynamics AX 2012, Dynamics AX 2009
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
Um in Dynamics AX die markierten Datensätze einer Formular-Datenquelle (FormDataSource) zu verarbeiten/iterieren kann folgendes Code-Beispiel helfen:
{
inventTrans inventTransSelected;
inventTrans inventTrans4Update;
ttsbegin;
inventTrans4Update.setTmpData(inventTrans); //DIES IST NUR BEI TEMPORÄREN TABELLEN NOTWEDNIG
for (inventTransSelected = inventTrans_ds.getFirst(true) ? inventTrans_ds.getFirst(true) : inventTrans_ds.cursor();
inventTransSelected;
inventTransSelected = inventTrans_ds.getnext())
{
select firstonly forUpdate inventTrans4Update
where inventTrans4Update.RecId == inventTransSelected.RecId;
inventTrans4Update.Marked = NoYes::Yes;
inventTrans4Update.update();
}
ttscommit;
inventTrans_ds.executeQuery();
}
Im Beispiel werden die markierten Datensätze der Tabelle InventTrans durchlaufen und ein Feld Marked auf TRUE aktualisiert.
In Dynamics AX 2012 kann übrigens statt dessen auch die Klasse MultiSelectionHelper dafür verwendet werden.
{
MultiSelectionHelper = MultiSelectionHelper::construct();
MultiSelectionHelper.parmDatasource(inventTrans_ds);
InventTransSelected = MultiSelectionHelper.getFirst();
while(InventTransSelected)
{
// ...do something...
InventTransSelected = MultiSelectionHelper.getNext();
}
}
Mir ist allerdings mehrmals aufgefallen, daß nicht in allen Fällen beide Varianten zum selben Ergebnis führen - weshalb das so ist, weiß ich derzeit leider nicht. Hier hilft nur ausprobieren!
Außderdem muss man darauf achten, daß in Dynamics AX 2012 die neue Eigenschaft AutoRefreshData eines Buttons bei Verwendungen des oben beschriebenen Codes deaktiviert sein sollte. Mit aktivierter Eigenschaft funktionieren beide nicht!