25
Steffen Forkmann | msu solutions Halle Programmierung mit Microsoft Dynamics Nav Grundlegende Konzepte [email protected] http://www.msu-solutions.de

Grundlegende Konzepte - navision-blog.denavision-blog.de/download/basta2007_forkmann.pdf · C/SIDE BLEIBT! Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav 20 Dynamics

  • Upload
    ngodang

  • View
    226

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Grundlegende Konzepte - navision-blog.denavision-blog.de/download/basta2007_forkmann.pdf · C/SIDE BLEIBT! Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav 20 Dynamics

Steffen Forkmann | msu solutions Halle

Programmierung mit Microsoft Dynamics NavGrundlegende Konzepte

[email protected]://www.msu-solutions.de

Page 2: Grundlegende Konzepte - navision-blog.denavision-blog.de/download/basta2007_forkmann.pdf · C/SIDE BLEIBT! Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav 20 Dynamics

Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav2

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

Page 3: Grundlegende Konzepte - navision-blog.denavision-blog.de/download/basta2007_forkmann.pdf · C/SIDE BLEIBT! Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav 20 Dynamics

Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav3

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

Page 4: Grundlegende Konzepte - navision-blog.denavision-blog.de/download/basta2007_forkmann.pdf · C/SIDE BLEIBT! Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav 20 Dynamics

Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav4

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

Page 5: Grundlegende Konzepte - navision-blog.denavision-blog.de/download/basta2007_forkmann.pdf · C/SIDE BLEIBT! Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav 20 Dynamics

Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav5

Geteilte Entwicklung

Dienstleistungen

Spezial-/Branchen-Know-how

Standardfunktionalität

Microsoft Partner(z.B. msu solutions GmbH)

Basistechnologie

Microsoft Business Solutions

Page 6: Grundlegende Konzepte - navision-blog.denavision-blog.de/download/basta2007_forkmann.pdf · C/SIDE BLEIBT! Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav 20 Dynamics

Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav6

Funktionsbereiche

• Finanzbuchhaltung

• Debitoren & Verkauf

• Service

• Kreditoren & Einkauf

• Marketing und CRM

• Artikel & Lager

• Logistik

• Produktion

• Fertigung

• Kapazitätsplanung

• Ressourcen

• Projekte

• Kostenrechnung

• Anlagen

• Personalwesen

• Lohn

• Termine

Page 7: Grundlegende Konzepte - navision-blog.denavision-blog.de/download/basta2007_forkmann.pdf · C/SIDE BLEIBT! Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav 20 Dynamics

Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav7

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)

Page 8: Grundlegende Konzepte - navision-blog.denavision-blog.de/download/basta2007_forkmann.pdf · C/SIDE BLEIBT! Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav 20 Dynamics

Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav8

Tabellen im Verkauf

Tabelle Verkaufskopf / Verkaufszeile

Tabelle Verkaufsrechnungskopf/Verkaufsrechnungszeile

Tabelle Verkaufsgutschriftskopf/Verkaufsgutschriftszeile

Tabelle Verkaufslieferkopf/Verkaufslieferzeile

Tabelle Rücksendungskopf/Rücksendungszeile

Belegart: Angebot, Rahmenauftrag, Auftrag,Rechnung, Reklamation, Gutschrift

Buchen

Fakturieren

Tabelle Debitorenposten

Tabelle Sachposten

Tabelle Artikelposten

Tabelle Wertposten

Tabelle MwSt.-Posten

Buchen

Liefern

zusätzlich

entstehen z. B.

Page 9: Grundlegende Konzepte - navision-blog.denavision-blog.de/download/basta2007_forkmann.pdf · C/SIDE BLEIBT! Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav 20 Dynamics

Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav9

DemoDemo

Debitor BuchungDebitor Buchung

Page 10: Grundlegende Konzepte - navision-blog.denavision-blog.de/download/basta2007_forkmann.pdf · C/SIDE BLEIBT! Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav 20 Dynamics

Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav10

Grundbegriffe

C/SIDE TM

C/AL

C/CAPS

C/SHELL

SIFT TM

FlowField

FlowFilter

Client/Server Integrated Development Environment

C/SIDE Application Language

Configuration and Pricing System

Die Währungseinheit für C/CAPS

SumIndexField Technology

Zur Laufzeit berechnete Felder

Filter für FlowFields

Page 11: Grundlegende Konzepte - navision-blog.denavision-blog.de/download/basta2007_forkmann.pdf · C/SIDE BLEIBT! Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav 20 Dynamics

Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav11

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 Report-Designer

Kein Visual Studio !

Page 12: Grundlegende Konzepte - navision-blog.denavision-blog.de/download/basta2007_forkmann.pdf · C/SIDE BLEIBT! Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav 20 Dynamics

Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav12

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

Page 13: Grundlegende Konzepte - navision-blog.denavision-blog.de/download/basta2007_forkmann.pdf · C/SIDE BLEIBT! Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav 20 Dynamics

Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav13

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

