Druckersteuerung
Stephan Putro
Hallo,ich habe folgendes Problemm, bei dem ich etwas Unterstützung / eine Idee benötigen würde :
Für einen elektronischen Rechnungsversand müssen bei bestimmten Kunden die 1. Kopie (Original) auf einem virtuellen Drucker gedruckt werden, die beiden weiteren Kopien auf dem normalen (echten) Drucker. Bei allen anderen Kunden soll es bleiben wie gehabt - Original nebst 2 Kopien auf dem echten Drucker.
Nun habe ich in der Printdefinition zwar die Möglichkeit BP einzugeben, für die diese Printdefinition gültig ist, jedoch erst in der Layoutdefinition die Möglichkeit, verschiedene Drucker auszuwählen. Und ich würde natürlich ungerne eine weitere Layoutdefinition anlegen (doppelter Pflegeaufwand).
Jemand eine Idee, wie man so etwas lösen kann ? Vielen Dank !
Philipp Knecht
Hi StephanDu kannst dir hier den Marker FreeText zu Nutze machen.
In der Printdef in der Spalte FreeText z.b. eingeben:
SELECT CardCode FROM O@@RDR WHERE DocEntry = [%DocEntry]
Dann kannst du in der Layoutdefinition weitere Zeilen mit diesem aufgelösten FreeText anlegen (Bsp. C1000).
hth
Stephan Putro
Hallo Philippvielen dank für den schnellen Tipp. Soweit ist mir auch alles klar. Nur wie kann ich "mehrere" Zeilen in der Layoutdefinition hinterlegen ? Doch wohl nur in dem sheet "Printer". Dort muss dann im FreeText das Ergebnis des SQL's eingetragen werden, also zum Beispiel "C1000" ? Mit oder ohne Anführungszeichen (' oder ") ? Irgendwie scheint das nicht so recht zu funktionieren. Außerdem würde das bedeuten, das ich für jeden neuen Kunden den dies Betrifft eine neue Zeile in der Layoutdefinition anlegen muss ? Das ist nicht sehr benutzerfreundlich, eigentlich dachte ich dies über eine Eigenschaft am Geschäftspartner zu regeln (so das es der Benutzer selber steuern kann).
Noch ein Tipp ?
Stephan Putro
Zusatzfrage : Ich glaube ich bin der Lösung sehr nahe. Problem nun : Das SQL-Statement im FreeText ist auf 100 Zeichen (!) beschränkt. Für diesen Fall zu wenig :select "EDI" = case when QryGroup2='Y' then 'EDI' else '' end from ocrd where cardcode = (SELECT CardCode FROM Oinv WHERE DocEntry=[%DocEntry])
Was nun ?
Philipp Knecht
Hi StephanJa schaut schon etwas ausgereifter aus deine Query.
Du kannst das Feld mittels UDF vergrössern. Die Tabelle heisst SWA_LD_PRNDEFORD und das Feld U_FreeText.
p.s. in der neuen Version ist es ein Memo Feld
hth
0
Please sign in to leave a comment.
Comments
0 comments