Projekt

Allgemein

Profil

200 ZDok Zentraldokument+Belege » Historie » Version 61

[X] Marcus F, 13.12.2017 15:16

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