Microsoft Dynamics NAV 2017 Einführung in Design und ...€¦ · Business Solutions Navision sowie...

33
Microsoft Dynamics NAV 2017 – Einführung in Design und Programmierung 1

Transcript of Microsoft Dynamics NAV 2017 Einführung in Design und ...€¦ · Business Solutions Navision sowie...

Page 1: Microsoft Dynamics NAV 2017 Einführung in Design und ...€¦ · Business Solutions Navision sowie Microsoft Business Solutions Axapta umbenannt. Die Produktsparte hieß Microsoft

Microsoft Dynamics NAV 2017 – Einführung in Design und Programmierung 1

Page 2: Microsoft Dynamics NAV 2017 Einführung in Design und ...€¦ · Business Solutions Navision sowie Microsoft Business Solutions Axapta umbenannt. Die Produktsparte hieß Microsoft

2 Microsoft Dynamics NAV 2017 – Einführung in Design und Programmierung

ISBN 978-3-9502492-3-1

Herausgeber:

MBS-Training, Föhrenwaldgasse 12, 2700 Wr. Neustadt, © 2017 www.mbs-training.com

| www.msdynamicsbooks.com

MICHAELA GAYER

Microsoft Dynamics® NAV 2017

Einführung in Design und Programmierung

Page 3: Microsoft Dynamics NAV 2017 Einführung in Design und ...€¦ · Business Solutions Navision sowie Microsoft Business Solutions Axapta umbenannt. Die Produktsparte hieß Microsoft

Microsoft Dynamics NAV 2017 – Einführung in Design und Programmierung 3

Verwertung & Vervielfältigung

Dieses Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jede Verwertung

außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Herausgebers

unzulässig und strafbar. Dies gilt insbesondere für Vervielfältigungen, Übersetzungen,

Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen.

Page 4: Microsoft Dynamics NAV 2017 Einführung in Design und ...€¦ · Business Solutions Navision sowie Microsoft Business Solutions Axapta umbenannt. Die Produktsparte hieß Microsoft

4 Microsoft Dynamics NAV 2017 – Einführung in Design und Programmierung

Inhaltsverzeichnis

1 ALLGEMEINES ZU DYNAMICS NAV ........................................................ 12

1.1 Die historische Entwicklung von Dynamics NAV ............................................................ 12

1.2 Die Datenbank von Dynamics NAV ................................................................................ 18

1.3 Wo bekommt man Hilfe zu Dynamics NAV? .................................................................. 18

1.4 Was ist neu in Dynamics NAV 2017? .............................................................................. 19 1.4.1 Anwendungsbereiche .................................................................................................. 19 1.4.2 Erweiterungen bei Extensions ..................................................................................... 20 1.4.3 Smart Notifications ...................................................................................................... 20 1.4.4 Weitere Neuigkeiten ................................................................................................... 21

1.5 Allgemeine Begriffe in Dynamics NAV ........................................................................... 22

1.6 Installation der Demoumgebung ................................................................................... 25

1.7 Lizenzierung .................................................................................................................. 26

1.8 Dynamics NAV 2017 Development Environment ........................................................... 27

1.9 Übungsbeispiele in diesem Buch ................................................................................... 30

2 TABELLEN ............................................................................................. 31

2.1 Grundlagen zu Tabellen ................................................................................................. 31

2.2 Beispiel: Anlegen einer Tabelle ...................................................................................... 33

2.3 Beispiel: Dateneingabe in eine Tabelle .......................................................................... 44

2.4 Schlüssel ........................................................................................................................ 45

2.5 Beispiel: Anlegen von Schlüsseln ................................................................................... 47

2.6 Beispiel: Anlegen weiterer Tabellen .............................................................................. 49

2.7 Beispiel: Anlegen von zusätzlichen Feldern in Standardtabellen .................................... 52

2.8 Ergänzungen zu Tabellen ............................................................................................... 54

Page 5: Microsoft Dynamics NAV 2017 Einführung in Design und ...€¦ · Business Solutions Navision sowie Microsoft Business Solutions Axapta umbenannt. Die Produktsparte hieß Microsoft

Microsoft Dynamics NAV 2017 – Einführung in Design und Programmierung 5

2.9 Spezielle Tabellen .......................................................................................................... 61

3 RELATIONEN UND FLOWFIELDS ............................................................ 63

3.1 Grundlagen zu Relationen ............................................................................................. 63

3.2 Beispiel: Relationen ....................................................................................................... 66

3.3 Beispiel: Relationen 2 .................................................................................................... 67

3.4 Beispiel: Bedingte Relationen ........................................................................................ 69

3.5 FlowFields ..................................................................................................................... 72

3.6 Beispiel: FlowField ......................................................................................................... 74

3.7 FlowFilter ...................................................................................................................... 77

3.8 Beispiel: FlowFilter ........................................................................................................ 79

3.9 Beispiel: FlowField kombiniert mit FlowFilter ................................................................ 80

3.10 Beispiel: FlowFields als Basis für Stapel im Rollencenter ............................................... 84

3.11 Ergänzungen zu Relationen ........................................................................................... 89

3.12 Ergänzungen zu FlowFields ............................................................................................ 90

4 PAGES .................................................................................................. 92

4.1 Grundlagen zu Pages ..................................................................................................... 92

4.2 Arten von Pages ............................................................................................................ 92 4.2.1 Card Page ..................................................................................................................... 93 4.2.2 List Page ....................................................................................................................... 94 4.2.3 CardPart Page .............................................................................................................. 95 4.2.4 ListPart Page ................................................................................................................ 95 4.2.5 RoleCenter Page ................................................................................................................ 96 4.2.6 ListPlus Page ..................................................................................................................... 97 4.2.7 NavigatePage Page ........................................................................................................... 97

4.2.8 ConfirmationDialog Page ............................................................................................. 98 4.2.9 Worksheet Page .......................................................................................................... 98 4.2.10 Document Page ........................................................................................................... 99 4.2.11 StandardDialog Page ................................................................................................... 99

4.3 Aufbau einer Page ....................................................................................................... 100

Page 6: Microsoft Dynamics NAV 2017 Einführung in Design und ...€¦ · Business Solutions Navision sowie Microsoft Business Solutions Axapta umbenannt. Die Produktsparte hieß Microsoft

6 Microsoft Dynamics NAV 2017 – Einführung in Design und Programmierung

4.3.1 Arten von Controls .................................................................................................... 101

4.4 Lookups ....................................................................................................................... 103 4.5 Aktionen ...................................................................................................................... 107

4.6 FactBoxes .................................................................................................................... 109

4.7 Automatische Zeilennummern vergeben ..................................................................... 110

4.8 Beispiel: Listenpage ..................................................................................................... 112

4.9 Beispiel: Kartenpage ................................................................................................... 117

4.10 Beispiel: Verlinken von Liste und Karte ........................................................................ 123

4.11 Beispiel: Anlegen einer Main/SubPage ........................................................................ 125

4.12 Beispiel: Lookup .......................................................................................................... 135

4.13 Beispiel: Aktionen ....................................................................................................... 138

4.14 Beispiel: Page Factbox ................................................................................................. 147

4.15 Beispiel: System FactBox ............................................................................................. 151

4.16 Beispiel: Erstellen eines Rollencenters ......................................................................... 154

5 PROGRAMMIERSYNTAX ..................................................................... 166

5.1 Grundlagen zur Programmiersyntax ............................................................................ 166 5.1.1 Der Codeeditor .......................................................................................................... 166 5.1.2 Die Programmiersprache ........................................................................................... 173 5.1.3 Variablen, Konstanten, Funktionen ........................................................................... 173

