Izzy hat geschrieben:Ja das mit den FlowFields scheint wohl so zu sein, sind dynamisch und nur zur Laufzeit existierende Felder. Trotzdem wäre es schon man könnte deren Wert für alle Records während einem 'Load' Event des Forms berechnen und sortieren und erst dann anzeigen. Wenn dann das Form angezeigt ist müssen diese auch nicht automatisch aktualisiert werden, es würde beim Laden des Forms genügen. Aber eben, das geht wohl nicht weil die Trigger OnAfterGetRecord nur Record bei Record während dem effektiven Anzeigen geladen werden und dann natürlich mit dem Sortierungswunsch kollidieren.
Zu Deinen Fragen:
- Ich hab nur ein Intervall pro Kunde, welches artikelunabhängig ist. Prinzipiell besteht auf der Tabelle 'Serviceverträge' (custom table) ein Feld mit der Frequenz (meistens 1J). Diese Frequenz zähle ich bei jedem Record zum aktuellen Wert des FlowFields (=letzter Service) dazu um meine Zielspalte ("Nächster fälliger Service") zu erhalten. Aber eben: wie FlowFields klappt das nicht.
- Ja habe auf beide Zugriffe, aber nur 5940 wird benutzt.
Ich bin bereits dabei die ganze Logik auf Stufe SalesInvoiceLines tabelle zu verschieben. Da prüfe ich ob eine neue Service-Transaktion durchgeführt wurde und aktualisere daraus meine Serviceverträge Tabelle, inklusive gleichzeitiger Berechnung des neues Servicedatums. Das klappt bestens. Insofern ist mein Problem gelöst.
Trotzdem finde ich es sehr schade kann man nicht mit FlowFields schaffen. Oder andersherum: Auch ein normales, unbound-field sollte zur Laufzeit beim Laden alle Daten eines Forms neu berechnet werden können und damit auch sortierbar sein. Aber das ist halt meine Welt mit SQL und .NET.
Ich danke Dir vielmals fĂĽr Deine Hilfe und auch die der anderen User, aber ich denke es macht Sinn den Thread hier zu schliessen. Der Ansatz via FlowField war schlicht falsch von mir.
Danke!!
Also wenn der Kunde etwas kauft bekommt er sein altes Service-Datum plus 1 Jahr gesetzt, egal was man ihm verkauft?
Hätte jetzt erwartet ab aktuellem Kaufdatum, weil ja sonst auch der Fall eintreten könnte: Kunde hat vor 2 Jahren gekauft, und vor einem Jahr hätte er den nächsten Service bekommen sollen
Oder habt Ihr eine blaue Polizeibox/Zeitmaschine bei Euch stehen?
Wenn Ihr Service Item Groups benutzt, könnt ihr über gelieferte Aufträge euch direkt Service Items anlegen lassen, vollautomatisch.
Dort könnte ein neues Feld "Next Service" definiert werden, der den verkauften Artikel mit dem Serviceintervall addiert (Shipment Date + Intervall = Next Service)
Danach lieĂźe sich dann sortieren. (Ist dann aber basierend auf verkauftem Artikel und nicht nur Kunde)