Stimmen Sie mit Hybridzz überein: Sie sollten CuryUnitPrice Feld statt UnitPrice aktualisieren. es ist auch notwendig, PXCache.SetValueExt Methode zu erhöhen, alle Feldebene Handler für das CuryUnitPrice Feld zu verwenden, wenn neue Wert zuweisen:
sender.SetValueExt<SOLine.curyUnitPrice>(e.Row, price);
Auf einer seitlichen Anmerkung:
sollten Sie nie Update
Methode aufrufen für aktuell bearbeiteten Datensatz in FieldUpdated Handler - Base.Transactions.Update(row);
muss weg InventoryItem ausgewählt abrufen müssen für Soline Datensatz gehen
statische PXSelectorAttribute.Select Methode verwendet:
- die PXSelectorAttribute speichert Datensätze in Speichereinzel GlobalCache unter allen Benutzersitzungen geteilt: es ist eine effizientere Option im Vergleich zu Querycache der PxView Klasse nur zugänglich Benutzer für 1
- reduzieren Wartungskosten, da Sie nicht brauchen, BQL Anfragen an mehreren Stellen zu aktualisieren, wenn jemand BQL Abfrage für das Feld SOLine.InventoryItem ändern
Sie versucht haben, das Hinzufügen 'yourGrid.View.RequestRefresh()', nachdem Sie die Daten aktualisieren? – Dispersia