Barcode-Zentraldokument » Historie » Version 1
[X] Marcus F, 22.09.2016 10:39
1 | 1 | [X] Marcus F | h1. Barcode-Zentraldokument |
---|---|---|---|
2 | |||
3 | h2. Pro Kunde / Lieferant individuell Informationen in Barcodes mitgeben |
||
4 | |||
5 | * verfügbar ab Version 12.06.00 |
||
6 | * Parameter adk Stand 22.09.16 |
||
7 | * Barcodes (Beispiel unten) werden nur gezeigt, wenn Information verfügbar (wenn es keine Bestellnr Kunde gibt, dann wird der Barcode nicht gedruckt) |
||
8 | <pre><code class="sql"> |
||
9 | ('Barcode Beleg-Nr.', 'Zentraldokument', 'ptBOOLEAN', 'adk', 'Zentraldokument.BC.BelegNr', 2), |
||
10 | ('Barcode Referenz Position', 'Zentraldokument', 'ptBOOLEAN', 'adk', 'Zentraldokument.BC.PosRef', 3), |
||
11 | ('Barcode Artikel-Nr. Kunde', 'Zentraldokument', 'ptBOOLEAN', 'adk', 'Zentraldokument.BC.ArtRef', 4), |
||
12 | ('Barcode Menge Position', 'Zentraldokument', 'ptBOOLEAN', 'adk', 'Zentraldokument.BC.PosMenge', 5) |
||
13 | ('Barcode Beleg-Nr. Kunde', 'Zentraldokument', 'ptBOOLEAN', 'adk', 'Zentraldokument.BC.BelegKunde', 6); |
||
14 | </code></pre> |
||
15 | |||
16 | h2. Zuweisung der Barcodes in Init und PosTxt Scripten (beispielhaft) |
||
17 | |||
18 | * Im Init.Script werden die Beleg Header Barcodes gefüllt, adkdbrid wird geholt |
||
19 | {{collapse(Init) |
||
20 | <pre><code class="sql"> |
||
21 | |||
22 | var belegnr, belegkunde : Boolean; |
||
23 | |||
24 | begin |
||
25 | |||
26 | //dbrid der Kopfadresse für Auslesen von Eigenschaften zur Adresse |
||
27 | adkdbrid:=''; |
||
28 | SQL_PREPARE('SELECT dbrid FROM adk WHERE ad_krz=:adkrz '); |
||
29 | SQL_PARA_S('adkrz',<WorkSql."dokument_adresse_adressant">); |
||
30 | SQL_OPEN; |
||
31 | adkdbrid:=SQL_GETRESULTS('dbrid'); |
||
32 | |||
33 | {BARCODE ANFANG} |
||
34 | If ( ((IsAfterReport=0)OR(IsAfterReport=2)) AND (<WorkSql."doktype_force">='lfs') ) then begin |
||
35 | // Barcode Paramter Header holen |
||
36 | SQL_PREPARE('SELECT TRecnoParam.GetBool(''Zentraldokument.BC.BelegNr'', :adkdbrid) AS belegnr, '+ |
||
37 | #13#10+'TRecnoParam.GetBool(''Zentraldokument.BC.BelegKunde'', :adkdbrid) AS belegkunde'); |
||
38 | SQL_PARA_S('adkdbrid',adkdbrid); |
||
39 | SQL_OPEN; |
||
40 | belegnr:=SQL_GETRESULTB('belegnr'); // vorerst nicht aktiv, da Standard aus ReportSettings überschrieben wir, DMS benötigt für automatisiertes Scannen den Dokumenttyp (LFS) |
||
41 | belegkunde:=SQL_GETRESULTB('belegkunde'); |
||
42 | |||
43 | // Header Barcode aktivieren |
||
44 | ChildBarCode.Visible:=belegnr OR belegkunde OR (GetReportSettings_S('Header.BarcodeExprLifsch', '')<>''); |
||
45 | If belegnr Then Begin |
||
46 | // wir könnten die Nummer überschreiben, dann funktionieren allerdings keine PRODAT-Automatismen zB Datum setzen |
||
47 | //BarCode.Expression:='<WorkSql."dokument_nummer">'; |
||
48 | //MemoBCText.Visible:=True; |
||
49 | //MemoBCText.Text:='Lfs.-Nr.'; |
||
50 | End |
||
51 | Else Begin |
||
52 | BarCode.Expression:=GetReportSettings_S('Header.BarcodeExprLifsch', ''); |
||
53 | End; |
||
54 | |||
55 | // Sekundärer Barcode Header links |
||
56 | If belegkunde Then Begin |
||
57 | BarCodeSek.Visible:=True; |
||
58 | BarCodeSek.Expression:='<WorkSql."dokument_nummer">'; |
||
59 | MemoBCTextSek.Visible:=True; |
||
60 | MemoBCTextSek.Text:='Lfs.-Nr.'; |
||
61 | End; |
||
62 | |||
63 | End; {BARCODE ENDE} |
||
64 | |||
65 | end. |
||
66 | |||
67 | </code></pre> |
||
68 | }} |
||
69 | * Im PosTxt.Script werden die Positionen-Barcodes gefüllt |
||
70 | {{collapse(PosTxt) |
||
71 | <pre><code class="sql"> |
||
72 | |||
73 | var posref, artref, posmenge : Boolean; |
||
74 | |||
75 | begin |
||
76 | |||
77 | //Hauptausdruck und Lieferschein |
||
78 | If ( ((IsAfterReport=0)OR(IsAfterReport=2)) AND (<WorkSql."doktype_force">='lfs') ) then begin |
||
79 | // Barcode Positionen Paramter holen |
||
80 | SQL_PREPARE('SELECT TRecnoParam.GetBool(''Zentraldokument.BC.PosRef'', :adkdbrid) AS posref, '+ |
||
81 | #13#10+'TRecnoParam.GetBool(''Zentraldokument.BC.ArtRef'', :adkdbrid) AS artref, '+ |
||
82 | #13#10+'TRecnoParam.GetBool(''Zentraldokument.BC.PosMenge'', :adkdbrid) AS posmenge'); |
||
83 | SQL_PARA_S('adkdbrid',adkdbrid); |
||
84 | SQL_OPEN; |
||
85 | posref:=SQL_GETRESULTB('posref'); |
||
86 | artref:=SQL_GETRESULTB('artref'); |
||
87 | posmenge:=SQL_GETRESULTB('posmenge'); |
||
88 | |||
89 | // Pos Barcode aktivieren |
||
90 | ChildPosBarcode.Visible:=posref OR artref OR posmenge OR (GetReportSettings_S('Position.'+<r_dokutype>+'.BarcodeExpr1', '')<>''); |
||
91 | If posref AND NOT EMPTY(<position."referenz">) Then Begin |
||
92 | BarCodePosition1.Expression:='<position."referenz">'; |
||
93 | MemoBCTextPos.Visible:=True; |
||
94 | MemoBCTextPos.Text:='Ihre'+<slinebreak>+'Bestell-Nr.'; |
||
95 | End |
||
96 | Else If (GetReportSettings_S('Position.'+<r_dokutype>+'.BarcodeExpr1', '')<>'') Then Begin |
||
97 | BarCodePosition1.Expression:=GetReportSettings_S('Position.'+<r_dokutype>+'.BarcodeExpr1', ''); |
||
98 | End |
||
99 | Else Begin |
||
100 | BarCodePosition1.Visible:=False; // Deaktivieren, da im Standard sichtbar |
||
101 | MemoBCTextPos.Visible:=False; |
||
102 | End; |
||
103 | |||
104 | If artref AND NOT EMPTY(<position."artikelnummer_adressant">) Then Begin |
||
105 | BarCodePosition2.Visible:=True; |
||
106 | BarCodePosition2.Expression:='<position."artikelnummer_adressant">'; |
||
107 | MemoBCTextPos2.Visible:=True; |
||
108 | MemoBCTextPos2.Text:='Ihre'+<slinebreak>+'Artikel-Nr'; |
||
109 | MemoBCTextAbstPos2.Visible:=True; |
||
110 | End; |
||
111 | |||
112 | If posmenge Then Begin |
||
113 | BarCodePosition3.Visible:=True; |
||
114 | BarCodePosition3.Expression:='<position."menge">'; |
||
115 | MemoBCTextPos3.Visible:=True; |
||
116 | MemoBCTextPos3.Text:='Menge'; |
||
117 | MemoBCTextAbstPos3.Visible:=True; |
||
118 | End; |
||
119 | |||
120 | End; |
||
121 | |||
122 | end. |
||
123 | |||
124 | </code></pre> |
||
125 | }} |
||
126 | |||
127 | * Label-Texte sind in diesem Beispiel noch nicht auf Trans-Variablen umgestellt ~ Auslandskunden |
||
128 | |||
129 | |||
130 | !http://redmine.prodat-sql.de/attachments/download/6214/barcodes-lfs.png! |