Page 14: Grundlegende Konzepte - navision-blog.denavision-blog.de/download/basta2007_forkmann.pdf · C/SIDE BLEIBT! Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav 20 Dynamics

Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav14

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

Page 15: Grundlegende Konzepte - navision-blog.denavision-blog.de/download/basta2007_forkmann.pdf · C/SIDE BLEIBT! Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav 20 Dynamics

Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav15

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

20015010015.01.2006

200

300

100

200

100

Kostenstelle

5904030.12.2006

55020012.12.2006

3505001.06.2006

30010001.02.2006

505001.01.2006

SumIndexBetragDatum

Page 16: Grundlegende Konzepte - navision-blog.denavision-blog.de/download/basta2007_forkmann.pdf · C/SIDE BLEIBT! Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav 20 Dynamics

Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav16

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

Page 17: Grundlegende Konzepte - navision-blog.denavision-blog.de/download/basta2007_forkmann.pdf · C/SIDE BLEIBT! Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav 20 Dynamics

Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav17

Nummernbereiche

Kundenanpassungen 50.000 - 99.999

Entwicklungsbereich für Kundenanpassungen

Standardapplikation 1 - 9.999Entwicklungsbereich der Standardapplikation

Länderanpassungen 10.000 - 49.999Entwicklungsbereich für Länderanpassungen

Zusatzmodule 100.000 - 999.999.999Entwicklungsbereich für Zusatzmodule

Page 18: Grundlegende Konzepte - navision-blog.denavision-blog.de/download/basta2007_forkmann.pdf · C/SIDE BLEIBT! Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav 20 Dynamics

Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav18

DemoDemo

GeschäftsbereichsbuchungGeschäftsbereichsbuchung

Page 19: Grundlegende Konzepte - navision-blog.denavision-blog.de/download/basta2007_forkmann.pdf · C/SIDE BLEIBT! Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav 20 Dynamics

Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav19

Technische Neuerungen NAV 5.1Technische 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

19

C/SIDE BLEIBT!

Page 20: Grundlegende Konzepte - navision-blog.denavision-blog.de/download/basta2007_forkmann.pdf · C/SIDE BLEIBT! Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav 20 Dynamics

Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav20

Dynamics NAV 5.1 ArchitekturDynamics NAV 5.1 Architektur

Native ServerNative Server

SQL ServerSQL Server

GewohnterGewohnter ClientClient

Business Logic Business Logic

C/SIDEC/SIDE

Clie

nt

Clie

nt

Se

rve

rS

erv

er

NASNAS

Microsoft Microsoft Dynamics NAV Dynamics NAV

SQL DBSQL DB

SQL ServerSQL Server

RollenbasierterRollenbasierter

ClientClient

UI

UI

Schic

ht

Schic

ht

Se

rve

r &

Se

rve

r &

Da

tab

ase

D

ata

ba

se

Schic

ht

Schic

ht

Service TierService Tier

Se

rvic

e &

Se

rvic

e &

Ap

plic

atio

n

Ap

plic

atio

n

Schic

ht

Schic

ht

ODERODER

Page 21: Grundlegende Konzepte - navision-blog.denavision-blog.de/download/basta2007_forkmann.pdf · C/SIDE BLEIBT! Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav 20 Dynamics

Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav21

Mic

rosoft

Dyna

mic

s N

AV

Serv

ice T

ier

Sha

reP

oin

t Se

rvic

es

Inte

rne

t In

form

atio

n S

erv

er

Web Services

Client Services

ApplicationMeta data provider

Class Library

SharePoint Display Target

Render

Data Binder

Form Builder

Clie

nt T

ier

Microsoft SQL Server

Win

do

ws C

lien

tR

ich

Clie

nt

Form Builder

Data Binder

RolesTailoredClient

BrowserS

ha

reP

oin

t Clie

nt

Data

base

Tie

r

3-Tier Architektur ab Nav 5.1

JesperJesper LachanceLachance RRææbildbild & Frank & Frank FuglFugl 20072007

Page 22: Grundlegende Konzepte - navision-blog.denavision-blog.de/download/basta2007_forkmann.pdf · C/SIDE BLEIBT! Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav 20 Dynamics

Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav22

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

Page 23: Grundlegende Konzepte - navision-blog.denavision-blog.de/download/basta2007_forkmann.pdf · C/SIDE BLEIBT! Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav 20 Dynamics

Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav23

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

Page 24: Grundlegende Konzepte - navision-blog.denavision-blog.de/download/basta2007_forkmann.pdf · C/SIDE BLEIBT! Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav 20 Dynamics

Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav24

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)

Page 25: Grundlegende Konzepte - navision-blog.denavision-blog.de/download/basta2007_forkmann.pdf · C/SIDE BLEIBT! Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav 20 Dynamics

Steffen Forkmann | Programmierung mit Microsoft Dynamics Nav25

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