Projekt

Allgemein

Profil

200 ZDok Zentraldokument+Belege » Historie » Version 63

[X] Daniel S, 23.08.2018 22:17

1 1 [X] Daniel S
h1. Zentraldokument (ZDOK)
2
3 63 [X] Daniel S
h2. *FAQ Kunde*
4 62 [X] Daniel S
5
* Warum ist die Dokumentnummer 2 mal: oben rechts im Block und als Überschrift
6
+ Weil sonst beim Abheften im Ordner und Durchblättern nicht mehr zu sehen ist, was für ein Dokument es ist.
7
* Warum ist der Rabatt nicht als Spalte
8
+ Weil er sich dynamisch ein- und ausblendet und sonst bei 0 der Kunde fragt: wieso kein Rabatt
9
* Warum kommen bei Sammelrechnungen die Lieferscheine über die Position und nicht im Kopf
10
+ Weil es mehrere geben kann. Ist das änderbar: NEIN. (nur dahingehend, das die Nummern immer über den Positionen stehen und nie im Kopf)
11
12 1 [X] Daniel S
h2. Feature-Überblick, implementierte Funktionen
13
14
# Nachkommastellen vorher ermittelt
15
# *Standardtexte* für Kopf, Fuß pro Dokument über Bemerkungsverwaltung möglich; *StandardTexte für Exportkennung*
16 46 [S] Dominik G
** Auftrag : DOKVERK_TXT_KOPF_AN / DOKVERK_TXT_KOPF_AG ; DOKVERK_TXT_FUSS_AN / DOKVERK_TXT_FUSS_AG (AN=Angebot, AG=Auftrag
17
** Lieferschein : DOKLIEFSCH_TXT_KOPF; DOKLIEFSCH_TXT_FUSS
18
** Rechnung : DOKFAKT_TXT_KOPF; DOKFAKT_TXT_FUSS
19
** Anfrage (Einkauf) : DOKANFRAGE_TXT_KOPF; DOKANFRAGE_TXT_FUSS
20
** Bestellung : DOKEINK_TXT_KOPF_RBE / DOKEINK_TXT_KOPF_BE; DOKEINK_TXT_FUSS_RBE / DOKEINK_TXT_FUSS_BE
21
** ExportKennung: EXPORT-INT; EXPORT-EU, wird anhand des Status in den Debitorendaten ermittelt
22 1 [X] Daniel S
23 46 [S] Dominik G
# Momentan fixe Texte für Referenzen, müssten noch erweitert werden:
24 1 [X] Daniel S
# Ermittlung, ob mehrere Auftragsnummern im Dokument, wenn nicht, wird Auftragsnummer=Dokumentnummer, ansonsten wird Dokumentnummer als Ident verwendet
25
26
# Referenzen; Felder im View: 
27 46 [S] Dominik G
** Eigene Nummer (Auftragsnummer, Rechnungsnummer) *position_status*, *position_identnummer*, *position_identpos*
28
** Vorgegange IdentNummer *position_identnummer1*, *position_identpos1* (siehe folgende Bsp)
29 1 [X] Daniel S
30
*Grundfunktionen auf DB-Ebene*
31
* Schema "treporting"
32
* Funktion zum Dropen aller Views, um z.B. Datentypen zu ändern: treporting.DropView()
33
* Funktion zum Erstellen aller Views: treporting.RecreateViews()
34
35
*Hintergrund*
36
* Hintergrund wird per Standard aus "Prodat\System\BB-DE.emf" geladen
37
* Über das Bankkontenverzeichnis kann pro Kunde/Lieferant/Rechnung eine Bank ausgewählt werden, welche wiederrum unterschiedliche Briefbogen haben kann
38
* Im Bankkontenverzeichnis (Faktura=>Stammdaten) kann eine Bankverbindung als "Standard" hinterlegt werden, welche wiederrum auch einen abweichenden Briefbogen benennen kann.
39
* 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.
40 51 [X] Marcus F
* Bei Neuinstallation vom Kunde Folgendes verlangen ~ INFO [[EMF]]
41 27 [X] Marcus F
** PDF oder Word des (kompletten) Briefbogens 
42 1 [X] Daniel S
** Einzelvektordateien der Logos, falls es kein PDF gibt, in das alle Vektordateien eingebettet sind, inklusive Schriften!
43
** Vektorformate sind typischerweise PDF (falls das nicht einfach nur gescannt ist), EPS, AI
44
45
46
*Sonstiges*
47
48
*Vorgaben für das DruckVorlaufFormular: http://www.prodat-sql.de/redmine/issues/4669*
49
* Ansprechpartner werden über 'Automatische Anrede' aus den Stammdaten der Adresse gezogen, dabei muss der Kurzname vorhanden sein
50
  Ist korrekt Herr und Frau in der Anrede hinterlegt, kann das Dokument 'Sehr geehrter Herr', 'Sehr geehrte Frau' drucken, ansonsten 'Damen und Herren'
51 46 [S] Dominik G
  Im Englischen gibt es Ms. als Anrede, wenn nicht klar ist ob verheiratet oder nicht (der Punkt wird eigentlich im britischen Englisch nicht gesetzt)
52 1 [X] Daniel S
53 46 [S] Dominik G
*Folgedokumente*
54
* Betrifft z.B. Zeichnungen oder anderweitige Konstruktionsdokumente (aus Artikelstamm), die beim Versenden von Externdokumenten per Email angehangen werden sollen.
55
* Muss pro Kunde eingestellt werden.
56
* http://redmine.prodat-sql.de/projects/prodat-v-x/wiki/Folgedokument
57
* Spezielles SQL bzgl. Folgedokumente anhand Stücklistenauflösung siehe unten.
58 1 [X] Daniel S
59 46 [S] Dominik G
h1. Aufbau der Views
60 1 [X] Daniel S
61 46 [S] Dominik G
*An Kunde*
62
63 1 [X] Daniel S
* Auftrag:
64 46 [S] Dominik G
## *position_identnummer* = AuftragsNr (ag_nr)
65
## *position_identpos* = ag_pos
66
## *position_identnummer1* = Eigene AnfrageNr (ag_kanf_nr)
67
## *position_identpos1* = NULL
68
## *referenz* = ag_bda; *referenz_pos* = ag_bdapos; *referenz_vondatum* = ag_bdat
69 1 [X] Daniel S
70
* Lieferschein:
71 46 [S] Dominik G
## *position_identnummer* = Unser Auftrag (ag_nr)
72
## *identnummer1/pos1* = NULL  => könnte man interne AnfrageNr machen
73
## *referenz* = belp_referenz=ag_bda; *referenz_pos* = ag_bdapos
74 1 [X] Daniel S
75
* Rechnung:
76 46 [S] Dominik G
## *position_identnummer* = Lieferschein-Nr
77
## *position_identnummer1* = Auftrags-Nr (ag_nr)
78
## *referenz* = Referenz (ag_bda)
79 1 [X] Daniel S
80 46 [S] Dominik G
*An Lieferant*
81 1 [X] Daniel S
82
* Bestellung:
83 46 [S] Dominik G
## *position_identnummer* = Bestellung normal: Bestellnummer; Auswärtsbearbeitung: Fertigungsauftragsnr (nicht die ld_auftg der Bestellung, sondern der des Auslösenden Produktionsauftrags)
84
## *position_identpos* = ld_pos, wie oben Unterscheidung normale Bestellung, Externbearbeitung
85
## *position_identnummer1, pos1* = NULL
86 1 [X] Daniel S
87 46 [S] Dominik G
h2. Aufbau Views
88 1 [X] Daniel S
89
# Immer gleicher Aufbau: Kopfview, Positionenview, AbzuschlägePosition, Abzuschläge Gesamt
90
# *dokument_id*      = DokumentId, Dokumentnummer, ACHTUNG: Dokumentnummer auf Ausdruck kann abweichen, wenn die Auftragsnummer als Dokumentnummer genommen wird! (mehrere Auftragsnummern auf einem Dokument)
91
# *dokument_join_id* = Join schlüssel für Views: Dokumentnummer bei Auftg/Ldsdok, Belegnummer bei Rechnung
92 16 [X] Marcus F
* Beachte Belegviews: *beld_dokunr=dokument_id ABER beld_id=dokument_join_id*, siehe Aufbau Belegview, JoinSchlüssel=BelegId und nicht die Dokumentnummer!
93
94
# *dokument_nummer*  = Ausgewiesene Dokumentnummer auf Liste: Rechnungsnummer, bei Auftrag/Bestellung Bestellnummer, ausser es sind mehrere auf Dokument, dann Dokumentnummer
95
# *doktype_force*    = interne DokumentId für DMS, da nur ein Dokument muß anhand des Statement ermittelt werden, wie es archiviert wird!
96
97 46 [S] Dominik G
h2. Doktypes
98 16 [X] Marcus F
99
# Auftrag: auftg_dok
100
# Lieferschein: lfs
101
# Rechnung: rechnung
102 21 [S] Dominik G
# Bestellanfrage: bestanf 
103
# Bestellung: ldsdok_bestdok
104
# Auswärtsbestellung: awd
105
# Terminmahnung: ldsdok_bestdok_mahn
106
107 1 [X] Daniel S
h2. Bekannte Probleme und Besonderheiten
108
109
* Windows-Anzeigeoption zur Textgröße (Erhöhung der DPI) skalliert PDF-Export.
110 55 [S] Dominik G
** Wenn Option _DPI-Skalierung im Stil von Windows XP verwenden_ wird der Report auf dem PDF zu klein dargestellt.
111
Sollte in dem Fall 100% betragen.
112 56 [X] Daniel S
+ Windows > Anzeigeeinstellungen (dort wo Auflösung)
113 1 [X] Daniel S
114 46 [S] Dominik G
h2. Konfigurierbare Einstellungen
115 1 [X] Daniel S
116
* ReportSettings.Ini steuert Randeinstellungen des Dokuments und des Hintergrund EMFs im Ordner /System
117
* 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.
118 49 [X] Marcus F
* Barcodes für jede Adresse individuell: [[Barcode-Zentraldokument]]
119 1 [X] Daniel S
120 61 [X] Marcus F
h3. Hintergrund EMF
121
122 1 [X] Daniel S
BB.LogoFileName (Default='BB-DE.emf')
123
BB.Top
124
BB.Left
125
BB.Width  //Skalierung, Original A4 ist 794 x 1123px 
126
BB.Height //Größe der EMF kann aber abweichen, dann Skalierung an EMF anpassen
127
128 61 [X] Marcus F
129
h3. Seiteneinstellung
130
131 1 [X] Daniel S
Page.TopMargin
132
Page.LeftMargin
133
Page.RightMargin
134
Page.BottomMargin
135
136 61 [X] Marcus F
137
h3. Kopfdaten
138
139 1 [X] Daniel S
Page.AdressLine //Eigene Anschrift über Adresse
140 42 [X] Daniel S
Page.AdressRight //Adresse rechts (Schweiz)
141 1 [X] Daniel S
Page.AnrGruss=True (default False) // default werden für Lieferschein und Rechnung Anrede und Grußzeile nicht gedruckt (auch wenn im Formular angehakt)
142
--
143
Adress.AllPages=True (default False) // Adresse und Belegdetails auf allen Seiten
144
Adress.Blankline=True (default False) // macht eine Leerzeile vor dem Ort
145 39 [X] Marcus F
Adress.Fax (default True) // druckt Fax des Adressaten und Leerzeile nach Plz Ort (Bestellung) > DEFAULT true für Bestellung und Anfrage (Einkauf)
146 1 [X] Daniel S
Adress.'+<r_dokutype>+'.Fax (default False) //bei beliebigen Dokumenttyp die Faxnummer der Zieladresse ausgeben
147
KontaktKopf.Adresse.Top (default KontaktKopf.Top) // Verschiebt Kontaktdaten nach oben bzw. unten (AdressFeld)
148
KontaktKopf.Top (default 170) // Verschiebt Kontaktdaten nach oben bzw. unten (AnsprechpartnerFeld)
149
Header.ShowProv=True //Zeigt "Provisorisch" an, wenn belege nicht definitiv sind
150
Header.ShowKundAnf=False // default true, Ausblenden der Kundenanfrage-Nummer im Verkauf
151
Header.ShowKopie=True //Zeigt "Kopie" bei Kopiedruck an
152
Header.ShowDokuNr=False //Zeigt die Dokumentnummer bevorzugt an (Bestellung: normal wird die Bestellnummer angezeigt, hier kann gesagt werden, das doch die Dokumentnummer bevorzugt wird)
153
Header.ReferenzInKopf=True //Zieht die Referenzen (z. B. Bestell-Nr.) in den Kopf, wenn für alle Positionen gleich.
154 50 [X] Jens M
Header.ReferenzInKopf.awd=False //Pro Dokumenttyp einstellbar, ob HeaderImKopf (<r_dokutype>)
155 1 [X] Daniel S
156
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
157
Header.BarcodeExprLifsch steuert ebenfalls Anzeige des Barcodes der Gelangensbestätigung 
158
default Header.BarcodeExprGbstg='-GBSTG-'+<WorkSql."dokument_nummer"> ist als Vorgabe bereits enthalten, kann aber überschrieben werden
159
160
Header.BarcodeExprAuftg=<position."artikelnummer"> //Barcode für Angebot/Auftrag anzeigen und zuweisen
161
Header.BarcodeExprLdsdok=<position."artikelnummer">  //Barcode für Bestellung/Auswärtsbearbeitung anzeigen und zuweisen
162 7 [X] Daniel S
Header.BarcodeShowText=False //Text unter dem BarCode; zum Testen, ob der richtige Wert drin steht, sinnvoll
163
164
Kopf.AdressatDebinr=False //Anzeige der DebitorenNr, wenn vorhanden
165 1 [X] Daniel S
Kopf.AdressatFax=False //Anzeige der FaxNr, wenn vorhanden
166
Kopf.AdressatUstID=True
167 37 [X] Marcus F
Kopf.K_UstID=False //Anzeige der eigenen UstID
168 24 [X] Marcus F
169 1 [X] Daniel S
170 61 [X] Marcus F
h3. Preise
171
172 1 [X] Daniel S
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
173
ShowNurTotalNetto=True(default false) // Zeige für Einkaufsdokumente (auch Auswärtsbestellung) nur Total Netto Summe an (keine MwSt und Brutto)
174
ShowNurTotalNetto.<r_dokutype>=False (default true) // Zeige getrennt für Einkauf, Anfrage, Auswärts
175 43 [S] Dominik G
176
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
177 1 [X] Daniel S
178 61 [X] Marcus F
179
h3. Position
180
181 1 [X] Daniel S
Position.ForceGroupHeaderRef=False // Zeigt für jede Position den Gruppenkopf, jedes Dokument
182
Position.ShowAnNr=True  //Anzeige Projektnummer
183 54 [X] Daniel S
Position.'+<r_dokutype>+'.ForceGroupHeaderRef=False // Zeigt für jede Position den Gruppenkopf, je nach doktype
184 1 [X] Daniel S
Position.UseKundLiefArtNo=True //Bevorzugt wird die Kunden/Lieferantenartikelnummer (artzuo, ld_bem) als Artikelnummer angezeigt.
185 44 [X] Marcus F
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));
186 22 [X] Marcus F
Position.LabelReferenzArtNo="Referenz" //Anschrift vor dem Referenzartikel
187 61 [X] Marcus F
Position.ReferenzPos=False      //default true; Zeigt beide Positionsnummern an: die eigene, fortlaufend und die Bezugsposition.
188
Position.'+<r_dokutype>+'.ReferenzPos=False //default true; Zeigt beide Positionsnummern an: die eigene, fortlaufend und die Bezugsposition. kann pro Dokumenttyp abgeschalten werden
189 25 [X] Marcus F
Position.ReferenzPosFull       //Bestellnummer Kunde + Positionsnummer Kunde in Zeile! => ACHTUNG - blendet die eigene Auftragsnummer, sowie das Bestelldatum Kunde aus!!!!
190 60 [X] Daniel S
Position.APext=True // Kurzname des externen Ansprechpartner zeigen (Referenz im Verkauf mit Ansprechpartner)
191
> DS bewusst auf true gesetzt. in reportsettings deaktivieren, wenn nicht gewünscht. 2017-11-07
192 1 [X] Daniel S
-Position.Rahmenabrufe=True // Deaktivieren der Anzeige der Abrufe eines Rahmenauftrags- > ersetzt durch RTF Option 'Überblick Rahmenabrufe anzeigen'
193
Position.Rahmengesamt=True // Anstatt sämtliche Rahmenabrufe wird in einer Zeile die Gesamtmenge, Geliefert und Rest zusammengefasst
194
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)
195
196 15 [X] Marcus F
Position.'+<r_dokutype>+'.UseZeichnungAsArtNo=False // ZeichnungsNr wird als ArtikelNr gedruckt, je nach doktype
197 19 [X] Marcus F
Position.UseZeichnungAsArtNo=False // ZeichnungsNr wird als ArtikelNr gedruckt, wenn keine KundenartikelNr vergeben ist
198 1 [X] Daniel S
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)
199 30 Anonym
Position.'+<r_dokutype>+'.BarcodeExpr1 //Barcode pro Position ausgeben, zB Kundenbestellnummer als Barcode zB Lieferschein => Position.lfs.BarcodeExpr1=<position."referenz">
200
Position.AbZuNachPosZusTxt=True (default false) // Zuschläge nach dem Positionstext anzeigen, zB Loll
201
Position.StaffelVorPosZusTxt=True (default false) // Staffelpreise vor dem Positionstext anzeigen ! Überschneidung mit AbZuNachPosZusTxt; beide gleichzeitig true, ist bisher nicht beachtet !
202
Position.StorniertFarbe=red (default gray) // Kennzeichnung stornierter Positionen mit dieser Farbe; alle HTML Farben verwendbar auch "#000000"
203
Position.LieferTerminInPos=False //Lieferdatum in den Positionstext verschieben
204
205 1 [X] Daniel S
Position.ShowZgnrTrans=True // Bezeichnung bzw. Übersetzung für Zeichnungsnummer ein-/ausblenden
206
Position.ShowZgidTrans=True // Bezeichnung bzw. Übersetzung für Zeichnungsindex ein-/ausblenden
207
Position.ShowMatTrans=True // Bezeichnung bzw. Übersetzung für Material ein-/ausblenden
208 36 [X] Marcus F
Position.ShowMatNormTrans=True // Bezeichnung bzw. Übersetzung für Materialnorm ein-/ausblenden
209 1 [X] Daniel S
Position.ShowDimTrans=True // Bezeichnung bzw. Übersetzung für Dimension ein-/ausblenden
210
211
Position.ShowProjBez=True // default False Anzeige der Projektbezeichung
212 35 [X] Marcus F
213 61 [X] Marcus F
214
h3. Lieferschein
215
216 1 [X] Daniel S
Position.MengeRestMenge=True   //Zeigt die Ausgangsmenge und die noch offene Menge an (zB Lieferschein - Bestellt .... Geliefert ...)
217 33 [X] Marcus F
Footer.LFS.WareErhalten=True   //Unterschrift-Feld für Ware erhalten unter Lieferschein
218 1 [X] Daniel S
Footer.LFS.ShowVerpackungsmittel=True // default true Verpackungsmittel anzeigen
219 34 [X] Marcus F
LFS.TitelLieferTerm=True // default False Zeigt im Titel von Kopie die Spanne des Auslieferungstermins, sowie in der Position den Lagerort
220 1 [X] Daniel S
Position.ChargeDrucken=True //default True Chargen zur LieferscheinPosition drucken
221
Position.SerNrDrucken=True //default True Seriennummern zur LieferscheinPosition drucken
222 2 [X] Daniel S
223 61 [X] Marcus F
224
h3. Lieferkonditionen, Zahlungskonditionen, Export
225
226 1 [X] Daniel S
Footer.Lieferkond.OhneVersand=False //Keine Versandart
227
Zahlung.OhneZahlBed=False //Keine Zahlungsbedingungen
228 34 [X] Marcus F
Zahlung.OhneZahlBedIf00=False //Wenn 0/0 (Zahlung/Skonto) kommt "gem. Vereinbarung" (ausser es gibt Sonderkonditionen, diese überdecken dies dann)
229
Zahlung.OhneZahlungsZielTxt="Gemäß Vereinbarungen" //Zahlungskonditionen, wenn keine Zahlungsbedingungen
230
Zahlung.OhneZahlungsZielTxtRechnung="Gemäß Vereinbarungen" //zB Mattis: Sofort Netto;;; wenn nichts angegeben: => Zahlung.OhneZahlungsZielTxt
231 1 [X] Daniel S
232 29 [X] Marcus F
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
233 1 [X] Daniel S
Export.doktype.Ursprung=true // default false, keine Anzeige zB Export.lfs.Ursprung=true
234
235 61 [X] Marcus F
236
h3. Fuß
237
238 1 [X] Daniel S
Footer.SpaceMFG //Default 0 erstellt einen Abstand zwischen 'Mit freundl Grüßen' und AP
239
Footer.Print=True //eigener Brieffuß mit Bankdaten
240 38 [S] Dominik G
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
241
242
Footer.Width.Anschrift (default 140)//Gruppe1 Postanschrift                          
243 1 [X] Daniel S
Footer.Width.Kontaktdaten (default 178) //Gruppe2 Kontaktdaten                            
244
Footer.Width.GF (default 174) //Gruppe4 Geschäftsführer
245
246
Footer.Firma1  //default False (Inhalt von ad_fa1)
247
Footer.TitelGF //default Geschäftsführer
248
Footer.Amtsgericht  //String- Name des Amtsgerichts für Brieffuß (Ort), wenn abweichend des Ort der Firma (Felder werden in Einstellungen später nachgesetzt)
249
Footer.HRB          //String- Handelsregister (Nummer)
250
Footer.LiefDatumLeistDatum=1  //Text "Lieferdatum entspricht Leistungsdatum" wenn Lieferschein vorhanden, ohne Lieferschein automatisch "Rechnugnsdatum ist Leistungsdatum"
251
Footer.LiefDatumLeistDatum=0  //immer "Rechnugnsdatum ist Leistungsdatum"
252
Footer.LiefDatumLeistDatum=-1 //Keine Angabe zu Leistungsdatum
253
254
Email.StdBelegtext //default true #8255 Vorschrift: 1) Bemerkungsverwaltungstext; 2) Sonst Bemerkungsverwaltungstext ist leer: Email-Beleg-Texte; 3) Sonst Setting Email.StdBelegtext=false: nichts anzeigen   
255
256 61 [X] Marcus F
h2. Allgemeine Settings
257
258
* GetBoolSetting('ZDok.full.stvtrs') #7265: Bestelldokument, Option Baugruppen auflösen - Alle Ebenen
259
260
261
h2. Kundenscripts
262
263
http://www.prodat-sql.de/redmine/projects/prodat-v-x/wiki/Kundenspezifische_Abl%C3%A4ufe_auf_ZDok
264
265
# Initiales Script :  Report.Init.Script.pas // Ausführung im begin end für allgemeine Zusatzanforderungen   (Ende des begin/end Blocks)
266
# Positionszusatztext : Report.PosTxt.Script.pas => Addiert Variable "" an den Zusatztext der Position. zB EDI-IDENT-NR
267
# Footer Script : Report.Footer.Script.pas => Breiteneinstellungen und Texte der einzelnen Box können überschrieben werden (CNC eigenes Footer Script als Bsp.)
268
269
270
h2. Gelangensbestätigung* (siehe #4512)
271
272 3 [X] Daniel S
# Stammdaten: 
273 1 [X] Daniel S
## System-Einstellung: Verkauf > Gelangensbestätigung überwachen
274
## Zentraldokument Reportsettings: 
275
### Gelangenbestg.Print=True // default false
276
### Header.BarcodeExprLifsch=<WorkSql."dokument_nummer">
277 57 [X] Marcus F
## Recnogroup-Eintrag: 'System.Gelangensbestätigung' muss vorhanden sein ~ über Erstellungsscript und DBUpdt
278
## Euexport-Haken des Debitors ist aktiv
279
# Setzen des Parameters
280
## Parameter 'System.Gelangensbestätigung' wird beim Drucken des LFS auf False gesetzt (Gelangensbestätigung: Unterschrift erhalten) über belegdokument__a_u__lfs_beld_print
281 46 [S] Dominik G
# Überwachung 
282 1 [X] Daniel S
## Liste: Lagerverwaltung > Auswertung > Statistik > Überwachung Gelangensbestätigung
283
# Zurücksetzen des Parameters
284
## Scannen Lieferschein (zurück vom Kunde) über Dokumentverwaltung (Achtung nicht über Dokumentablage)
285
## Dokument enthält Barcode picndoku__a_iud__set_recno setzt 'System.Gelangensbestätigung' auf 'Unterschrift erhalten' wahr
286
## wird nicht mehr in der Liste 'Überwachung Gelangensbestätigung' angezeigt
287
288
289
h2. HTML für Memos
290
291
@<b> - bold text
292
<i> - text in italic
293
<u> - underlined text
294
<sub> - subscript
295
<sup> - superscript
296
<font color> - font color@
297
298
Beispiele:
299
300
text <b>bold text</b> <i>text in italic</i> <b><i>bold and in italic</b></i>
301
E = mc<sup>2</sup>
302
A<sub>1</sub> = B<sup>2</sup>
303
this is a usual text, <font color=red>and this is a red one</font>
304
this is a usual text, <font color="#FF8030">and this is an orange one</font>
305
306
307
h2. Sonstiges
308
309
* Auf dem Dokument kann ein konfigurierbarer Text zur Qualitäts-Norm angedruckt werden
310
** Zugriff im Reporting-View erfolgt über ' GetStandardTxtBemerkungsV('DOKEINKAUF_QHINT ... ' 
311
** 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
312 46 [S] Dominik G
313
* Folgedokumente
314
** spezielles SQL (Dokumentendruck, _Dokumenten-Such-SQL_ @report_afterdokument.rad_PDID_SQL@) zur Ermittlung der Folgedokumente anhand Stücklistenauflösung.
315 48 [S] Dominik G
** Dokumenttypen müssen gesetzt werden in _Bei Listen drucken_ @report_afterdokument.rad_r_dokutypes@
316
Derzeit implementierte Dokumenttypen: @bestanf;ldsdok_bestdok;awd@ (Anfragen, Bestellungen, AW-Bestellungen)
317 46 [S] Dominik G
** {{collapse(SQL)
318
* Subquery _dokument_positionen_ holt Artikel der Dokumentpositionen je nach Dokumenttyp (Bestellung oder Anfrage). Muss erneut auf die Views gehen, da Statement nicht auf Positionsebene ausgeführt wird, sondern einmal am Ende.
319
* Subquery _sub_ holt ggf. Stücklistenauflösung (per Option _Baugruppen auflösen_) (Performance).
320
Bereitet außerdem Sortierung (SortID) je nach Stücklistenreihenfolge vor. Diese erfolgt innerhalb jeweiliger Dokumentposition.
321
Damit kommen erst alle Anhänge der Dokumentposition 1 gemäß Stücklistenauflösung, dann Pos 2 usw..
322
* Ausgegeben werden
323
** nur Dokumente direkt im Artikelstamm (art.dbrid)
324
** alle Dokumente, die direkt (pd_parentnodeident) im Ordner _Zeichnungen_ (ID 15) sind
325
** oder definiert durch den Dokumenttyp im Ordner 15 sind
326
327
<pre><code class="sql">
328
SELECT DISTINCT pd_id, position_identpos, sortid, pd_path
329
FROM (
330
    SELECT
331
      row_number() OVER (PARTITION BY position_identpos) AS SortID, -- Sortierung der Stücklistenauflösung innerhalb der Dokumentpositionen
332
      COALESCE(stn, artikelnummer) AS stn, -- Artikel aus Stücklistenauflösung oder des Dokuments
333
      ebene,
334
      position_identpos -- Dokumentposition
335
    FROM (
336
    -- je nach Dokument die Dokumentpositionen sammeln.
337
    -- Muss erneut auf ReportingViews gehen, da Statement nicht dynamisch pro Position ausgeführt wird, sonder 1mal am Ende
338
        
339
        -- Bestellpositionen aus entspr. View
340
        SELECT
341
          position_identpos,
342
          artikelnummer,
343
          menge
344
        FROM treporting.ldsdok_beleg_positionen
345
        WHERE position_dokument_id = :ld_dokunr
346
        --
347
        
348
        UNION
349
        
350
        -- Anfragepositionen aus entspr. View
351
        SELECT
352
          position_identpos,
353
          artikelnummer,
354
          menge
355
        FROM treporting.anfrage_anfart_positionen
356
        WHERE position_dokument_id = :anf_krz
357
        --
358 47 [S] Dominik G
        
359 46 [S] Dominik G
    ) AS dokument_positionen
360
      -- Stücklistenauflösung der Artikel im Dokument, wenn Option Baugruppen auflösen aktiv (Performance)
361
      -- Ansonsten nur Artikel des Dokuments
362
      LEFT JOIN LATERAL tartikel.stueckl__do_stueckl_list(artikelnummer, artikelnummer, menge) ON :cbShowBG
363
) AS sub
364
  JOIN art ON ak_nr = stn
365
  JOIN picndoku ON pd_tablename = 'art' AND pd_dbrid = art.dbrid -- Dokumente der Artikel
366
  LEFT JOIN dokutypes ON dt_id = pd_doktype
367
WHERE COALESCE(pd_parentnodeident, dt_parentnodeid) = 15 -- direkt im Ordner Zeichnungen hinterlegt, oder Ordner per Dokumenttyp definiert
368
  -- optionale Bedingungen:
369
  -- AND pd_doktype = 'zeichnung' -- Einschränkung auf Dokumenttyp
370 52 [S] Dominik G
  -- AND COALESCE(ebene, '-1') IN ('-1', '0') -- nur Baugruppenartikel selbst und 1. Ebene
371 46 [S] Dominik G
ORDER BY position_identpos, SortID, pd_path, pd_id
372 1 [X] Daniel S
</code></pre>
373 48 [S] Dominik G
}}