[GELĂ–ST] Setfilter auf Dateformular

Bild Microsoft Dynamics NAV 5.xx

[GELĂ–ST] Setfilter auf Dateformular

Beitragvon moag » 6. August 2014 11:14

Habe das das Feld "Lead Time Calculation" in die Sales Line gebracht und möchte nun in einem "Repeat" die SalesLines durchgehen, die einen Eintrag in dem Dateformular Feld "Lead Time Calculation" haben.

hier der Quellcode:

Code: Alles auswählen
HilfsDateFormularText := '<>0T';
LocSalesLine.SETFILTER(LocSalesLine."Lead Time Calculation", HilfsDateFormularText);
LocSalesLine.SETRANGE(LocSalesLine."Document Type", LocSalesLine."Document Type"::Order);
LocSalesLine.SETRANGE(LocSalesLine."Document No.", "No.");
LocSalesLine.SETRANGE(LocSalesLine.Type, LocSalesLine.Type::Item);

MESSAGE(FORMAT(LocSalesLine.COUNT));


Bei einer Zeile in der keine "Lead Time Calculation" eingetragen wirft die Meldung = 1.

Was mach ich falsch?

Vielen Danke fĂĽr einen Tipp
Zuletzt geändert von moag am 7. August 2014 09:31, insgesamt 1-mal geändert.
moag
 
Beiträge: 26
Registriert: 13. Juni 2014 11:15
Realer Name: Oliver Grau
Arbeitsort: Espelkamp
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 5

Re: Setfilter auf Dateformular

Beitragvon winfy » 6. August 2014 13:17

moag hat geschrieben:Habe das das Feld "Lead Time Calculation" in die Sales Line gebracht und möchte nun in einem "Repeat" die SalesLines durchgehen, die einen Eintrag in dem Dateformular Feld "Lead Time Calculation" haben


Verstehe ich nicht ganz.
Wenn du auf '<>0T' filterst und es ist keine Formel eingetragen, also '' , dann ist es doch richtig das er COUNT 1 ausgibt.

Ansonsten wenn du nur auf keine Datumsformel filtern möchtest, dann musst du auf <>'' filtern.

Bei deinem Code-Beispiel wäre das:
Code: Alles auswählen
HilfsDateFormularText := '<>''''';
LocSalesLine.SETFILTER(LocSalesLine."Lead Time Calculation", HilfsDateFormularText);


______________________________________________________________________________________________________________
Wenn du aber rausbekommen möchtest, ob die Beschaffungszeit <>0T ist könntest du das beispielsweise mit CALCDATE testen.

Code: Alles auswählen
IF CALCDATE(LocSalesLine."Lead Time Calculation", 010101D) <> 010101D THEN


Es könnte ja auch theoretisch folgende Datumsformeln geben: '0T' = '0W' = '0M' = '0J' = '1T-1T' usw..

mfg,
winfy
"Das Wissen ist das einzige Gut, das sich vermehrt, wenn man es teilt.
Wer nichts weiĂź, muss alles glauben."
...Marie von Ebner-Eschenbach
Benutzeravatar
winfy
 
Beiträge: 873
Registriert: 15. Oktober 2009 08:19
Microsoft Dynamics Produkt: Microsoft Dynamics 365
Microsoft Dynamics Version: NAV 3.x - BC 23.x

Re: Setfilter auf Dateformular

Beitragvon moag » 7. August 2014 09:30

Vielen Dank! Das war's - bin durcheinander gekommen beim dem ganzen geraffel - diese Syntax empfinde ich nciht wirklich als logisch - wieso muss ich das mit einer Text Variablen abfiltern obwohl es sich um ein Dateformular handelt?

Und wieso geht nicht Text direkt im Filter?
Nun denn - vielen Dank - gelöst..
moag
 
Beiträge: 26
Registriert: 13. Juni 2014 11:15
Realer Name: Oliver Grau
Arbeitsort: Espelkamp
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 5


ZurĂĽck zu NAV 5.xx

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast