Möchte man als Entwickler in den Optionen eines Feldes Anpassungen vornehmen wie beispielsweise das Feld von "nicht editirbar" auf "editierbar" setzen, so muss man dieses Feld in der dazugehörigen Tabelle heraussuchen. Bei Tabellen wie der folgenden, sind eine Vielzahl an solchen Feldern vorhanden, was den Suchprozess erschwert.
Wenn man nun weiß, wie das gesuchte Feld heißt, kann die Suche trotzdem sehr viel Zeit vereinnahmen. Es gibt folgende Möglichkeiten, in den Tabellen nach bekannten Feldern zu suchen:
Führt man obige Tabelle im Object Designer mit "Design" aus, so ist man nicht im Stande nach einem Namen zu suchen. Ein beliebter Work-Arround war und ist, sich die ganze Tabelle in ein leeres Excelsheet zu kopieren und dort dann mit der Suchfunktion den Begriff zu suchen:
Allerdings geht es auch anders:
Man muss darauf achten, dass in der Tabelle mindestens 2 Zeilen markiert sind. Dies geschieht, indem man mit der Maus in die Spalte klickt, in welcher gesucht werden soll. Die Zeilen werden dann mit gedrückter Shift-Taste und den Pfeiltasten markiert.
Hält man nun Shift weiter gedrückt, kann man (je nachdem in welcher Spalte man sucht) der Reihe nach alle Einträge, die beispielsweise mit "S" beginnen nacheinander durchgehen. Hierzu muss man bei gedrückter Shifttaste immer den Buchstaben "S" drücken.
Oftmals gerät man in eine Situation, in der man die zurückgegebenen Datensätze ändern muss. Diese benötigten Änderungen können von einem neuen Report durchgeführt werden.
Man kann die Arbeit von einem Report oder von einer Codeunit erledigen lassen. Jedoch gibt es zwei gute Gründe warum ein Report für so einen Job benutzt werden sollte:
Im Folgenden soll erklärt werden, wie man mit Hilfe eines Reports Debitoren, Kreditoren und Artikel sperrt:
Als erstes muss im Object Designer ein neuer Report mit den DataItems Customer, Vendor und Item erstellt werden.
Normalerweise werden mit Reports Daten ausgedruckt. In unserem Fall wollen wir das nicht und setzen die folgende Eigenschaft. Durch das Setzen dieser Eigenschaft erreichen wir, dass beim Ausführen des Reports nichts gedruckt und der Button Seitenansicht auf der RequestForm erst gar nicht dargstellt wird. Außerdem wird der Button Drucken durch den Button OK ausgetauscht.
Nun legt man eine "globale Variable" mit dem Namen "ModfiyAll" und vom Typ "Boolean" an. Desweiteren legt man eine "globale Textkonstante" mit dem Namen "Text000" und dem Wert "Jeden %1 sperren?".
Anschließend muss in dem "OnPreDateItem"-Trigger aller drei DataItems die folgenden Code hinterlegt werden:
IF NOT HASFILTER THEN
ModfiyAll := CONFIRM (Text000, FALSE, TABLECAPTION );
Die erste Zeile prüft, ob Filter gesetzt wurden. Ist dies nicht der Fall wird in der zweiten Zeile mit dem Befehl CONFIRM ein Dialogfenster geöffnet. In diesem Dialogfenster erscheint die Frage ob alle gesperrt werden sollen. Die Antwort des Benutzers wird in der Variable "ModifyAll" in Form TRUE/ FALSE gespeichert.
Als nächstes schreibe die folgenden vier Programmzeilen in den beiden "OnAfterGetRecord-Trigger" der DataItems "Customer" und "Vendor":
IF HASFILTER OR ModfiyAll THEN BEGIN
Blocked:=Blocked::All;
MODIFY;
END;
In dem "OnAfterGetRecord"-Trigger des DateItems "Item" die folgenden Programmzeilen:
IF HASFILTER OR ModfiyAll THEN BEGIN
Blocked:=TRUE;
MODIFY;
END;
Wir prüfen hier ob Filter gesetzt wurden oder ob die Vairable "ModfiyAll" den Wert TRUE besitzt. In beiden Fällen wird der aktuelle Datensatz gesperrt.
In Dynamics NAV sind 16.777.216 Farben definiert und hinterlegt. Wenn man eine Farbe angibt (z.B. BackColor), so wird immer ein sogenannter Farbwert von dem Programm verlangt. Dieser besagte Wert ist das Ergebnis aus einer Multiplikation der Werte von Rot, Blau und Grün.
Hier sind die Farbwerte für die häufigsten Farben in NAV:
Rot = 255
Grün = 65280
Blau = 16711680
Pink = 16711935
Gelb = 65535
Weiß = 16777215
Grau = 8421504
Schwarz = 0
Die Formel zur Berechnung dieser oben angegebenen Farbwerte lautet wie folgt:
Farbwert = Rot + (Grün*256) + (Blau*256*256)
Die Farbe ist also das Ergebnis einer Mischung aus Rot, Grün und Blau. Die jeweiligen Anteile der drei Farben in der Endfarbe können einen Wert zwischen 0 und 255 haben.
Hier noch mal die Farben von oben mit der dazugehörigen Formel:
Rot = 255 + ( 0*256) + ( 0*256*256)
Grün = 0 + (255*256) + ( 0*256*256)
Blau = 0 + ( 0*256) + (255*256*256)
Pink = 255 + ( 0*256) + (255*256*256)
Gelb = 255 + (255*256) + ( 0*256*256)
Weiß = 255 + (255*256) + (255*256*256)
Grau = 128 + (128*256) + (128*256*256)
Schwarz = 0 + ( 0*256) + ( 0*256*256)
Leider kommt es gelegentlich vor, dass sich ein Fenster (sei es durch eigenes Verschulden oder gar von selbst) so positioniert, dass man es nicht mehr verschieben kann. Man kann die Titelleiste nicht mehr greifen oder sieht sie nicht mehr.
Dieses Problem lässt sich wie folgt beheben:
In vielen Tabellen wie beispielsweise der Artikelübersicht kann es vorkommen, dass der gestartete Suchvorgang sehr lange dauert. Dies hängt jedoch nicht mit einem langsamen Server oder etwa mit dem Client zusammen. Dieses Problem hat seine Ursache in einem flasch gewählten Sortierschlüssel.
Dieser sogenannte Sortierschlüssel ist über den Menüpunkt "Ansicht - Sortierung" wählbar. Alternativ über die Tastatur mit "GROSS+F8". Je nach verwendeter Lizenz kann man hier auch weitere Sortierschlüssel editieren.
Wird beispielsweise in Artikelübersicht über das Feld „Nr.” gesucht, wählst du einen Sortierschlüssel aus, der das Feld „Nr.” enthält.
Sortierschlüssel sind von Tabelle zu Tabelle unterschiedlich. Es sollte drauf geachtet werden, dass die Tabellengröße pro angelegten Sortierschlüssel steigt.