RecordRef und Options

27. April 2006 16:13

Hi Leute,

habe heut mal n bisschen mit den Record und FieldRef´s rumgespielt, feine Sache :-P

Habe mir zB eine Codeunit gebastelt, in der ich bestimmte, über Tabelle Field abgegrenze Felder, per REPEAT/UNTIL clearen kann ;-)

Leider ist mir das Handling mit Option-Feldern nicht ganz so klar. Hat das schonmal jemand gemacht und hat da wer ein paar Tips?

Danke && Gruss, Otschko

27. April 2006 17:19

[Thema von Dynamics NAV Tipps & Tricks nach Dynamics NAV 4.xx verschoben, da es eine Frage und kein Tipp ist.]

Re: RecordRef und Options

21. September 2009 12:47

Ich häng mich hier nochmal rein: wie setzt man vernünftig ein SetRange auf eine FieldRef, wenn man auf einem Option-Feld steht? Es klappt natürlich, wenn ich den zur Option gehörenden Integerwert setze, aber so etwas wie
Code:
FieldRef.SETRANGE(FieldRef::Item);
(also mit der Option im Wortlaut) wäre schöner. Nur kriege ich´s nicht hin :-?

Re: RecordRef und Options

21. September 2009 13:01

Genauso wie auf Records:
Code:
SalesLine.SETRANGE(Type, SalesLine.Type::Item);

Innerhalb der Klammern erst das Feld, auf das gefiltert werden soll, dann auf welchen Wert gefiltert werden soll.

EDIT: Mist, verlesen! Du sprichst ja von einem FieldRef und nicht RecordRef!

Re: RecordRef und Options

21. September 2009 13:05

Hab ich vergessen :oops: , so geht´s natürlich auch:
Code:
FieldRef.SetRange(SalesLine.Type::Item);
,aber ich möchte ja flexibel sein.

Re: RecordRef und Options

21. September 2009 14:03

Nicht ganz schön aber flexibel wäre es wenn du über "OPTIONCAPTION" nach deinem Optionswert suchst. Ist er enthalten kannst du über
Code:
FieldRef.SETFILTER('DEINOPTIONSWERT');

darauf filtern.

Re: RecordRef und Options

21. September 2009 14:11

Danke :)

darüber hatte ich auch nachgedacht, jedoch mag ich dabei nicht, dass ich nur auf die Optioncaption filtern kann. Lieber wäre mir die richtige Option :-?

Sieht wohl so aus, als müsste ich dafür selbst was bauen. Eine Funktion, die den Optionstring durchkaut und den Integerwert zurück schickt ...