Anzahl Etiketten
Rolf Mettler
Hallo PhilippMein Kunde möchte die Anzahl Etiketten über einen Parameter (Inp.) Abfragen. Wenn auf der Position 500 kg sind sollen nicht 500 Etiketten gedruckt werden sondern nur die via Parameter übergebene Anzahl.
Sorry stehe irgendwie auf dem Schlauch, ... hast du mir ein paar Tipps - DANKE.
Philipp Knecht
Hi RolfLeider können in der Copyquery keine Inputparameter definiert werden. Die einfachste Lösung ist ein UDF auf Posebene welche die zu druckende Quantität enthält.
hth
Sebastian Wieland
Sali RolfIch habe ein ähnliches Problem mit einem Select Grid gelöst. Bei uns drucken wir Etiketten ab dem Wareneingang. Dabei wird die Anzahl Etiketten aus der VPE und der Bestellmenge berechnet. Die Erfahrung zeigt, dass VPE und die gelieferte Menge immer wieder abweichen. Daher gebe ich die Angaben zur Etikette inklusive die berechnete Anzahl in ein Select Grid aus. Die Person am Wareneingang überprüft diesen Wert und kann ihn, falls notwendig, noch ändern.
Dieser Ablauf funktioniert bei uns recht zufriedenstellend.
Gruss.
Sebastian
Inga Babco
Hi Philipp,ein UDF auf Posebene wäre am einfachsten, aber ein Wareneingang ist leider nach dem Hinzufügen schon nicht mehr änderbar.
Hi Sebastian,
hast du @@RepeatRow als Parameter aus dem Select Grid ausgelesen?
Bei mir funktioniert das nicht.
SELECT T0.ItemCode, T0.Dscription, T1.CardCode, T1.CardName, T1.DocNum, T1.DocDate, T2.Price, T0.Quantity, [%Repeat] AS [@@RepeatRow] FROM PDN1 T0 INNER JOIN OPDN T1 ON T0.DocEntry=T1.DocEntry INNER JOIN ITM1 T2 ON T0.ItemCode=T2.ItemCode AND T2.PriceList=4 WHERE T0.DocEntry = [%DocEntry] and T0.LineNum=[%LineNum]
Dabei erscheint beim Vorschau nur ein leeres Fenster.
Wenn ich aber anstatt "[%Repeat] AS [@@RepeatRow]" "T0.Quantity AS [@@RepeatRow]" nehme, dann erscheinen so viel Etiketten, wieviel in Quantity steht. Also Layout und Query sind korrekt, aber ich kann nicht @@RepeatRow als Parameter aus dem Select Grid auslesen. Das geht bei mir nicht.
Gruss
Inga
Inga Babco
Ich habe mir das anders gelöst. (Ohne @@RepeatRow.)Im Layot habe ich auf der obersten Ebene ein neues AdvancedDataBand ohne DataSource erstellt. Das zweite DataBand muss in diesem verschachtelt sein.
Dann im GenerateScript des Dokumentes:
AdvancedDataBand1.InstanceCount=GetData("LD.Par.Repeat")
So funktioniert es.
Danke
Inga
Inga Babco
Beim Barcode werden nur Großbuchstaben akzeptiert.BarCode1.Code = DataBand.ItemCode.ToUpper
Philipp Knecht
Hi IngaVielen Dank für den Hinweis und den Lösungsvorschlag mit den zwei verwschachtelten Bändern.
Habe hier testweise auch ein Selectgrid gemacht von dem ich eine Spalte Repeat auslese und hier funktioniert es.
Überprüf sonst nochmals deine Parameterdefinition bzw. das Layout selber. eventuell hat ja der Queryname oder so geändert (Ist mir nämlich auch passiert :)
hth
0
-
Hallo zusammen,
wir machen das genauso und es klappt auch wunderbar. Jetzt wollten wir auf den Etiketten aber noch die Anzahl Etikett angeben. Also z.B. Artikel A 3 Etiketten also 1/3 2/3 3/3
Artikel B 2 Etiketten 1/2 2/2 usw.
Hat jemand eine Idee wie das möglich ist?
0 -
Hallo Bastian,
du könntest das mit einer Variablen lösen.
Im CommonScript die Variable deklarieren
dim counter As Integer = 1
und in dem Feld wo gezählt werden soll
PseudoCode
wenn counter <> repeat dann
feld = counter / repeat
counter + 1
sonst
feld = repeat / repeat
counter = 1
endgruß Lothar
0
Please sign in to leave a comment.
Comments
2 comments