5.1.4 Datentypen von Variablen ......................................................................................... 176 5.1.5 Trigger ....................................................................................................................... 179 5.1.6 Anweisungen/Zuweisungen ...................................................................................... 180 5.1.7 Operatoren ................................................................................................................ 180 5.1.8 IF/CASE-Statements ................................................................................................... 181

5.1.9 Schleifen .................................................................................................................... 182 5.1.10 Dokumentation im Code ........................................................................................... 183

5.1.11 Dokumentation in der Versionsliste .......................................................................... 185 5.1.12 Dokumentation im Documentation-Trigger .............................................................. 187

5.1.13 Das Symbol Menu ...................................................................................................... 187

Page 7: Microsoft Dynamics NAV 2017 Einführung in Design und ...€¦ · Business Solutions Navision sowie Microsoft Business Solutions Axapta umbenannt. Die Produktsparte hieß Microsoft

Microsoft Dynamics NAV 2017 – Einführung in Design und Programmierung 7

5.1.14 Gleichzeitige Änderung von Objekten ....................................................................... 188 5.1.15 Lizenzverwaltung ....................................................................................................... 189 5.1.16 Import und Export von Objekten............................................................................... 191

5.1.17 Der Compiler ............................................................................................................. 194 5.1.18 Der Debugger ............................................................................................................ 196

5.2 Mit Daten arbeiten ...................................................................................................... 204 5.2.1 Daten suchen und filtern ........................................................................................... 204

5.2.2 Datensätze anlegen, ändern und löschen ................................................................. 211 5.2.3 Sonstige Funktionen zum Umgang mit Daten ........................................................... 216 5.2.4 Events ........................................................................................................................ 217

5.3 Beispiel: Anlegen einer Einrichtungstabelle ................................................................. 219

5.4 Beispiel: Anlegen einer Einrichtungspage .................................................................... 221

5.5 Beispiel: Implementierung der PLZ/Ort Auswahl ......................................................... 226

5.6 Beispiel: Implementierung von Nummernserien ......................................................... 229

5.7 Beispiel: Übernahme des Eigentümernamens in die Tabelle "Immobilie" ................... 232

5.8 Beispiel: Übernahme der Kundenstammdaten in den Mietvertrag .............................. 233

5.9 Beispiel: Übernahme der Beschreibung in die Mietvertragszeile ................................. 235

5.10 Beispiel: Korrekte Berechnung der Beträge in der Mietvertragszeile ........................... 236

5.11 Beispiel: Erstellen einer Smart Notification ................................................................. 237

5.12 Beispiel: Ein Event abonnieren .................................................................................... 244

5.13 Beispiel: Korrekte Darstellung der Immobilien-Aktivitäten.......................................... 247

5.14 Überprüfung der erstellten Beispiele ........................................................................... 248

6 REPORTS ............................................................................................ 257

6.1 Grundlagen zu Berichten ............................................................................................. 257 6.1.1 Dataset Designer ....................................................................................................... 258

6.1.2 Trigger ....................................................................................................................... 262 6.1.3 Befehle und Funktionen innerhalb Dynamics NAV ................................................... 264 6.1.4 Request Page ............................................................................................................. 267

6.1.5 Report Builder vs. Reporting Services ....................................................................... 268 6.1.6 Aufbau des Report Builders ....................................................................................... 270

Page 8: Microsoft Dynamics NAV 2017 Einführung in Design und ...€¦ · Business Solutions Navision sowie Microsoft Business Solutions Axapta umbenannt. Die Produktsparte hieß Microsoft

8 Microsoft Dynamics NAV 2017 – Einführung in Design und Programmierung

6.1.7 Elemente eines Reports............................................................................................. 271 6.1.8 Ausdrücke und der Codeeditor ................................................................................. 274

6.1.9 Header und Footer .................................................................................................... 277 6.1.10 Gruppierungen .......................................................................................................... 284 6.1.11 ProcessingOnly Reports ............................................................................................. 288 6.1.12 Word Layout .............................................................................................................. 289

6.2 Beispiel: Immobilienliste ............................................................................................. 293 6.3 Beispiel: Immobilienstammblatt .................................................................................. 302

6.4 Beispiel: Mietvertrag ................................................................................................... 308

6.5 Beispiel: Rechnungserstellung ..................................................................................... 318

7 QUERIES ............................................................................................. 325

7.1 Grundlagen zu Queries ................................................................................................ 325

7.2 Der Query Designer ..................................................................................................... 325

7.3 Verlinkung von DataItems ........................................................................................... 327

7.4 Filtersetzung ................................................................................................................ 330

7.5 Sortierung ................................................................................................................... 331

7.6 Beispiel: Erstellen einer Query ..................................................................................... 332

7.7 Beispiel: Ausführen einer Query mittels C/AL .............................................................. 335

7.8 Beispiel: Einbinden einer Query in eine Page ............................................................... 337

7.9 Beispiel: Einbinden einer Query in einen Report ......................................................... 341

8 SCHNITTSTELLEN ................................................................................ 345

8.1 Grundlagen zu Schnittstellen ....................................................................................... 345

8.2 XMLport ...................................................................................................................... 346 8.2.1 Allgemeine Einstellungen .......................................................................................... 346 8.2.2 Aufbau der Struktur ................................................................................................... 350

8.2.3 Trigger ....................................................................................................................... 351

8.3 Beispiel: Datenexport in eine Textdatei ....................................................................... 353

Page 9: Microsoft Dynamics NAV 2017 Einführung in Design und ...€¦ · Business Solutions Navision sowie Microsoft Business Solutions Axapta umbenannt. Die Produktsparte hieß Microsoft

Microsoft Dynamics NAV 2017 – Einführung in Design und Programmierung 9

8.4 Beispiel: Datenexport in eine XML-Datei ..................................................................... 356

9 HAUPTMENÜ/MENUSUITE ................................................................. 362

9.1 Grundlagen zum Hauptmenü ....................................................................................... 362

9.2 Beispiel: Anpassung des Hauptmenüs ......................................................................... 366

10 STICHWORTVERZEICHNIS ................................................................... 371

Page 10: Microsoft Dynamics NAV 2017 Einführung in Design und ...€¦ · Business Solutions Navision sowie Microsoft Business Solutions Axapta umbenannt. Die Produktsparte hieß Microsoft

10 Microsoft Dynamics NAV 2017 – Einführung in Design und Programmierung

EINLEITUNG Dieses Buch aus der Reihe MBST-Books beschäftigt sich mit der Programmierung in Microsoft

Dynamics NAV Version 2017. Wir beginnen zunächst mit einfachen Einführungsbeispielen, die die

Syntax und Arbeitsweise der Applikationslogik näher bringen. Die späteren Kapitel enthalten

komplexere Beispiele, die in die Applikationslogik eingreifen. Damit versuchen wir ein

"Gesamtverständnis" für Microsoft Dynamics NAV zu erzeugen, welches für einen Programmierer

wichtig ist, damit dieser die Kundenwünsche optimal umsetzen kann. In jedem Kapitel wird auch

auf die nötige Theorie eingegangen, damit Beispiele optimal umgesetzt werden können und ein

Maximum an Praxisverständnis erreicht werden kann. Des weiteren werden Empfehlungen

abgegeben, wie der Code zu strukturieren ist, Variablen und Objekte zu benennen sind usw., um

damit eine standardnahe Programmierung und eine hohe Qualität zu erreichen.

Vorkenntnisse für dieses Buch

Grundkenntnisse der Bedienung von Dynamics NAV und ein Wissen über die grundlegenden

Abläufe von Dynamics NAV sind erforderlich, um sowohl die Beispiele als auch die

Lösungsansätze zu verstehen und umsetzen zu können.

Unter Grundkenntnisse wird z.B. Sortieren, Filtern, Anlegen und Löschen von Datensätzen,

Aufrufen von Berichten und Schnittstellen verstanden.

Unter grundsätzlichen Abläufen wird z.B. das Erstellen von Stammdaten, das Erstellen und

Verbuchen von Belegen sowie die Benutzung der Navigate-Funktion verstanden.

Ich habe immer noch Fragen!

Wie bei vielen Themen ist es auch hier schwer, eine Entscheidung zu treffen, was man zuerst

erklären soll, da vieles erst klar wird, wenn man alle Sichtweisen auf den Sachverhalt kennt.

Daher bitte ich Sie, falls noch nicht alles klar ist zu einem Thema ist, in Ruhe das Buch zu Ende zu

lesen. Viele Dinge werden in späteren Kapiteln noch genauer erklärt.

Was brauche ich, um mit diesem Buch zu arbeiten?

1. Installation der Dynamics NAV 2017-Demoumgebung.

2. Dynamics NAV Demo-Datenbank mit dem Mandanten Cronus AG. Falls Sie möchten,

können Sie auch eine Kopie Ihrer Unternehmensdatenbank verwenden, dies kann aber

zu Problemen führen, falls Sie Objekte im Rahmen dieses Buchs anlegen wollen, die

bereits in der Datenbank existieren.

3. Eine Dynamics NAV-Lizenz mit Development-Rechten. Die Demo-Lizenz (CRONUS.flf) ist

für das Umsetzen der Beispiele aus diesem Buch nicht ausreichend.

Page 11: Microsoft Dynamics NAV 2017 Einführung in Design und ...€¦ · Business Solutions Navision sowie Microsoft Business Solutions Axapta umbenannt. Die Produktsparte hieß Microsoft

Microsoft Dynamics NAV 2017 – Einführung in Design und Programmierung 11

Über die Autorin Ing. Mag. (FH) Michaela Gayer ist Trainerin im Bereich Microsoft Dynamics

NAV. Sie bildet dabei sowohl Microsoft-Partner als auch Endkunden aus

und referiert zusätzlich an Fachhochschulen. Michaela beschäftigt sich seit

1998 mit dem Produkt Dynamics NAV (vormals Navision). Begonnen hat sie

nach Abschluss einer höheren Technischen Lehranstalt als Programmiererin

und durchlief in ihrer weiteren Berufslaufbahn mehrere Berufsfelder wie

Verkauf, Beratung, Support und Projektleitung. Seit 2005 ist sie vorwiegend

als Trainerin und Coach und seit 2015 außerdem als freiberufliche Beraterin

und Programmiererin tätig.

Ihr Anspruch ist es, Themen, die auf den ersten Blick kompliziert wirken,

einfach und verständlich näher zu bringen.

Weitere Details finden Sie unter www.michaela-gayer.at

Page 12: Microsoft Dynamics NAV 2017 Einführung in Design und ...€¦ · Business Solutions Navision sowie Microsoft Business Solutions Axapta umbenannt. Die Produktsparte hieß Microsoft

12 Microsoft Dynamics NAV 2017 – Einführung in Design und Programmierung

1 Allgemeines zu Dynamics NAV

1.1 Die historische Entwicklung von Dynamics NAV Um ein umfassendes Wissen über Dynamics NAV 2017 zu erlangen und vielleicht auch die eine

oder andere Technologie besser verstehen zu können, darf ein Überblick über die geschichtliche

Entwicklung von Dynamics NAV nicht fehlen.

Dynamics NAV hieß ursprünglich Navision und wurde von Navision Software A/S, einem

dänischen Unternehmen, entwickelt. Die Softwarelösung verbreitete sich vor allem in Europa, wo

es von Navision Solution Centern (NSCs) vertrieben wurde. Die Schwerpunkte lagen und liegen in

Dänemark und Deutschland. Zeitgleich entwickelte in den Neunzigerjahren das Unternehmen

Damgaard die Lösung Axapta (heute Dynamics AX). Im Jahr 2000 fusionierten Navision Software

A/S und Damgaard und entwickelten nun die beiden Produkte Navision und Axapta gemeinsam.

Später verschwand der Name Damgaard und das Unternehmen hieß nur mehr Navision A/S.

2002 übernimmt Microsoft Navision A/S. Axapta wird unbenannt in "Microsoft Navision Axapta",

Navision wird unbenannt in "Microsoft Navision Attain". 2003 werden die Produkte in Microsoft

Business Solutions Navision sowie Microsoft Business Solutions Axapta umbenannt. Die

Produktsparte hieß Microsoft Business Solutions. Diese Bezeichnung ist auch heute noch

teilweise im Gebrauch, gemeint ist damit allerdings Microsoft Dynamics als übergeordnete

Marke der Microsoft Business-Produkte.

Im Jahr 2006 wird die Marke Microsoft Business Solutions in Microsoft Dynamics unbenannt und

beinhaltet nun folgende Produkte:

Microsoft Dynamics NAV (vormals Navision)

Microsoft Dynamics AX (vormals Axapta)

Microsoft Dynamics CRM

Microsoft Dynamics GP (vormals Great Plains)

Microsoft Dynamics SL (vormals Solomon)

Die Tabelle 1-1 gibt Ihnen einen Überblick über die Produktversionen mit dem zugehörigen

Erscheinungsdatum. Da das jeweilige Produkt nicht in allen Ländern zum gleichen Zeitpunkt auf

dem Markt kam, kann die Zeitangabe je nach Land etwas abweichen.

Jahr der Veröffentlichung Produkt

1984 PCPlus

1987 Umbenennung in Navision

1990 Navision 3.0 (DOS Version)

1992 Navision für Windows 3.10

(Prototyp für Windows 3.10, nie veröffentlicht)

1995 Navision Financials 0.9 (für Windows 95)

11/1995 Navision Financials 1.00

06/1996 Navision Financials 1.10

Page 13: Microsoft Dynamics NAV 2017 Einführung in Design und ...€¦ · Business Solutions Navision sowie Microsoft Business Solutions Axapta umbenannt. Die Produktsparte hieß Microsoft

Microsoft Dynamics NAV 2017 – Einführung in Design und Programmierung 13

04/1997 Navision Financials 1.20

11/1997 Navision Financials 1.30

08/1998 Navision Financials 2.00

07/1999 Navision Financials 2.01

12/1999 Navision Financials 2.50

10/2000 Navision Financials 2.60

2000 Navision Financials 2.60AD

2000 Navision Financials 2.60M

2001 Navision Financials 2.65

2001 Navision Solutions 3.00

09/2001 Navision Attain 3.01

05/2002 Navision Attain 3.10

09/2002 Navision Attain 3.60

07/2003 Microsoft Business Solutions Navision 3.70

03/2004 Microsoft Business Solutions Navision 3.70A

08/2005 Microsoft Business Solutions Navision 3.70B

08/2005 Microsoft Business Solutions NAV 4.00

03/2007 Dynamics NAV 5.00

04/2008 Dynamics NAV 5.00 SP1

12/2008 Dynamics NAV 2009

09/2009 Dynamics NAV 2009 SP1

12/2010 Dynamics NAV 2009 R2

