18. April 2017 17:34
Hallo MSdynamics,
ich habe mir eine Page gebaut in der ich Zeilen im Repeater habe (vgl. Verkaufszeilen). Jetzt will ich die Zeilen so filtern, dass ich nur die habe, die im Header im bestimmten Feld einen bestimmten Wert haben. Verkaufszeilen und Verkaufskopf sind mit "Document No" verknüpft.
Z.B. ich will nur die Zeilen haben, die im Header im Feld Buchungsdatum (25.05.2016) haben.
Also ich habe auf der Page ein Feld "Buchungsdatum" und gebe in das Feld bestimmte Werte ein und die Verkaufszeilen sollten entsprechend gefiltert werden.
Gibt es sowas in NAV Standard? Wie mache ich es am besten (performance etc)?
Als Test wie schnell ich NAV kaputt machen kann habe ich hier ein bisschen Spaghetti gekocht:
- Code:
PostedSalesHeader.SETRANGE("Posting Date",PostingDateFilter);
IF PostedSalesHeader.FINDSET THEN
REPEAT
FilterAppendix += STRSUBSTNO('%1|',PostedShopSalesHeader."No.");
UNTIL PostedSalesHeader.NEXT = 0;
EVALUATE(NewFilter,COPYSTR(FilterAppendix,1,STRLEN(FilterAppendix)-1));
Rec.SETFILTER("Document No.",NewFilter);
Überraschend funktioniert es schnell und macht keine Probleme bis er auf 1024 Zeichen kommt.
Mit freundlichen Grußen