Grundlegende Konzepte - Rash thoughts about .NET, C#, F#

Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav 16 Navision Objekttypen • Nur 7 verschiedene Typen von Geschäftsobjekten: – Table (Datenb...

5 downloads 447 Views 990KB Size
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