09/2012 Dynamics NAV 2013

10/2013 Dynamics NAV 2013 R2

10/2014 Dynamics NAV 2015

10/2015 Dynamics NAV 2016

10/2016 Dynamics NAV 2017 Tabelle 1-1: Die verschiedenen Produktversionen von Dynamics NAV

Wie Sie anhand der Auflistung erkennen, gibt es zahlreiche unterschiedliche Produktversionen

von Dynamics NAV. Wenn Sie für einen Microsoft-Partner arbeiten, ist es sehr wahrscheinlich,

dass sie mehrere verschiedene Produktversionen betreuen bzw. zu Gesicht bekommen.

Mit der Version Dynamics NAV 2009 wurde ein neuer Client (der sogenannte RoleTailored Client)

eingeführt. Der bis dahin vorhandene Client wurde umbenannt in Classic Client. Die Version

Dynamics NAV 2009 arbeitet also parallel mit zwei Clients, dem Classic Client und dem

RoleTailored Client.

Mit Dynamics NAV 2013 wurde der Classic Client eingestellt.

Page 14: Microsoft Dynamics NAV 2017 Einführung in Design und ...€¦ · Business Solutions Navision sowie Microsoft Business Solutions Axapta umbenannt. Die Produktsparte hieß Microsoft

14 Microsoft Dynamics NAV 2017 – Einführung in Design und Programmierung

Hinweis: Benötigen Sie zusätzliche Kenntnisse in Bezug auf den Classic Client um auch in früheren Dynamics NAVVersionen

entwickeln zu können, empfehle ich Ihnen das Buch "Einführung in die Programmierung Microsoft Dynamics NAV 5.0" (ISBN: 978-3950249248).

Zur Abrundung dieses Abschnitts habe ich hier zu Ihrer Aufmunterung und für alle Nostalgiefans

einige Screenshots aus früheren Dynamics NAV-Versionen für Sie herausgesucht:

Abbildung 1-1: PCPlus

Abbildung 1-2: Hauptmenü in Navision 3.0

Page 15: Microsoft Dynamics NAV 2017 Einführung in Design und ...€¦ · Business Solutions Navision sowie Microsoft Business Solutions Axapta umbenannt. Die Produktsparte hieß Microsoft

Microsoft Dynamics NAV 2017 – Einführung in Design und Programmierung 15

Abbildung 1-3: Verkaufsauftrag in Navision 3.0

Abbildung 1-4: Kontenplan in Navision 3.0

Page 16: Microsoft Dynamics NAV 2017 Einführung in Design und ...€¦ · Business Solutions Navision sowie Microsoft Business Solutions Axapta umbenannt. Die Produktsparte hieß Microsoft

16 Microsoft Dynamics NAV 2017 – Einführung in Design und Programmierung

Abbildung 1-5: Navision Financials 2.0

Abbildung 1-6: Navision 4.0

Page 17: Microsoft Dynamics NAV 2017 Einführung in Design und ...€¦ · Business Solutions Navision sowie Microsoft Business Solutions Axapta umbenannt. Die Produktsparte hieß Microsoft

Microsoft Dynamics NAV 2017 – Einführung in Design und Programmierung 17

Abbildung 1-7: Dynamics NAV 2009

Abbildung 1-8: Dynamics NAV 2013

Page 18: Microsoft Dynamics NAV 2017 Einführung in Design und ...€¦ · Business Solutions Navision sowie Microsoft Business Solutions Axapta umbenannt. Die Produktsparte hieß Microsoft

18 Microsoft Dynamics NAV 2017 – Einführung in Design und Programmierung

Abbildung 1-9: Dynamics NAV 2013 R2

Abbildung 1-10: Dynamics NAV 2017

1.2 Die Datenbank von Dynamics NAV Während es in früheren Versionen von Dynamics NAV die Möglichkeit gab, zwischen einer SQL-

und einer nativen Datenbank im Hintergrund zu wählen, verwendet Dynamics NAV 2017

ausschließlich eine Microsoft SQL Server-Datenbank im Hintergrund.

Bis zur Version Navision 2.0 wurde eine eigens vom Navision entwickelte Datenbank verwendet.

Ab der Version 2.0 konnten Kunden zwischen der (nativen) Navision-Datenbank und Microsoft

SQL Server wählen. Anfangs brachte die SQL-Datenbank noch erhebliche Performanceeinbußen

mit sich, die aber mit jeder Produktversion reduziert wurden. Bezüglich der Sperrmechanismen

arbeitet die Navision-Datenbank auch anders als die SQL-Datenbank, was man als Programmierer

im Einzelfall zu beachten hatte.

Page 19: Microsoft Dynamics NAV 2017 Einführung in Design und ...€¦ · Business Solutions Navision sowie Microsoft Business Solutions Axapta umbenannt. Die Produktsparte hieß Microsoft

Microsoft Dynamics NAV 2017 – Einführung in Design und Programmierung 19

1.3 Wo bekommt man Hilfe zu Dynamics NAV? Zu Microsoft Dynamics NAV gibt es eine stetig wachsende Community und entsprechend sind

auch verschiedenste Quellen für Informationen vorhanden.

Neben diversen Ausbildungszentren in Deutschland, Österreich und der Schweiz gibt es die

Möglichkeit, Bücher und Schulungsunterlagen zu erwerben. Eine Übersicht aller erhältlichen

Unterlagen finden Sie unter:

www.msdynamicsbooks.com

Eine weitere immer wichtiger werdende Informationsquelle ist das Microsoft Developer Network

im Bereich Dynamics NAV. Der Link dazu lautet:

http://msdn.microsoft.com/en-us/library/cc896560.aspx

Um laufend auf dem neuesten Stand zu bleiben, sind auch folgende Blogs sehr hilfreich:

http://www.dynamicsblog.at http://www.dynamics-community.at/

http://community.dynamics.com/nav/b/ http://blogs.msdn.com/b/nav/

http://www.waldo.be/

Forum-Seiten rund um Dynamics NAV finden Sie unter den folgenden Links:

http://www.msdynamics.de/

http://dynamicsuser.net/

http://www.mibuso.com/

Hinweis: Diese Auflistung hat keinen Anspruch auf Vollständigkeit. Sie gibt lediglich einen ersten Überblick über die Microsoft Dynamics-Welt im Internet.

1.4 Was ist neu in Dynamics NAV 2017? Mit der Version Dynamics NAV 2017 wurden zahlreiche Neuigkeiten implementiert. In diesem

Abschnitt erhalten Sie einen groben Überblick über diese Neuigkeiten auf technischer Seite.

1.4.1 Anwendungsbereiche

Im Bereich des Hauptmenüs, Pages und Aktionen wurde eine neue Eigenschaft namens

ApplicationArea eingeführt. In dieser Eigenschaft lassen sich kommagetrennte Werte erfassen,

denen jeweils ein #-Zeichen vorangestellt wird. Der Benutzer hat dann die Möglichkeit,

komplette Anwendungsbereiche per Tastendruck ein- bzw. auszuschalten.

Page 20: Microsoft Dynamics NAV 2017 Einführung in Design und ...€¦ · Business Solutions Navision sowie Microsoft Business Solutions Axapta umbenannt. Die Produktsparte hieß Microsoft

20 Microsoft Dynamics NAV 2017 – Einführung in Design und Programmierung

Abbildung 1-11: Anwendungsbereich in Dynamics NAV

Hinweis: Microsoft plant diese Funktionalität noch zu ändern, da sie sehr aufwändig umzusetzen und fehleranfällig ist.

