Projekt

Allgemein

Profil

200 ZDok Zentraldokument+Belege » Historie » Version 45

[X] Marcus F, 15.04.2016 14:02

1 1 [X] Daniel S
h1. Zentraldokument (ZDOK)
2
3
h2. Feature-Überblick, implementierte Funktionen
4
5
# Nachkommastellen vorher ermittelt
6
# *Standardtexte* für Kopf, Fuß pro Dokument über Bemerkungsverwaltung möglich; *StandardTexte für Exportkennung*
7
* Auftrag : DOKVERK_TXT_KOPF_AN / DOKVERK_TXT_KOPF_AG ; DOKVERK_TXT_FUSS_AN / DOKVERK_TXT_FUSS_AG (AN=Angebot, AG=Auftrag
8
* Lieferschein : DOKLIEFSCH_TXT_KOPF; DOKLIEFSCH_TXT_FUSS
9
* Rechnung : DOKFAKT_TXT_KOPF; DOKFAKT_TXT_FUSS
10
* Anfrage (Einkauf) : DOKANFRAGE_TXT_KOPF; DOKANFRAGE_TXT_FUSS
11
* Bestellung : DOKEINK_TXT_KOPF_RBE / DOKEINK_TXT_KOPF_BE; DOKEINK_TXT_FUSS_RBE / DOKEINK_TXT_FUSS_BE
12
* ExportKennung: EXPORT-INT; EXPORT-EU, wird anhand des Status in den Debitorendaten ermittelt
13
14
# Momentan fixe Texte für Referenzen, müßten noch erweitert werden:
15
# Ermittlung, ob mehrere Auftragsnummern im Dokument, wenn nicht, wird Auftragsnummer=Dokumentnummer, ansonsten wird Dokumentnummer als Ident verwendet
16
17
# Referenzen; Felder im View: 
18
* Eigene Nummer (Auftragsnummer, Rechnungsnummer) *position_status*, *position_identnummer*, *position_identpos*
19
* Vorgegange IdentNummer *position_identnummer1*, *position_identpos1* (siehe folgende Bsp)
20
21
*Grundfunktionen auf DB-Ebene*
22
* Schema "treporting"
23
* Funktion zum Dropen aller Views, um z.B. Datentypen zu ändern: treporting.DropView()
24
* Funktion zum Erstellen aller Views: treporting.RecreateViews()
25
26
*Hintergrund*
27
28
* Hintergrund wird per Standard aus "Prodat\System\BB-DE.emf" geladen
29
* Über das Bankkontenverzeichnis kann pro Kunde/Lieferant/Rechnung eine Bank ausgewählt werden, welche wiederrum unterschiedliche Briefbogen haben kann
30
* Im Bankkontenverzeichnis (Faktura=>Stammdaten) kann eine Bankverbindung als "Standard" hinterlegt werden, welche wiederrum auch einen abweichenden Briefbogen benennen kann.
31
* In den Spracheinstellungen (Stammdaten=>Sprachen) kann pro Sprache ein unterschiedlicher Briefbogen hinterlegt werden. Somit würde der Hintergrund in Abhängigkeit der in den Adressdaten hinterlegten Sprache umschalten.
32 27 [X] Marcus F
* Bei Neuinstallation vom Kunde Folgendes verlangen
33
** PDF oder Word des (kompletten) Briefbogens 
34
** Einzelvektordateien der Logos, falls es kein PDF gibt, in das alle Vektordateien eingebettet sind, inklusive Schriften!
35
** Vektorformate sind typischerweise PDF (falls das nicht einfach nur gescannt ist), EPS, AI
36
37 1 [X] Daniel S
38
*Sonstiges*
39
40
*Vorgaben für das DruckVorlaufFormular: http://www.prodat-sql.de/redmine/issues/4669*
41
42
* Ansprechpartner werden über 'Automatische Anrede' aus den Stammdaten der Adresse gezogen, dabei muss der Kurzname vorhanden sein
43
  Ist korrekt Herr und Frau in der Anrede hinterlegt, kann das Dokument 'Sehr geehrter Herr', 'Sehr geehrte Frau' drucken, ansonsten 'Damen und Herren'
44
  Im Englischen gibt es Ms. als Anrede, wenn nicht klar ist ob verheiratet oder nicht (der Punkt wird eigentlich im britischen Englisch nicht gesetzt) 
45
46
h1. Aufbau der Views:
47
48
h3. An Kunde:
49
50
* Auftrag:
51
# *position_identnummer* = AuftragsNr (ag_nr)
52
# *position_identpos* = ag_pos
53
# *position_identnummer1* = Eigene AnfrageNr (ag_kanf_nr)
54
# *position_identpos1* = NULL
55
# *referenz* = ag_bda; *referenz_pos* = ag_bdapos; *referenz_vondatum* = ag_bdat
56
57
* Lieferschein:
58
# *position_identnummer* = Unser Auftrag (ag_nr)
59
# *identnummer1/pos1* = NULL  => könnte man interne AnfrageNr machen
60
# *referenz* = belp_referenz=ag_bda; *referenz_pos* = ag_bdapos
61
62
* Rechnung:
63
# *position_identnummer* = Lieferschein-Nr
64
# *position_identnummer1* = Auftrags-Nr (ag_nr)
65
# *referenz* = Referenz (ag_bda)
66
67
h3. An Lieferant
68
69
* Bestellung:
70
# *position_identnummer* = Bestellung normal: Bestellnummer; Auswärtsbearbeitung: Fertigungsauftragsnr (nicht die ld_auftg der Bestellung, sondern der des Auslösenden Produktionsauftrags)
71
# *position_identpos* = ld_pos, wie oben Unterscheidung normale Bestellung, Externbearbeitung
72
# *position_identnummer1, pos1* = NULL
73
74
h2. Aufbau Views:
75
76
# Immer gleicher Aufbau: Kopfview, Positionenview, AbzuschlägePosition, Abzuschläge Gesamt
77
# *dokument_id*      = DokumentId, Dokumentnummer, ACHTUNG: Dokumentnummer auf Ausdruck kann abweichen, wenn die Auftragsnummer als Dokumentnummer genommen wird! (mehrere Auftragsnummern auf einem Dokument)
78
# *dokument_join_id* = Join schlüssel für Views: Dokumentnummer bei Auftg/Ldsdok, Belegnummer bei Rechnung
79
* Beachte Belegviews: *beld_dokunr=dokument_id ABER beld_id=dokument_join_id*, siehe Aufbau Belegview, JoinSchlüssel=BelegId und nicht die Dokumentnummer!
80
81
# *dokument_nummer*  = Ausgewiesene Dokumentnummer auf Liste: Rechnungsnummer, bei Auftrag/Bestellung Bestellnummer, ausser es sind mehrere auf Dokument, dann Dokumentnummer
82
# *doktype_force*    = interne DokumentId für DMS, da nur ein Dokument muß anhand des Statement ermittelt werden, wie es archiviert wird!
83
84 16 [X] Marcus F
h2. Doktypes:
85
86
# Auftrag: auftg_dok
87
# Lieferschein: lfs
88
# Rechnung: rechnung
89
# Bestellanfrage: bestanf 
90
# Bestellung: ldsdok_bestdok
91
# Auswärtsbestellung: awd
92
# Terminmahnung: ldsdok_bestdok_mahn
93
94 21 [S] Dominik G
h2. Bekannte Probleme und Besonderheiten
95
96
* Windows-Anzeigeoption zur Textgröße (Erhöhung der DPI) skalliert PDF-Export.
97
Sollte 100% betragen, bei größeren Werten wird der Report auf dem PDF zu klein dargestellt.
98
99 1 [X] Daniel S
h2. Konfigurierbare Einstellungen:
100
101
* ReportSettings.Ini steuert Randeinstellungen des Dokuments und des Hintergrund EMFs im Ordner /System
102
* Für mehrere Mandanten können mehrere ReportSettings.INI angelegt werden, indem der DatenbankName verschlüsselt wird. zB ReportSettings.CIMPCS.Ini. Beim Programmstart wird immer zuerst geprüft, ob es eine ReportSettings.DatenbankName.Ini gibt.
103
* Parameter:
104
105
-- *Hintergrund EMF*
106
BB.LogoFileName (Default='BB-DE.emf')
107
BB.Top
108
BB.Left
109
BB.Width  //Skalierung, Original A4 ist 794 x 1123px 
110
BB.Height //Größe der EMF kann aber abweichen, dann Skalierung an EMF anpassen
111
112
-- *Seiteneinstellung*
113
Page.TopMargin
114
Page.LeftMargin
115
Page.RightMargin
116
Page.BottomMargin
117
118
-- *Kopfdaten*
119
Page.AdressLine //Eigene Anschrift über Adresse
120
Page.AdressRight //Adresse rechts (Schweiz)
121
Page.AnrGruss=True (default False) // default werden für Lieferschein und Rechnung Anrede und Grußzeile nicht gedruckt (auch wenn im Formular angehakt)
122
--
123
Adress.AllPages=True (default False) // Adresse und Belegdetails auf allen Seiten
124
Adress.Blankline=True (default False) // macht eine Leerzeile vor dem Ort
125 42 [X] Daniel S
Adress.Fax (default True) // druckt Fax des Adressaten und Leerzeile nach Plz Ort (Bestellung) > DEFAULT true für Bestellung und Anfrage (Einkauf)
126 1 [X] Daniel S
Adress.'+<r_dokutype>+'.Fax (default False) //bei beliebigen Dokumenttyp die Faxnummer der Zieladresse ausgeben
127
KontaktKopf.Adresse.Top (default KontaktKopf.Top) // Verschiebt Kontaktdaten nach oben bzw. unten (AdressFeld)
128
KontaktKopf.Top (default 170) // Verschiebt Kontaktdaten nach oben bzw. unten (AnsprechpartnerFeld)
129
Header.ShowProv=True //Zeigt "Provisorisch" an, wenn belege nicht definitiv sind
130 39 [X] Marcus F
Header.ShowKundAnf=False // default true, Ausblenden der Kundenanfrage-Nummer im Verkauf
131 1 [X] Daniel S
Header.ShowKopie=True //Zeigt "Kopie" bei Kopiedruck an
132
Header.ShowDokuNr=False //Zeigt die Dokumentnummer bevorzugt an (Bestellung: normal wird die Bestellnummer angezeigt, hier kann gesagt werden, das doch die Dokumentnummer bevorzugt wird)
133
Header.ReferenzInKopf=True //Zieht die Referenzen (z. B. Bestell-Nr.) in den Kopf, wenn für alle Positionen gleich.
134
135
Header.BarcodeExprLifsch=<position."artikelnummer"> //Barcode für Lieferschein anzeigen und zuweisen (Wenn Option gesetzt, dann wird Barcode angezeigt) //für Verschlüsselungsfeld auch Konkatenation möglich
136
Header.BarcodeExprLifsch steuert ebenfalls Anzeige des Barcodes der Gelangensbestätigung 
137
default Header.BarcodeExprGbstg='-GBSTG-'+<WorkSql."dokument_nummer"> ist als Vorgabe bereits enthalten, kann aber überschrieben werden
138
139
Header.BarcodeExprAuftg=<position."artikelnummer"> //Barcode für Angebot/Auftrag anzeigen und zuweisen
140
Header.BarcodeExprLdsdok=<position."artikelnummer">  //Barcode für Bestellung/Auswärtsbearbeitung anzeigen und zuweisen
141
Header.BarcodeShowText=False //Text unter dem BarCode; zum Testen, ob der richtige Wert drin steht, sinnvoll
142
143
144
Kopf.AdressatDebinr=False //Anzeige der DebitorenNr, wenn vorhanden
145
Kopf.AdressatFax=False //Anzeige der FaxNr, wenn vorhanden
146
Kopf.AdressatUstID=True
147
Kopf.K_UstID=False //Anzeige der eigenen UstID
148 7 [X] Daniel S
149
-- *Preise*
150
151 37 [X] Marcus F
auswdok_preise=True //Preise für Auswärtsbearbeitung anzeigen (ansonsten wie Lieferschein->ohne Preise); setzt man True, kann man über das Vorsatzformular die Preise ausschalten; False deaktiviert die Preise generell
152 28 [X] Daniel S
ShowNurTotalNetto=True(default false) // Zeige für Einkaufsdokumente (auch Auswärtsbestellung) nur Total Netto Summe an (keine MwSt und Brutto)
153 24 [X] Marcus F
ShowNurTotalNetto.<r_dokutype>=False (default true) // Zeige getrennt für Einkauf, Anfrage, Auswärts
154 1 [X] Daniel S
155 41 [X] Marcus F
Position.OptionPriceColor=$C0C0C0 //Den Preis der Optionalpositionen in einer anderen Farbe darstellen; default ist clBlack; $C0C0C0 entspricht clSilver //Farbliste: http://docwiki.embarcadero.com/RADStudio/XE8/en/Colors_in_VCL
156 40 [X] Marcus F
157 1 [X] Daniel S
-- *Position*
158 43 [S] Dominik G
Position.ForceGroupHeaderRef=False // Zeigt für jede Position den Gruppenkopf, jedes Dokument
159
Position.'+<r_dokutype>+'.ForceGroupHeaderRef=False // Zeigt für jede Position den Gruppenkopf, je nach doktype
160 1 [X] Daniel S
Position.UseKundLiefArtNo=True //Bevorzugt wird die Kunden/Lieferantenartikelnummer (artzuo, ld_bem) als Artikelnummer angezeigt.
161
Position.'+<r_dokutype>+'.UseKundLiefArtNo=True //Einstellung von oben pro Dokument, damit anderes Verhalten von Einkauf&Verkauf möglich UseKundLiefArtNo:=GetReportSettings_B('Position.'+<r_dokutype>+'.UseKundLiefArtNo', GetReportSettings_B('Position.UseKundLiefArtNo', True));
162
Position.LabelReferenzArtNo="Referenz" //Anschrift vor dem Referenzartikel
163
Position.ReferenzPos=True      //Zeigt beide Positionsnummern an: die eigene, fortlaufend und die Bezugsposition.
164
Position.ReferenzPosFull       //Bestellnummer Kunde + Positionsnummer Kunde in Zeile! => ACHTUNG - blendet die eigene Auftragsnummer, sowie das Bestelldatum Kunde aus!!!!
165 44 [X] Marcus F
Position.APext=True // Kurzname des externen Ansprechpartner zeigen (Referenz im Verkauf mit Ansprechpartner)
166 22 [X] Marcus F
-Position.Rahmenabrufe=True // Deaktivieren der Anzeige der Abrufe eines Rahmenauftrags- > ersetzt durch RTF Option 'Überblick Rahmenabrufe anzeigen'
167 26 Anonym
Position.Rahmengesamt=True // Anstatt sämtliche Rahmenabrufe wird in einer Zeile die Gesamtmenge, Geliefert und Rest zusammengefasst
168 25 [X] Marcus F
Position.'+<r_dokutype>+'.RahmenAbrufInfo=False (default true) // auch ohne dokutype zu verwenden // Zeigt unter der Position die Information zum Rahmenabruf in Einkauf und Verkauf (kann im PosTxt.Script überschrieben werden)
169
170 13 [X] Marcus F
Position.'+<r_dokutype>+'.UseZeichnungAsArtNo=False // ZeichnungsNr wird als ArtikelNr gedruckt, je nach doktype
171 1 [X] Daniel S
Position.UseZeichnungAsArtNo=False // ZeichnungsNr wird als ArtikelNr gedruckt, wenn keine KundenartikelNr vergeben ist
172
Position.ShowWaehrung=True (default false) //Die Währung anzeigen erzwingen (Bestellung und Auswärtsbestellung, AN/AG, Rechnung) - Währung wird normalerweise wegen Redundanz nicht angezeigt (ausser GesamtsummeAnzeigen ist nicht aktiv im Einkauf und AN/AG)
173
Position.'+<r_dokutype>+'.BarcodeExpr1 //Barcode pro Position ausgeben, zB Kundenbestellnummer als Barcode zB Lieferschein => Position.lfs.BarcodeExpr1=<position."referenz">
174
Position.AbZuNachPosZusTxt=True (default false) // Zuschläge nach dem Positionstext anzeigen, zB Loll
175 15 [X] Marcus F
Position.StaffelVorPosZusTxt=True (default false) // Staffelpreise vor dem Positionstext anzeigen ! Überschneidung mit AbZuNachPosZusTxt; beide gleichzeitig true, ist bisher nicht beachtet !
176 19 [X] Marcus F
Position.StorniertFarbe=red (default gray) // Kennzeichnung stornierter Positionen mit dieser Farbe; alle HTML Farben verwendbar auch "#000000"
177 31 Anonym
Position.LieferTerminInPos=False //Lieferdatum in den Positionstext verschieben
178 1 [X] Daniel S
179 30 Anonym
Position.ShowZgnrTrans=True // Bezeichnung bzw. Übersetzung für Zeichnungsnummer ein-/ausblenden
180
Position.ShowZgidTrans=True // Bezeichnung bzw. Übersetzung für Zeichnungsindex ein-/ausblenden
181
Position.ShowMatTrans=True // Bezeichnung bzw. Übersetzung für Material ein-/ausblenden
182
Position.ShowMatNormTrans=True // Bezeichnung bzw. Übersetzung für Materialnorm ein-/ausblenden
183
Position.ShowDimTrans=True // Bezeichnung bzw. Übersetzung für Dimension ein-/ausblenden
184
185 36 [X] Marcus F
Position.ShowProjBez=True // default False Anzeige der Projektbezeichung
186
187 1 [X] Daniel S
-- *Lieferschein*
188
Position.MengeRestMenge=True   //Zeigt die Ausgangsmenge und die noch offene Menge an (zB Lieferschein - Bestellt .... Geliefert ...)
189
Footer.LFS.WareErhalten=True   //Unterschrift-Feld für Ware erhalten unter Lieferschein
190 35 [X] Marcus F
Footer.LFS.ShowVerpackungsmittel=True // default true Verpackungsmittel anzeigen
191 1 [X] Daniel S
LFS.TitelLieferTerm=True // default False Zeigt im Titel von Kopie die Spanne des Auslieferungstermins, sowie in der Position den Lagerort
192 33 [X] Marcus F
Position.ChargeDrucken=True //default True Chargen zur LieferscheinPosition drucken
193
Position.SerNrDrucken=True //default True Seriennummern zur LieferscheinPosition drucken
194 1 [X] Daniel S
195 34 [X] Marcus F
-- *Lieferkonditionen, Zahlungskonditionen, Export*
196 1 [X] Daniel S
Footer.Lieferkond.OhneVersand=False //Keine Versandart
197
Zahlung.OhneZahlBed=False //Keine Zahlungsbedingungen
198 2 [X] Daniel S
Zahlung.OhneZahlBedIf00=False //Wenn 0/0 (Zahlung/Skonto) kommt "gem. Vereinbarung" (ausser es gibt Sonderkonditionen, diese überdecken dies dann)
199 1 [X] Daniel S
Zahlung.OhneZahlungsZielTxt="Gemäß Vereinbarungen" //Zahlungskonditionen, wenn keine Zahlungsbedingungen
200
Zahlung.OhneZahlungsZielTxtRechnung="Gemäß Vereinbarungen" //zB Mattis: Sofort Netto;;; wenn nichts angegeben: => Zahlung.OhneZahlungsZielTxt
201 34 [X] Marcus F
202
Export.doktype.Hinweise=true // default false, keine Anzeige zB Export.aufedok.Hinweise=true ... für Rechnung sind die Hinweis und Ursprung aktiv und können nicht mit dem Setting ausgeschalten werden
203
Export.doktype.Ursprung=true // default false, keine Anzeige zB Export.lfs.Ursprung=true
204 1 [X] Daniel S
205
-- *Fuß*
206 29 [X] Marcus F
Footer.SpaceMFG //Default 0 erstellt einen Abstand zwischen 'Mit freundl Grüßen' und AP
207 1 [X] Daniel S
Footer.Print=True //eigener Brieffuß mit Bankdaten
208
Footer.Height (default 110) // Angabe in Px; höherer Wert rückt den Footer nach oben; relevant, wenn Inhalt des Footers bereits auf KundenEMF vorhanden und Footer.Print=false
209
210
Footer.Width.Anschrift (default 140)//Gruppe1 Postanschrift                          
211
Footer.Width.Kontaktdaten (default 178) //Gruppe2 Kontaktdaten                            
212
Footer.Width.GF (default 174) //Gruppe4 Geschäftsführer
213
214
Footer.Firma1  //default False (Inhalt von ad_fa1)
215
Footer.TitelGF //default Geschäftsführer
216
Footer.Amtsgericht  //String- Name des Amtsgerichts für Brieffuß (Ort), wenn abweichend des Ort der Firma (Felder werden in Einstellungen später nachgesetzt)
217
Footer.HRB          //String- Handelsregister (Nummer)
218 38 [S] Dominik G
Footer.LiefDatumLeistDatum=1  //Text "Lieferdatum entspricht Leistungsdatum" wenn Lieferschein vorhanden, ohne Lieferschein automatisch "Rechnugnsdatum ist Leistungsdatum"
219
Footer.LiefDatumLeistDatum=0  //immer "Rechnugnsdatum ist Leistungsdatum"
220
Footer.LiefDatumLeistDatum=-1 //Keine Angabe zu Leistungsdatum
221 1 [X] Daniel S
222
-- *Gelangensbestätigung* (siehe #4512)
223 45 [X] Marcus F
# Stammdaten: 
224
## System-Einstellung: Verkauf > Gelangensbestätigung überwachen
225
## Zentraldokument Reportsettings: 
226
### Gelangenbestg.Print=True // default false
227
### Header.BarcodeExprLifsch=<WorkSql."dokument_nummer">
228
## Recnogroup-Eintrag: 'System.Gelangensbestätigung' muss vorhanden sein ~ über Erstellungsscript und DBUpdt
229
## Euexport-Haken des Debitors ist aktiv
230
# Setzen des Parameters
231
## Parameter 'System.Gelangensbestätigung' wird beim Drucken des LFS auf False gesetzt (Gelangensbestätigung: Unterschrift erhalten) über belegdokument__a_u__lfs_beld_print
232
# Überwachung 
233
## Liste: Lagerverwaltung > Auswertung > Statistik > Überwachung Gelangensbestätigung
234
# Zurücksetzen des Parameters
235
## Scannen Lieferschein (zurück vom Kunde) über Dokumentverwaltung (Achtung nicht über Dokumentablage)
236
## Dokument enthält Barcode picndoku__a_iud__set_recno setzt 'System.Gelangensbestätigung' auf 'Unterschrift erhalten' wahr
237
## wird nicht mehr in der Liste 'Überwachung Gelangensbestätigung' angezeigt
238
239
240
241
242
243 3 [X] Daniel S
244
h2. Kundenscripts:
245 4 [X] Daniel S
246 3 [X] Daniel S
http://www.prodat-sql.de/redmine/projects/prodat-v-x/wiki/Kundenspezifische_Abl%C3%A4ufe_auf_ZDok
247
248 14 [X] Daniel S
# Initiales Script :  Report.Init.Script.pas // Ausführung im begin end für allgemeine Zusatzanforderungen   (Ende des begin/end Blocks)
249 9 [X] Marcus F
# Positionszusatztext : Report.PosTxt.Script.pas => Addiert Variable "" an den Zusatztext der Position. zB EDI-IDENT-NR
250 20 [X] Marcus F
# Footer Script : Report.Footer.Script.pas => Breiteneinstellungen und Texte der einzelnen Box können überschrieben werden (CNC eigenes Footer Script als Bsp.)
251 17 [X] Marcus F
252
253
h2. HTML für Memos
254
255
@<b> - bold text
256
<i> - text in italic
257
<u> - underlined text
258
<sub> - subscript
259
<sup> - superscript
260
<font color> - font color@
261
262
Beispiele:
263
264 18 [X] Marcus F
text <b>bold text</b> <i>text in italic</i> <b><i>bold and in italic</b></i>
265 17 [X] Marcus F
E = mc<sup>2</sup>
266
A<sub>1</sub> = B<sup>2</sup>
267
this is a usual text, <font color=red>and this is a red one</font>
268 18 [X] Marcus F
this is a usual text, <font color="#FF8030">and this is an orange one</font>
269 32 [X] Lutz G
270
271
h2. Sonstiges
272
273
* Auf dem Dokument kann ein konfigurierbarer Text zur Qualitäts-Norm angedruckt werden
274
** Zugriff im Reporting-View erfolgt über ' GetStandardTxtBemerkungsV('DOKEINKAUF_QHINT ... ' 
275
** Anpassbar über Bemerkungsverwaltung, in dem Text mit dem Bezeichner 'DOKEINKAUF_QHINT-NORMBEZEICHNUNG' angegeben wird. Ist der Bezeichner nur 'DOKEINKAUF_QHINT', wird der Text bei jeder Norm ausgegeben