Zeit sparen mit Feldnummern

10. Oktober 2010 15:16

Wenn man eine ganze Batterie von Feldern im Datensatz füllen muss und die Struktur der Tabelle kennt, ist es nicht notwendig, die Feldnamen einzutippen oder über F5 auszuwählen .
Einfach Field1, Field2 etc. an die Recordvariable ranhängen, den Rest erledigt der Compiler.

Code:
Item.Field1 := '4711';
Item.Field2 := '99';
Item.Field3 := 'ABC'
Item.Field5 := 'DEF';

wird dann zu

Code:
Item."No." :='4711';
Item."No. 2" :='99';
Item.Description :='ABC';
Item."Description 2" :='DEF';


Der gleiche Trick funktioniert auch bei der Feldauswahl für Filtereingaben. Hier reicht sogar die Nummer ohne "Field".

Zeit sparen mit Optionswerten

10. Oktober 2010 15:19

Ähnliches Prinzip gilt für Optionswerte:
Wenn ein Optionswert die Werte Rot, Gelb, Grün, Blau kennt, so reicht z.B.
Code:
Rec.Farbe := Rec.Farbe::G;

für ein Gelb.

Re: Zeit sparen mit Optionswerten

10. Oktober 2010 15:51

Natalie hat geschrieben:Ähnliches Prinzip gilt für Optionswerte:
Wenn ein Optionswert die Werte Rot, Gelb, Grün, Blau kennt, so reicht z.B.
Code:
Rec.Farbe := Rec.Farbe::G;

für ein Gelb.

Oder, falls die Optionswerte kryptische Abkürzungen (wie z. B. in der Berichtsauswahl) haben, dann kann man mit
ReportSelection.SETRANGE(Usage,ReportSelection.Usage::"3");
direkt die vierte(!) Option auswählen (Optionswerte werden ab 0 (Null) hochgezählt).
NAV ersetzt diese Schreibweise beim nächsten Öffnen des Objektes im Design-Mode mit dem korrekten Optionswert.
Wichtig: Die Anführungszeichen nicht vergessen, denn der Programmcode funktioniert auch ohne die Anführungszeichen, nur wird dann die Zahl nicht durch den Text ersetzt.

Um herauszufinden, welche Optionswerte erlaubt sind, kann man einfach
Record.Optionfeld := Record.OptionFeld::ASDF;
versuchen und anschließend [F11] zum Kompilieren drücken.
NAV meckert dann den ungültigen Optionswert an und liefert in der Meldung auch gleich die gültigen Optionswerte mit.