Anveo Mobile App / Najlepsze praktyki / Jak radzić sobie z FlowFields
Jest to tłumaczenie automatyczne. Pierwotne stanowisko jest dostępne w angielski.

Jak radzić sobie z FlowFields

Obliczanie FlowFields zajmuje dużo czasu w Dynamics, więc nie można aktualizować wszystkich FlowFields przy każdej synchronizacji. Nie zaleca się również uruchamiania RECALCFIELDS po każdej rutynie delegowania. Spowodowałoby to długi proces synchronizacji, który nie jest korzystny dla użytkownika. Dla FlowFields dostępne są również inne opcje.

Nocne przeliczenie FlowFields

Zalecamy utworzenie nowego, normalnego pola w tabeli Dynamics, w którym zapisana będzie wartość, którą chcesz wysłać do użytkownika. W nocnym zadaniu przelicza się FlowField. Jeśli wartość zmieniła się, zaktualizuj swoje nowe pole i wykonaj ”MODIFY”. To znacząco zmniejsza ruch danych.

Użycie Online Fields

Można również użyć pól online Online Fields, aby wyświetlić wartość FlowField. Wartość pola będzie automatycznie aktualizowana w aplikacji niezależnie od synchronizacji. Przeczytaj więcej o Online Fields i jak je tutaj ustawić.

Wniosek o ponowne obliczenie

Czasami wymagane jest posiadanie danych na żywo. W takim przypadku można zażądać ponownego wysłania danych FlowField. Oczywiście, aby to zrobić, wymagane jest połączenie online. Pierwszym krokiem jest umieszczenie w interfejsie użytkownika przycisku z kodem działania, który oznacza FlowField. Synchronizacja zostanie uruchomiona natychmiast.

Rec:SETVALUE('Inventory', Rec:GETVALUE('Inventory'));
Rec:MODFIY(TRUE);
SYNC_DB();
Anveo Script Code przykład kodu, aby zaznaczyć FlowField Inventory of table Item.

Przy następnej synchronizacji można dokonać ponownej kalkulacji w codeunit ACF App Events.

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 Przykład kodu C/AL Przykład kodu do ponownego obliczenia FlowField Inventory elementu tabeli.