Anveo Mobile App / Best Practices / Wie man mit FlowFields umgeht
Diese Seite wurde automatisch übersetzt. Ursprünglich wurde der Inhalt auf Englisch verfasst.

Wie man mit FlowFields umgeht

Die Berechnung von FlowFields nimmt in viel Zeit in Anspruch, so dass Sie nicht bei jeder Synchronisation alle FlowFields aktualisieren können. Es wird auch nicht empfohlen, RECALCFIELDS nach jeder Buchungsroutine auszuführen. Dies würde zu einem langen Synchronisationsprozess führen, der nicht gut für die Benutzerfreundlichkeit ist. Für FlowFields stehen weitere Optionen zur Verfügung.

Nächtliche Neuberechnung von FlowFields

Wir empfehlen, in Ihrer -Tabelle ein neues, normales Feld anzulegen, das den Wert speichert, den Sie an den Benutzer senden möchten. In einer nächtlichen Aufgabe berechnen Sie das FlowField neu. Wenn sich der Wert geändert hat, aktualisieren Sie Ihr neues Feld und führen Sie eine “MODIFY“. Dadurch wird der Datenverkehr deutlich reduziert.

Verwendung eines Online Fields

Sie können auch Online-Felder Online Fields-Felder verwenden, um den Wert von FlowField anzuzeigen. Der Feldwert wird in der App unabhängig von der Synchronisation automatisch aktualisiert. Lesen Sie hier mehr über Online Fields-Felder und wie Sie sie einrichten.

Beantragung einer Nachkalkulation

Manchmal ist es erforderlich, dass Live-Daten verfügbar sind. In diesem Fall können Sie einen erneuten Versand von FlowField anfordern. Dazu ist natürlich eine Online-Verbindung erforderlich. Der erste Schritt besteht darin, eine Schaltfläche in Ihrer Benutzeroberfläche mit einem Aktionscode zu versehen, der Ihr FlowField markiert. Eine Synchronisation wird sofort gestartet.

Rec:SETVALUE('Inventory', Rec:GETVALUE('Inventory'));
Rec:MODFIY(TRUE);
SYNC_DB();
Beispiel für einen Anveo-Skriptcode, um FlowField Inventory des Tabellenelements zu markieren.

Wenn Sie das nächste Mal synchronisieren, können Sie die Neuberechnung in der Codeunit ACF App Events durchführen.

CASE RecRef.NUMBER OF
// Other code here ...
DATABASE::Item: BEGIN
DeviceRecRef.SETTABLE(DeviceItem);
IF (DeviceFldRef.NUMBER = DeviceItem.FIELDNO(Inventory)) THEN BEGIN
//Recalculate FlowFields for this item
Item.SETRANGE("No.", DeviceItem."No.");
ItemRecRef.GETTABLE(Item);
Mgt.RECALCFIELDS(ItemRecRef);
// Do not change the current value "Inventory"
NAVAction := NAVAction::Ignore;
END;
END;
END;
C/AL-Codebeispiel zur Neuberechnung des FlowField Inventory des Tabellenelements.