1.4.2 Erweiterungen bei Extensions

Extensions bieten Programmierern eine zusätzliche Möglichkeit, Dynamics NAV anzupassen. Bei

Extensions wird nicht der Code direkt geändert, sondern angepasster Code abseits der

Standardapplikation eingespielt und zur Laufzeit ausgeführt.

In der Tabelle 1-2 sind die erweiterten Möglichkeiten im Bereich der Extensions aufgelistet:

Page 21: Microsoft Dynamics NAV 2017 Einführung in Design und ...€¦ · Business Solutions Navision sowie Microsoft Business Solutions Axapta umbenannt. Die Produktsparte hieß Microsoft

Microsoft Dynamics NAV 2017 – Einführung in Design und Programmierung 21

NAV 2016 NAV 2017

Objekte

Pages (neu und Änderungen)

Tabellen (neu und Änderungen)

MenuSuites

Codeunits

Daten

Berechtigungssätze (pro Tenant)

Programmierung

Upgradefähig

Objekte

Reports

XMLports

Queries

.NET Add-Ins

Serverbasierende .NET Interop-Add-

Ins

Clientseitige JavaScript- und

WinForms-Control-Add-Ins

Daten

Webservices (pro Tenant)

Tabellendaten (neue Tabelle für

Extensions)

Benutzerdefinierte Reportlayouts

Sprachen

Sprachdateien

Programmierung

Verbesserte Upgrade-API

Debugger und Code Coverage

Tabelle 1-2: Erweiterungen bei Extensions

1.4.3 Smart Notifications

Smart Notifications geben dem Programmierer die Möglichkeit, Benutzern Hinweise und

Vorschläge an die Hand zu geben, ohne diese dabei in ihrer Arbeit zu unterbrechen. Der Inhalt

und die möglichen Aktionen können dabei größtenteils vom Programmierer gestaltet werden.

Benutzer haben auch die Möglichkeit, selbst zu wählen, welche Benachrichtigungen angezeigt

werden sollen.

Für die Smart Notifications wurden die neuen Datentypen Notification und NotificationScope

eingeführt. Diese Datentypen beinhalten alle Funktionen, die für die Verwendung von Smart

Notifications benötigt werden.

Page 22: Microsoft Dynamics NAV 2017 Einführung in Design und ...€¦ · Business Solutions Navision sowie Microsoft Business Solutions Axapta umbenannt. Die Produktsparte hieß Microsoft

22 Microsoft Dynamics NAV 2017 – Einführung in Design und Programmierung

Abbildung 1-12: Smart Notification in Dynamics NAV 2017

1.4.4 Weitere Neuigkeiten

Im Folgenden möchte ich Ihnen noch einige weitere wichtige oder interessante Neuerungen in

Dynamics NAV 2017 vorstellen:

Datentypen Media und MediaSet

Diese beiden Datentypen sollen in Zukunft den BLOB-Datentyp ersetzen, wenn es um das

Speichern von Medieninformationen geht. Mit dem Datentype MediaSet ist es möglich, mehrere

Dateien (Medien) innerhalb eines Datensatzes abzuspeichern. Die Daten werden dabei in der

Tabelle Tenant Media bzw. Tenant Media Set abgespeichert.

Task Scheduler

Mittels neuer Funktionen sollen Verbesserungen im Bereich der Automatisierung von Aufgaben

erreicht werden. In der Vergangenheit führte es zu Problemen, wenn eine Aufgabe hängen blieb,

da dadurch auch alle weiteren Aufgaben nicht ausgeführt wurden. Zusätzlich mussten

Warteschlangen manuell neu gestartet werden, wenn Probleme auftraten. Dies wurde nun mit

dem Task Scheduler behoben.

ExtendedDataType – Person bzw. Ressource

ExtendedDataType ist eine Eigenschaft bei Tabellenfeldern bzw. Controls auf Pages. Mittels

dieser Eigenschaft kann die Anzeige und zum Teil auch das Verhalten eines Feldes beeinflusst

werden. In Dynamics NAV 2017 wurden nun zwei neue Optionen eingeführt: Person bzw.

Ressource. Die Option Person kann bei Feldern vom Typ Media hinterlegt werden und steuert,

dass ein Bild mit einem runden statt einem eckigen Rahmen dargestellt wird. Diese Darstellung

ist allerdings nur im Webclient verfügbar.

Page 23: Microsoft Dynamics NAV 2017 Einführung in Design und ...€¦ · Business Solutions Navision sowie Microsoft Business Solutions Axapta umbenannt. Die Produktsparte hieß Microsoft

Microsoft Dynamics NAV 2017 – Einführung in Design und Programmierung 23

Abbildung 1-13: Runde Bilddarstellung im Webclient

Hinweis: Der ExtendedDataType-Wert "Ressource" war zum Zeitpunkt der Bucherstellung noch nicht verfügbar.

1.5 Allgemeine Begriffe in Dynamics NAV

In der Tabelle 1-3 finden Sie eine Auflistungen der wichtigsten Begriffe, die zum Teil spezifisch

nur für Dynamics NAV 2017 gelten.

Begriff Beschreibung

Arbeitsdatum Das Arbeitsdatum kann für die Arbeit des Benutzers innerhalb von Dynamics

NAV umgestellt werden. Dieses lässt sich im Applikationsmenü unter der

Aktion Arbeitsdatum festlegen oder durch Doppelklick auf das eingestellte Arbeitsdatum in der Statusleiste ändern. Beim Erstellen von Buchungen wird das Arbeitsdatum als Buchungsdatum vorgeschlagen. So kann ein Benutzer mit anderen Buchungsperioden arbeiten, ohne dass das Systemdatum des Betriebssystems umgestellt muss oder jedes Mal selbst das Buchungsdatum geändert werden muss. Hat das System für einen Vorgang eine Nummernserie eingerichtet, deren Nummern abhängig vom Datum vergeben werden (z.B. Rechnungsnummer für das Jahr 2016 beginnen mit DR16/0001 und für das Jahr 2017 mit DR17/0001), verwendet Dynamics NAV die Nummer anhand des eingestellten Arbeitsdatums.

AssistEdit Diese Schaltfläche wird verwendet, wenn sich für den Benutzer ein neues

Fenster öffnet, in dem bestimmte Einstellungen durchgeführt werden können.

Innerhalb der Anwendung wird diese Schaltfläche am häufigsten zur Auswahl

Page 24: Microsoft Dynamics NAV 2017 Einführung in Design und ...€¦ · Business Solutions Navision sowie Microsoft Business Solutions Axapta umbenannt. Die Produktsparte hieß Microsoft

24 Microsoft Dynamics NAV 2017 – Einführung in Design und Programmierung

einer Nummernserie verwendet. Im Programmierbereich ist diese Schaltfläche

an sehr vielen Stellen zu finden.

C/AL Heißt Client Application Language und ist die Programmiersprache, die innerhalb von Dynamics NAV verwendet wird.

Control Ein Control ist ein Designelement, das in Pages und Berichten vorkommt.

C/SIDE Steht für Client/Server Integrated Development Environment und bezeichnet die gesamte Entwicklungsumgebung in Dynamics NAV.

Drilldown

Drill

Dieser Link dient zur Anzeige von bestimmten Details. In der Anwendung findet man den Link am häufigsten, um Details zu berechneten Feldern (FlowFields) anzuzeigen.

Dropdown

Diese Schaltfläche dient dazu, dass der Benutzer eine Option auswählt. Diese Optionen sind fest vom Programmierer vorgegeben und können vom Benutzer nicht geändert werden.

Field Ein Field ist ein Feld einer Tabelle. Auf Tabellenebene spricht man von Fields, auf Page-Ebene spricht man dann von Controls.

Key Bedeutet im Deutschen "Schlüssel" und wird benötigt, um Datensätze eindeutig zu identifizieren. Des Weiteren dienen Schlüssel zur Sortierung der Daten für den Programmierer.

Lookup Diese Schaltfläche dient zum

Nachschlagen von Werten in einer anderen

Tabelle und deren Übernahme in die aktuelle Tabelle.

Objekt Die Funktionalität von Dynamics NAV basiert auf Objekten, die in der Datenbank selbst abgelegt sind. Soll innerhalb von Dynamics NAV eine Funktion programmiert werden, geschieht dies primär innerhalb eines sogenannten Objekts. In Dynamics NAV 2015 sind sieben Objektarten verfügbar. Eine Beschreibung der Objektarten finden Sie bei der Erklärung des Object Designers.

Property Darunter wird eine Eigenschaft verstanden. Jedes Objekt, Feld, Control etc. verfügt

über Eigenschaften.

Page 25: Microsoft Dynamics NAV 2017 Einführung in Design und ...€¦ · Business Solutions Navision sowie Microsoft Business Solutions Axapta umbenannt. Die Produktsparte hieß Microsoft

Microsoft Dynamics NAV 2017 – Einführung in Design und Programmierung 25

Request Page Wird in Berichten und Schnittstellen verwendet, um Benutzern die Möglichkeit zu geben, Filter und zusätzliche Optionen zu setzen.

SIFT Steht für SumIndex Field Technology und ist eine patentierte Technologie, die es mittels sehr weniger Datenbankzugriffe (und damit auch sehr schnell) ermöglicht, Summen über beliebig viele Daten zu berechnen.

Trigger Unter Trigger versteht man Code, der bei bestimmten Ereignissen ausgeführt wird. In Dynamics NAV kennt man grundsätzlich drei Arten von Triggern:

-

DOCUMENTATION TRIGGER

Diese Art von Trigger befindet sich genau einmal in jedem

Applikationsobjekt (mit Ausnahme MenuSuites). Diese Trigger

dienen ausschließlich zu Dokumentationszwecken. Auch wenn sich

darin syntaktisch korrekter Code befindet, ist es nicht möglich,

diesen Code auszuführen.

- EVENT TRIGGER

Diese Trigger werden ausgeführt, wenn sich bestimmte Ereignisse in der Datenbank ereignen. Dabei kann es sich zum Beispiel um das Einfügen eines neuen Datensatzes handeln. Event Trigger werden automatisch vom System erstellt, wenn ein neues Objekt in der Datenbank erzeugt wird. Ein Programmierer kann selbst keine Event Trigger erzeugen. Event Trigger wird immer das Präfix "On" im

Namen vorangestellt(z.B. OnInsert, OnClose, OnValidate,

OnBeforeImport …).

-

FUNCTION TRIGGER

Diese Trigger sind Funktionen, die vom Programmierer erzeugt

wurden. Function Trigger müssen explizit aufgerufen werden, damit

der darin enthaltene Code ausgeführt wird. Dies kann entweder

innerhalb desselben Objekts oder von anderen Objekten aus

erfolgen.

Ultimodatum Als Ultimodatum wird ein Datum verstanden, das genau zwischen zwei

normalen Datumswerten liegt. Als Kennzeichnung wird ein U vor das Datum

gestellt (z.B. U31.12.2016). Dieses Ultimodatum gibt dem Benutzer die

Möglichkeit, Buchungen (z.B. GuV-Konten-Nullstellung) zu erstellen, die in

normalen Auswertungen nicht enthalten sind.

Page 26: Microsoft Dynamics NAV 2017 Einführung in Design und ...€¦ · Business Solutions Navision sowie Microsoft Business Solutions Axapta umbenannt. Die Produktsparte hieß Microsoft

26 Microsoft Dynamics NAV 2017 – Einführung in Design und Programmierung

Versionsliste Die Versionsliste gibt an, in welcher Version, sowohl regional als auch produktversionsmäßig, sich ein Objekt befindet. Eine typische Versionsliste könnte so aussehen:

NAVW110.00,LIQEM5.00,NAVDACH5.00.01,MBST

Die einzelnen Teile der Versionsliste werden mit einem Komma getrennt und bedeuten:

NAVW110.00 NAV Weltweit Version 2017

NAVDACH5.00.01 Anpassung für die Region Deutschland, Österreich,

Schweiz Version 5.00 SP1

MBST Kürzel des Partners oder Kundenkürzel des

angepassten Objekts

Die Versionsliste kann nur im Object Designer gepflegt werden. Ob Sie ein Partner- oder Kundenkürzel und dieses mit oder ohne Version führen, bleibt hierbei Ihnen überlassen.

Tabelle 1-3: Allgemeine Begriffe in Dynamics NAV

1.6 Installation der Demoumgebung Vor der Installation von Dynamics NAV beachten Sie bitte die Systemvoraussetzungen, die für die

Installation notwendig sind.

Hinweis: Die Systemvoraussetzungen für die Installation finden Sie unter anderem bei Microsoft MSDN (https://msdn.microsoft.com/en-us/dynamics-nav/system-requirements-for-microsoft-dynamics-nav).

Für die in diesem Buch gezeigten Beispiele ist die Installation einer Demoumgebung von

Dynamics NAV 2017 ausreichend. Für weitere Installationsvarianten studieren Sie bitte die

entsprechende Literatur, da dies nicht Inhalt dieses Buchs ist.

Wenn Sie nicht im Besitz von Dynamics NAV 2017 sind und auch mit keinem Microsoft Dynamics

Partner in Verbindung stehen, können Sie die Software auch unter www.mibuso.com

herunterladen oder bestellen.

Zusätzlich benötigen Sie für die Beispiele in diesem Buch eine gültige Lizenz mit

DevelopmentRechten. Solche Lizenzen besitzen in der Regel nur Microsoft-Partner mit dem

entsprechenden Partner-Status.

Hinweis: Nach der Installation der Demoumgebung ist lediglich eine Demolizenz in Dynamics NAV hinterlegt. In Kapitel 5.1.15 dieses Buchs erfahren Sie, wie die Lizenz getauscht werden kann.

Page 27: Microsoft Dynamics NAV 2017 Einführung in Design und ...€¦ · Business Solutions Navision sowie Microsoft Business Solutions Axapta umbenannt. Die Produktsparte hieß Microsoft

Microsoft Dynamics NAV 2017 – Einführung in Design und Programmierung 27

Nach Abschluss der Demoinstallation von Dynamics NAV sind die folgenden Programme auf

Ihrem Rechner vorhanden:

Programm Beschreibung

Dynamics NAV 2017 Dieses Programm beinhaltet den Windows-Client für Dynamics NAV 2017. Für den einzelnen Benutzer reicht die Installation dieses Programms auf seinem Rechner aus.

Dynamics NAV 2017 Das Development Environment stellt die zentrale

Development Environment Entwicklungsplattform in Dynamics NAV 2017 dar und ist

daher auch das Hauptthema dieses Buchs.

Dynamics NAV 2017

Administration

Ein Tool, das seit der Version Dynamics NAV 2013 ausgeliefert wird, ist die Dynamics NAV Administration. Mit diesem Tool haben Sie die Möglichkeit, mehrere Serverdienste auf einfach Art und Weise zu verwalten. In diesem Buch wird darauf nicht näher eingegangen. Detaillierte Informationen zu diesem Thema finden Sie in dem Buch "Microsoft Dynamics NAV 2013 Inside" (ISBN: 978-3950249279).

Dynamics NAV 2017 Seit der Version Dynamics NAV 2013 wird zusätzlich eine

Administration Shell Erweiterung der Windows PowerShell mit ausgeliefert,

die spezielle Cmdlets für die Verwaltung von Dynamics

NAV beinhaltet. Dieses Thema wird nicht in diesem Buch

behandelt. Detaillierte Informationen zu diesem Thema

finden Sie in dem Buch "Microsoft Dynamics NAV 2013

Inside" (ISBN: 978-3950249279).

Dynamics NAV 2017

Development Shell

Seit der Version Dynamics NAV 2015 wird auch eine Erweiterung der Windows PowerShell mit ausgeliefert, die spezielle Cmdlets für die Unterstützung der Programmierung von Dynamics NAV beinhaltet. Dieses Thema wird nicht in diesem Buch behandelt.

Tabelle 1-4: Diese Programme stehen nach der Installation von Dynamics NAV auf dem Rechner zur Verfügung.

Page 28: Microsoft Dynamics NAV 2017 Einführung in Design und ...€¦ · Business Solutions Navision sowie Microsoft Business Solutions Axapta umbenannt. Die Produktsparte hieß Microsoft

28 Microsoft Dynamics NAV 2017 – Einführung in Design und Programmierung

Hinweis: Zusätzlich haben Sie ab der Version Dynamics NAV 2015 die Möglichkeit, NAV als Tablet-App zu verwenden. Seit

der Version Dynamics NAV 2016 steht auch eine Smartphone-App zur Verfügung. Diese Apps sind sowohl für Windows- und Android- als auch für Apple-Geräte verfügbar.

1.7 Lizenzierung Bei der Lizenzierung gibt es einige Aspekte zu beachten. Grundsätzlich ist der gesamte Code der

Applikation "Open Source". Dies bedeutet, jeder, der über eine Programmierlizenz verfügt, ist

auch berechtigt, den gesamten Code der Applikation einzusehen und zu ändern.

Kunden, die das Programm Dynamics NAV erwerben möchten, erwerben eigentlich eine Lizenz,

die es ihnen erlaubt und ermöglicht, verschiedene Programmbereiche zu benutzen. Des

Weiteren entscheidet der Kunde beim Kauf der Lizenz, für wie viele Benutzer er die Applikation

nutzen möchte. Hier handelt es sich aber um Concurrent User, das heißt, es zählt die Anzahl der

Benutzer, die gleichzeitig im System angemeldet sind.

Jedes Objekt in Dynamics NAV verfügt über eine eindeutige Nummer innerhalb der Objektart.

Folgende Nummernkreise sind in Dynamics NAV vorhanden:

ID Verwendbarkeit

1 .. 9.999 Microsoft weltweit

10.000 .. 49.9999 Microsoft länderspezifisch

50.000 .. 99.999 Partner

100.000 .. 99.999.999 Add-Ons, Module

2.000.000.000 .. Systemtabellen

Tabelle 1-5: Nummernkreise für Objekte

Dies bedeutet, dass alle Objekte (mit Ausnahme der MenuSuite – siehe Kapitel 9 dieses Buches)

nur im Partner-Nummernkreis angelegt werden dürfen bzw. können. Ausnahmen sind

Mitarbeiter des Microsoft Development Teams, die an der Dynamics NAV-Standardapplikation

mitarbeiten, oder Mitarbeiter eines Microsoft-Partners, die ein Add-On bzw. ein Modul

entwickeln. Für "normale" Kundenanpassungen trifft dies aber nicht zu.

1.8 Dynamics NAV 2017 Development Environment

Das Development Environment dient im Wesentlichen folgenden Aufgaben:

Anlegen neuer Datenbanken

Löschen von Datenbanken

Änderung von Datenbankeinstellungen

Starten des Debuggers

Page 29: Microsoft Dynamics NAV 2017 Einführung in Design und ...€¦ · Business Solutions Navision sowie Microsoft Business Solutions Axapta umbenannt. Die Produktsparte hieß Microsoft

Microsoft Dynamics NAV 2017 – Einführung in Design und Programmierung 29

Abfragen der Lizenzinformationen

Ändern der Lizenz bzw. Austausch der Lizenz für den Server oder für einzelne Datenbanken

Programmierung für Dynamics NAV

Einspielen von zusätzlichen Sprachmodulen

Exportieren und Importieren von Texten für/von Übersetzer

Import und Export von Programmierobjekten

Durchführung der Schemasynchronisierung und Datenupgrades

Ansicht der abonnierten Ereignisse

Nach dem Aufruf des Microsoft Dynamics NAV 2017 Development Environments haben Sie die

Möglichkeit, eine Datenbank mittels des Menübefehls Datei – Datenbank – Öffnen zu öffnen.

Hinweis: Wird die Oberfläche in englischer Sprache angezeigt, können Sie die Sprache mit dem Menübefehl Tools –

Language auf Deutsch umstellen. Sollte dort Deutsch nicht als Auswahl zur Verfügung stehen, wurde die Installation nicht korrekt vorgenommen und die deutsche Sprache muss noch installiert werden.

Um Änderungen an der Programmierung vorzunehmen, muss der Object Designer geöffnet

werden.

Der Object Designer bildet das Herzstück der Programmierung in Dynamics NAV. Sie öffnen

diesen entweder über den Menübefehl Extras – Object Designer oder die Tastenkombination

Umschalt+F12.

Abbildung 1 - 14 : Das Dialog feld zum Öffnen einer Datenbank .

Page 30: Microsoft Dynamics NAV 2017 Einführung in Design und ...€¦ · Business Solutions Navision sowie Microsoft Business Solutions Axapta umbenannt. Die Produktsparte hieß Microsoft

30 Microsoft Dynamics NAV 2017 – Einführung in Design und Programmierung

Abbildung 1-15: Der Object Designer im Dynamics NAV 2017 Development Environment

Zur besseren Veranschaulichung wurde die Spalte Caption zusätzlich eingeblendet. Hier finden

Sie eine kurze Erklärung der einzelnen Spalten:

Spalte Beschreibung

Type Ein Symbol entsprechend der Objektart

ID Eindeutige Nummer des Objekts (pro Objektart)

Name Name des Objekts (sollte immer US-Englisch sein)

Caption Titel des Objekts in der gewählten Sprache

Geändert Zeigt an, ob das Objekt geändert wurde

Versionsübersicht Zeigt die Versionsliste des Objekts an; hier kann die Liste auch

gepflegt werden

Datum Zeigt das Datum der letzten Änderung des Objekts an

Zeit Zeigt die Uhrzeit der letzten Änderung des Objekts an

Gesperrt Zeigt an, ob das Objekt von einem Benutzer für Änderungen

gesperrt wurde

Gesperrt von Zeigt an, welcher Benutzer das Objekt gesperrt hat

Compiled Zeigt an, ob das Objekt kompiliert und damit ausführbar ist Tabelle 1-6. Spalten im Object Designer

Hinweis: Die Spalten ID, Name, Geändert, Versionsübersicht, Datum und Zeit können hier direkt geändert werden!

Links im Fenster befindet sich eine Auflistung der Objektarten. Nach Auswahl einer der

Objektarten werden nur die Objekte dieser Objektart angezeigt. Mit einem Klick auf All unten in

der Auflistung werden wieder alle Objekte angezeigt.

In der Tabelle 1-7 finden Sie eine Beschreibung der einzelnen Objektarten:

Page 31: Microsoft Dynamics NAV 2017 Einführung in Design und ...€¦ · Business Solutions Navision sowie Microsoft Business Solutions Axapta umbenannt. Die Produktsparte hieß Microsoft

Microsoft Dynamics NAV 2017 – Einführung in Design und Programmierung 31

Table Hier werden die Daten der Applikation gespeichert. Zusätzlich befindet sich auch Business-Logik (Programmcode) in den Tabellen, der z.B. die Konsistenz der Datenbank sicherstellt.

Page Pages dienen zur Darstellung der Benutzeroberfläche im Client. Der

Benutzer kann mittels Pages Daten in die Applikation eingeben bzw.

Daten aus der Applikation anzeigen lassen.

Report Reports (deutsch: Berichte) dienen dazu, Daten aus der Applikation auszudrucken. Beispiele dafür sind diverse Auswertungen, aber auch eine Rechnung, Gutschrift, Mahnung … Außerdem werden Reports auch dazu verwendet, um Massendatenverarbeitungen durchzuführen.

Codeunit Codeunits dienen als sogenannte Container für Applikationscode, der an

verschiedenen Stellen in der Applikation benötigt wird. Dieser Code

wird in der Regel in Funktionen zusammengefasst.

Query Queries dienen dazu, Daten über mehrere Tabellen aus der Datenbank abzurufen und ähnlich einer SQL-Abfrage zu verbinden. Dieses Datenset kann als Basis für die Programmierung oder Diagramme verwendet werden.

XMLport XMLports dienen zum Importieren und Exportieren von Daten sowohl

im XML-Format als auch im klassischen Flatfile-Format.

MenuSuite Die MenuSuite dient zum Erstellen und Ändern des Hauptmenüs.

Tabelle 1-7: Objektarten in Dynamics NAV

Hinweis: Bis zur Version Dynamics NAV 2009 befanden sich auch noch die Objektarten Form und DataPort im Object

Designer. Diese Objektarten wurden für den klassischen Client verwendet, der mit der Version Dynamics NAV 2013

komplett eingestellt wurde. Wie Forms und DataPorts programmiert werden, ist in dem Buch "Einführung in die Programmierung Microsoft Dynamics NAV 5.0" (ISBN: 978-3950249248) beschrieben.

Im unteren Bereich des Object Designer-Fensters befinden sich Schaltflächen zum Bearbeiten der

Objekte und zum Aufruf der Programmhilfe:

Schaltfläche Beschreibung

Objektart Beschreibung

Page 32: Microsoft Dynamics NAV 2017 Einführung in Design und ...€¦ · Business Solutions Navision sowie Microsoft Business Solutions Axapta umbenannt. Die Produktsparte hieß Microsoft

32 Microsoft Dynamics NAV 2017 – Einführung in Design und Programmierung

New Ein neues Objekt kann erstellt werden

Design Ein bestehendes Objekt kann geändert werden

Run Ein Objekt kann ausgeführt werden (funktioniert nicht mit allen

Objekten!)

Hilfe Die Programmhilfe wird aufgerufen Tabelle 1-8: Schaltflächen im Object Designer

1.9 Übungsbeispiele in diesem Buch Für die Übungen in diesem Buch wurde eine fiktive Kundenanforderung ausgearbeitet, die im

Laufe dieses Buchs Schritt für Schritt umgesetzt werden soll. In diesem Abschnitt sind die

Anforderung in groben Zügen beschreiben. Die jeweiligen Details finden Sie bei den einzelnen

Übungen erläutert.

Unser Kunde betreibt eine kleine Immobilienverwaltung. Hierfür ist es notwendig, die

Stammdaten der Immobilien zu verwalten. Zusätzlich soll es möglich sein, Mietverträge

zu verwalten und automatisiert monatliche Rechnungen erstellen zu können.

Der Immobilienverwalter möchte für sich selbst eine Liste der Immobilien drucken

können.

Es soll die Möglichkeit geben, für die Besitzer der Immobilien einen Bericht

auszudrucken, der einen Überblick über die jeweiligen Immobilien gibt

(Immobilienstammblatt).

Außerdem soll es möglich sein, die Daten des Mietvertrags auszudrucken.

Es ist notwendig, per Tastendruck Daten der Immobilien für eine

ImmobilienmaklerPlattform zu exportieren. Außerdem benötigt unser Kunde eine

Funktion, um alle Mietverträge exportieren zu können.

Hinweis: Dieses Beispiel stellt nur ein vereinfachtes Praxisbeispiel dar und hat daher keinen Anspruch auf Vollständigkeit.

Die Projektdateien können Sie von unserer Webseite unter Mein Konto – Meine downloadbaren

Produkte herunterladen.

http://www.msdynamicsbooks.com/account.aspx

Hinweis: Diese Download-Option steht nur zur Verfügung, wenn Sie dieses Buch direkt über msdynamicsBooks bezogen

haben. Möchten Sie dennoch gerne die Projektdateien erhalten, können Sie diese per E-Mail unter [email protected] kostenlos anfordern.

Page 33: Microsoft Dynamics NAV 2017 Einführung in Design und ...€¦ · Business Solutions Navision sowie Microsoft Business Solutions Axapta umbenannt. Die Produktsparte hieß Microsoft

Microsoft Dynamics NAV 2017 – Einführung in Design und Programmierung 33

2 Tabellen

2.1 Grundlagen zu Tabellen Tabellen bilden die Basis eines jedes Datenbanksystems. Sie beinhalten die Applikationsdaten

und strukturieren diese. In Dynamics NAV ist es außerdem möglich, Code in Tabellen zu

hinterlegen. Hinter jeder Tabelle befinden sich Trigger (OnInsert, OnModify, OnDelete,

OnRename) und hinter jedem Feld befinden sich ebenfalls Trigger (OnValidate, OnLookup). Als

Programmierer haben Sie zusätzlich die Möglichkeit, Sourcecode in Function-Triggern zu

hinterlegen oder die bestehen Trigger durch individuellen Code zu erweitern.

Eine Tabelle kann maximal 500 Felder, 40 Schlüssel und eine Datensatzlänge von 8.000 Bytes

beinhalten. Der Name der Tabelle kann maximal 30 Zeichen lang sein. Dieser sollte auch immer

Englisch sein und einen einzigartigen Begriff darstellen. Zusätzlich zum Tabellennamen kann ein

Programmierer Captions in beliebig vielen Sprachen hinterlegen. Captions können maximal 1.024

Zeichen lang sein.

In Tabellen können Sie die folgenden Datentypen verwenden:

Datentyp Beschreibung

BLOB Dient zum Abspeichern von Memos und Bildern.

BigInteger

64-Bit-Integer

Binary Dieser Datentyp wird nicht mehr unterstützt. Es soll stattdessen der Datentype BLOB verwendet werden.

Boolean

TRUE oder FALSE

Code Alphanumerischer String bis maximal 250 Zeichen – nur Großbuchstaben

Date Werte von 01.01.0000 bis 31.12.9999

Dateformula Beinhaltet eine Datumsformel (z.B. 30T, LM+1M), diese finden Sie in der Anwendung zum Beispiel bei den Zahlungsbedingungen.

DateTime Ist eine Kombination aus Datum und Uhrzeit (Date und Time).

Decimal Dezimalzahl von -999.999.999.999.999,99 bis 999.999.999.999.999,99