Rash thoughts about .NET, C#, F# and Dynamics NAV.


"Every solution will only lead to new problems."

Monday, 27. June 2005


Navision: Multiline-LookUp

Filed under: Navision — Steffen Forkmann at 8:46 Uhr

Im Navision ist es ganz einfach möglich ein einfaches LookUp zu machen. Will man jedoch mehrere Datensätze selektieren, muss man einige Anstregungen unternehmen. Am LookUp-Formular muss folgende Funktion hinterlegt werden:

PROCEDURE SetSelection(myRec : Record) 
BEGIN 
  CurrForm.SETSELECTIONFILTER(myRec); 
END;

Der aufrufende Code könnte dann so aussehen:

myRec.RESET; 
myRec.DELETEALL; 
myForm.SETTABLEVIEW(myRec); 
myForm.LOOKUPMODE(TRUE); 

IF myForm.RUNMODAL = ACTION::LookupOK THEN BEGIN 
  myForm.SetSelection(myRec); 
  myRec.MARKEDONLY := TRUE; 

  // Do something with the marked Records 
END; 
Tags: , ,

2 Comments »

  1. Nachtrag aus aktuellem Anlass: An dieser Stelle muss man stark aufpassen! SetSelectionFilter hat eine böse Ausnahme. Wenn man keinen Datensatz markiert oder mit Strg+A alle, dann setzt SetSelectionFilter die Satzmarken nicht.

    Navision Help: “If either all or no records are selected, marks will not be used.”

    Das führt zu dem Problem, dass man nicht weiß, ob der User nur einen Datensatz oder alle selektiert hat. Das ist sehr schlecht….

    Comment by Steffen Forkmann — Tuesday, 24. October 2006 um 15:39 Uhr

  2. Vielen Dank für die Anleitung.
    Jedoch habe ich hier eine Kleinigkeit nachzutragen:

    Alt:
    PROCEDURE SetSelection(myRec : Record)
    BEGIN
    CurrForm.SETSELECTIONFILTER(myRec);
    END;

    Neu
    PROCEDURE SetSelection(VAR myRec : Record)
    BEGIN
    CurrForm.SETSELECTIONFILTER(myRec);
    END;

    Anderenfalls werden die Markierungen nicht in den myRec der aufrufenden Section übernommen.

    Viele Grüße

    Chrom

    Comment by Chrom — Wednesday, 14. December 2011 um 16:07 Uhr

RSS feed for comments on this post. | TrackBack URI

Leave a comment

XHTML ( You can use these tags): <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> .