Programmierung mit Microsoft Dynamics Nav

Werbung
Steffen Forkmann | msu solutions Halle
Programmierung mit
Microsoft Dynamics Nav
Grundlegende Konzepte
[email protected]
http://www.msu-solutions.de
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
Agenda
• Was ist Dynamics NAV (Navision) eigentlich?
– Ein paar Folien zum Einstieg
– Grundlegende Konzepte
• Implementation
– Anpassung der Buchungsroutinen
– Einbau eines neuen Auswertungskriteriums
• Ausblick auf Version 5.1
2
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
3
Was ist Microsoft Dynamics NAV (Navision)
• ERP-System für kleine und mittelständische
Unternehmen (KMU)
–
–
–
–
Ursprünglich von Navision Software A/S entwickelt
2000 Zusammenschluss Navision / Damgaard
2002 Übernahme durch Microsoft
Integration in Dynamics Reihe
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
Navision weltweit
276.000
4.500
30.000
3.800
über 20
32
in 102
Kunden
Partner
Vertriebsmitarbeiter
Mitarbeiter
Jahre Erfahrung
Landesversionen
Ländern installiert
Hauptmarkt Deutschland und Dänemark
4
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
Geteilte Entwicklung
Dienstleistungen
Spezial-/BranchenKnow-how
Microsoft Partner
(z.B. msu solutions GmbH)
Standardfunktionalität
Microsoft Business Solutions
Basistechnologie
5
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
Funktionsbereiche
•
•
•
•
•
•
•
•
Finanzbuchhaltung
Debitoren & Verkauf
Service
Kreditoren & Einkauf
Marketing und CRM
Artikel & Lager
Logistik
Produktion
•
•
•
•
•
•
•
•
•
Fertigung
Kapazitätsplanung
Ressourcen
Projekte
Kostenrechnung
Anlagen
Personalwesen
Lohn
Termine
6
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
7
Finanzbuchhaltung
•
•
•
•
•
•
•
•
•
DAS zentrale Modul
Mit allen anderen Modulen vollständig verbunden
Kontenpläne
Gewinn- und Verlustrechnung
Bilanzen
Gegenüberstellung von Salden und Budgetzahlen
Liquiditätsplanung
Beliebig gestaltbare Geschäftsjahre
Auffinden zusammengehöriger Buchungen (Navigate)
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
8
Tabellen im Verkauf
Belegart:
Tabelle Verkaufskopf /
Verkaufszeile
Buchen
Liefern
Buchen
Fakturieren
zusätzlich
entstehen z. B.
Angebot, Rahmenauftrag, Auftrag,
Rechnung, Reklamation,
Gutschrift
Tabelle Verkaufslieferkopf/Verkaufslieferzeile
Tabelle Rücksendungskopf/Rücksendungszeile
Tabelle Verkaufsrechnungskopf/Verkaufsrechnungszeile
Tabelle Verkaufsgutschriftskopf/Verkaufsgutschriftszeile
Tabelle Artikelposten
Tabelle Wertposten
Tabelle Sachposten
Tabelle Debitorenposten
Tabelle MwSt.-Posten
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
Demo
Debitor Buchung
9
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
10
Grundbegriffe
C/SIDE
TM
Client/Server Integrated Development Environment
C/AL
C/SIDE Application Language
C/CAPS
Configuration and Pricing System
C/SHELL
Die Währungseinheit für C/CAPS
SIFT
TM
SumIndexField Technology
FlowField
Zur Laufzeit berechnete Felder
FlowFilter
Filter für FlowFields
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
11
C/SIDE vs. C/AL
• C/SIDE
– Entwicklungsumgebung + Datenbank
– Integrierter Debugger
• C/AL
– Interne ereignisgesteuerte aber nicht objektorientierte
Programmiersprache
– Eng mit Turbo Pascal verwandt
– Zugang zu C/AL muss in einer Entwickler-Lizenz erworben werden.
– Einige Kunden lizenzieren den Formular-Designer oder den ReportDesigner
Kein Visual Studio !
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
Client-Server-Architektur
• Client:
– Verarbeitung der Geschäftslogik
– Präsentation
– Anbindung an Office Produkte
• Server:
– Datenhaltung
• Navision Native Server
• SQL Server
• Vollständige Dezentralisierung auf dem „Client“
– z.B. für Schulungs- oder Entwicklungszwecke
12
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
Native Server vs. SQL Server
• Native Server
–
–
–
–
Hohe Stabilität, Transaktionssicherheit, Trigger
Hohe Geschwindigkeit bei der Bildung von Summen (SIFT)
Absolut wartungsarm
Soll mittelfristig ersetzt werden
• SQL Server
– Hohe Stabilität, Transaktionssicherheit, Trigger, …
– Viele weitere Features
– ABER: Administrationsaufwand wesentlich größer
13
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
14
Navision Key-Concepts
• Offener Quellcode
– Alle Objekte werden mit anpassbaren Quellcode ausgeliefert
• Durchgängiger Style-Guide
– Bedienung (und Code) sieht in allen Modulen gleich aus
• Lizensierung über Granules
– Der Kunde lizensiert nur die für ihn interessanten Module
(Beispiel: Anlagenbuchhaltung)
• Mandanten
– betriebswirtschaftliche Einheit (Firma, Niederlassung, ...)
– mehrere Mandanten pro Datenbank möglich
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
SIFT-Technologie
•
•
•
•
•
Sum-Indexed Flow Technology
Schnelle Berechnung von gefilterten Summen
Beispiel: Bewegung vom 1.2. bis 12.12.
Nur 2 Datenbankzugriffe 550 – 200
Geht pro Tabellenindex einzeln zu aktivieren
Datum
Kostenstelle
Betrag
SumIndex
01.01.2006
100
50
50
15.01.2006
100
150
200
01.02.2006
200
100
300
01.06.2006
100
50
350
12.12.2006
300
200
550
30.12.2006
200
40
590
15
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
Navision Objekttypen
• Nur 7 verschiedene Typen von Geschäftsobjekten:
–
–
–
–
–
–
–
–
Table (Datenbanktabelle mit entsprechenden Triggern)
Form (Editierbare Ansichten – Karte bzw. Liste)
Codeunit (Zusammengefasste Codeblöcke)
Report (Ausdruckbar oder „Processing Only“)
Dataport (Im-/Export als CSV-File)
XML-Port (Im-/Export als XML-File)
MenuSuite (Menu-Objekt)
[Pages] ab Dynamics NAV 5.1
16
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
17
Nummernbereiche
Standardapplikation
1 - 9.999
Entwicklungsbereich der Standardapplikation
Länderanpassungen
10.000 - 49.999
Entwicklungsbereich für Länderanpassungen
Kundenanpassungen
50.000 - 99.999
Entwicklungsbereich für Kundenanpassungen
Zusatzmodule
100.000 - 999.999.999
Entwicklungsbereich für Zusatzmodule
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
Demo
Geschäftsbereichsbuchung
18
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
19
Technische Neuerungen NAV 5.1
• Neuer rollenbasierter Client
• Neuer Objekttyp: Pages
– Neuer Page Designer in C/SIDE
– Transformationstool für existierende Forms
• Web Services
– Web Service Designer in C/SIDE
– Zugriff auf Daten und C/AL Code
• Report Design
– Integration von Visual Studio in vorhandenen Report Designer
– Aufbauend auf Reporting Services
C/SIDE BLEIBT!
19
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
20
Dynamics NAV 5.1 Architektur
Service Tier
SQL Server
Microsoft
Dynamics NAV
SQL DB
Server &
Database
Schicht
Native Server
SQL Server
Server
NAS
Service &
Application
Schicht
Client
Gewohnter Client
Business Logic
C/SIDE
Rollenbasierter
Client
UI
Schicht
ODER
21
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
Client Tier
Windows Client
Rich Client
Internet Information Server
Browser
Form
Builder
Data
Binder
Web
Services
Client
Services
SharePoint
Display Target
Render
Application
Meta data
provider
Data
Binder
Class
Library
Form
Builder
SharePoint Services
Database
Tier
RolesTailored
Client
SharePoint Client
Microsoft Dynamics NAV
Service Tier
3-Tier Architektur ab Nav 5.1
Microsoft SQL Server
Jesper Lachance Ræbild & Frank Fugl 2007
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
22
Service Tier
• Läuft auf Internet Information Server (IIS)
• Code wird weiterhin in C/AL geschrieben
– Automatisch in eine Assembly kompiliert
– Entwickler kommen jedoch nicht mit C# in Berührung
• ABER:
– Erstmals externer Zugriff auf Business Objekte
– Webservices
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
23
Reporting
• Basiert auf SQL Server 2005 Reporting Services
• Aus Navision Report wird ein Dataset generiert
– Report Definition Language (RDL) Layout wird aus
bestehender Report Struktur extrahiert
– RDL Tools: BI Development Studio oder Visual Studio
– Danach kann der Report wieder in Navision importiert
werden
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
Fazit
•
•
•
•
•
•
•
•
Große Einheitlichkeit in Design und Code
Komplette Integration aller Module
Kunde kauft nur was er benötigt (Granules)
Alle Buchungen müssen durch die selben Objekte
Buch.-Blätter
Postenkonzept
Offener Quellcode
(Kundenanpassungen direkt im Standard)
24
Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav
25
Vielen Dank
• Gibt es Fragen?
• Gerne beantworte ich diese auch via Email an
[email protected]!
• Die Vortragsfolien können auf der Webseite
http://www.navision-blog.de/ herunter
geladen werden
Herunterladen