[gelöst]Auf Bemerkungen im Auftrag filtern

20. Dezember 2012 12:24

Hallo zusammen,

ich stehe gerade vor einem kleinen Problem.
Wir bekommen sehr viele Aufträge aus unserem Webshop in NAV rein.
In einigen davon sind noch Bemerkungen von Kunden drin, die im Webshop eingegeben werden können.
Jetzt war der Wunsch von einem Mitarbeiter hier, das er sich in der "Sales List" die Aufträge filtern kann, die eine oder mehrere Bermerkungszeilen haben.

Ich habe nun den Anfang so gemacht, das ich beim "OnAfterGetCurrRecord" folgendes gecodet habe.

Code:
intBemerkungen := 0;
vSalesCommentLine.SETRANGE(vSalesCommentLine."Document Type", vSalesCommentLine."Document Type"::Order);
vSalesCommentLine.SETRANGE(vSalesCommentLine."No.", "No.");
IF vSalesCommentLine.FIND('-') THEN REPEAT
  intBemerkungen := intBemerkungen + 1;
UNTIL vSalesCommentLine.NEXT = 0;


Ansich funktioniert es...nur leider etwas unschön, da ich erst mit dem Cursor über die Zeile gehen muss, um die richtige Anzahl an Bemerkungszeilen anzeigen zu lassen.
Was noch etwas doof ist, die tatsache das ich leider nicht auf die Aufträge mit Bemerkungszeilen filtern kann.

Habt ihr evtl. einen Vorschlag für mich, wie ich das besser angehen könnte?

Ciao und danke schonmal
OcchiX
Zuletzt geändert von OcchiX am 20. Dezember 2012 14:28, insgesamt 1-mal geändert.

Re: Auf Bemerkungen im Auftrag filtern

20. Dezember 2012 12:34

Der Code müsste im OnAfterGetRecord stehen, damit er für alle Zeilen berechnet wird. Da du jedoch nur wissen willst, ob eine oder mehrere Bemerkungszeilen existieren, kannst du dir das Zählen der Zeilen sparen.

Schau dir mal das Feld "Comment" an; das macht schon, was du brauchst. Und wenn du es in die Übersicht einbaust, könntest du auch darauf filtern. Allerdings ist es nicht performant und daher unschön, auf ein Flowfield zu filtern. Besser wäre es mE, per Funktion nach Aufträgen mit Bemerkungen zu suchen und diese zu markieren.

Re: Auf Bemerkungen im Auftrag filtern

20. Dezember 2012 13:00

Okay, danke ich schau mir das mal an.

Re: Auf Bemerkungen im Auftrag filtern

20. Dezember 2012 14:27

Perfekt, das passt genauso wie es sein soll...Vielen Dank :-)

Re: [gelöst]Auf Bemerkungen im Auftrag filtern

20. Dezember 2012 16:15

Bitte wie folgt umschreiben:
Code:
intBemerkungen := 0; //überflüssig mit count
vSalesCommentLine.SETRANGE(vSalesCommentLine."Document Type", vSalesCommentLine."Document Type"::Order);
vSalesCommentLine.SETRANGE(vSalesCommentLine."No.", "No.");
intBemerkungen := vSalesCommentLine.COUNT;


Das ist "schöner" :-)

Re: [gelöst]Auf Bemerkungen im Auftrag filtern

20. Dezember 2012 16:34

Nix umschreiben.
Komplett löschen da sinniger gelöst. :wink: