Ich habe eine gespeicherte Prozedur, die von einer PXAction aufgerufen wird. Ich weiß, dass es gegen Acumaticas Best Practices ist, eine gespeicherte Prozedur zu verwenden, aber ich habe noch eine alternative Lösung für mein Ziel gefunden. Die gespeicherte Prozedur wertet jede Werbebuchung und die Preisklasse, der sie zugeordnet ist, abhängig von der breakQuantity aus, die den Einheitspreis bestimmt. Wenn mehrere Artikel zu derselben Preisklasse == gehören oder die Bruchmenge überschreiten, wird der Stückpreis reduziert.ALLE SOLine Artikel dynamisch aktualisieren, wenn ein neuer SOLine hinzugefügt wird
Was mit ich begann, war eine Reihe
Bestellmenge zu addieren Aktualisierungprotected virtual void SOLine_RowUpdating(PXCache sender, PXRowUpdatingEventArgs e)
{
SOLine row = (SOLine)e.Row;
formalizeOrderTotal(row);
}
dann in meiner formalizeOrderTotal Funktion es eine foreach-Schleife auf SOLine in lines.Select()
durchgeführt. Als Test habe ich gerade versucht, alle Bestellmengen zusammenzufassen und auf jede Werbebuchung anzuwenden. Dies wird nur nach der Aktualisierung aktualisiert, was den Zweck des Verschiebens der gespeicherten Prozedur in einen C# function/Acumatica Event-Handler negiert.
Wenn jemand einige Empfehlungen für eine gute Vorgehensweise zum Aktualisieren aller Zeilenelemente im Cache hat, wäre es sehr hilfreich, wenn Sie einige Eingaben bereitstellen könnten.
'Dies nur nach der Aktualisierung aktualisiert', meinen Sie nach der Aktualisierung des Bildschirms/Grid? – Hybridzz
Sie haben Recht! Entschuldigung, ich habe das nicht angegeben. – JB90
Base.Transactions.View.RequestRefresh(); wird dein Problem lösen. – Hybridzz