Inaktiv Variable die mitzählt, möglich?

K3Ks

Gut bekanntes Mitglied
26. März 2008
185
10
Hallo,

ist es möglich im Formulareditor eine eigene Variable zu nutzen, die beim Lieferschein zB mitzählt?

Beispiel: 3 Positionen am Lieferschein zu jeweils 5 Stk. Nun soll nach/während des Abarbeitens des Berichtscontainers in einer Variable die Zahl 15 gespeichert bzw. verfügbar sein?

Ist so etwas möglich oder sind derartige Berechnungen nicht im Formulareditor drinnen?


Danke & LG,
Christian
 

K3Ks

Gut bekanntes Mitglied
26. März 2008
185
10
Hallo!

So, ich bin fündig geworden mit SetVar und GetVar, aber das Verhalten dieser beiden Variablen verstehe ich nicht.
Wenn ich folgendes im Formulareditor in der Datenzelle einer Tabelle eingebe, kann ich das Verhalten nicht nachvollziehen:

SetVar("TMP",54,True) + ... SetVar("VP2"),GetVar("TMP"),True)

Kommt raus 54 .. klar

So, und nun das Phänomen:

SetVar("TMP",54,True) + ... SetVar("VP2"),GetVar("VP2")+GetVar("TMP"),True)

Ergibt .. 108 .. ja, ne is klar?!

Sprich er liest zuerst VP2 aus, dies ist 0, schreibt dann 54 rein, und liest diese scheinbar nochmal aus und schreibt erneut 54 rein und somit kommt 108 raus?!
Wie kann ich dieses Phänomen bzw. Verhalten umgehen?

Danke
 

K3Ks

Gut bekanntes Mitglied
26. März 2008
185
10
Ja durch zwei Teilen ist eine Option, Problem sehe ich nur wenn dies über mehrere Zwischensummen läuft ;)
 

gutberle

Sehr aktives Mitglied
29. März 2011
1.292
397
Hallo @K3Ks,

tut mir leid, aber hier kann ich Dir nicht helfen, denn die SetVar() und GetVar() Funktionen sind leider unbrauchbar. Da kannst Du lange rumprobieren und vielleicht klappt es sogar mal, dann solltest Du die Wawi aber am Besten nie wieder zumachen, denn beim nächsten Start werden die Karten wieder neu gemischt... :confused:

Am besten und einfachsten kannst Du solchen simplen Zählaufgaben durch eine JTL_DirectQuery() mit SQL Code erledigen. Dazu findest Du (auch) von mir hier im Forum einige Beispiele, teilweise auch mit direktem Bezug zum Ersatz für SetVar() und GetVar().

Nachtrag: Warum eine JTL_DirectQuery() und nicht zum Beispiel eine Summenvariable in List & Label? Weil die auch völlig seltsam zählen und ich noch nicht dahinter gestiegen bin, was da los ist. SQL funktioniert IMMER!!!

Gruß,
Ingmar
 

Eiko

Aktives Mitglied
26. Juni 2017
57
2
Hallo @K3Ks,

Am besten und einfachsten kannst Du solchen simplen Zählaufgaben durch eine JTL_DirectQuery() mit SQL Code erledigen. Dazu findest Du (auch) von mir hier im Forum einige Beispiele, teilweise auch mit direktem Bezug zum Ersatz für SetVar() und GetVar().

Gruß,
Ingmar

Das ist ja eine schöne Funktion. :)

Also in der Art JTL_DirectQuery ("SELECT (5+1)")?
 

gutberle

Sehr aktives Mitglied
29. März 2011
1.292
397
@Eiko - Der war gut... :D

Aber nur für den Fall, dass Du das Ernst gemeint hast, klar, das ginge auch, aber ich meinte das Zählen und Sortieren, Aussortieren auf Basis der zugehörigen Bestellpositionen in der Datenbank. Meistens geht sowas dort ganz einfach, schwierig wird's erst dann wenn Stücklisten im Spiel sind, denn die sind in der Liste der Bestellpositionen zusätzlich zum Vaterartikel aufgelistet und dann muss man "intelligent" aussortieren, was nur über mehrere JOINs geht.

Ein anderer Forumsnutzer (@ThorstenR1) hat mir in der Zwischenzeit aber auch noch etwas gezeigt, das ich noch gar nicht kannte und zwar, dass die List & Label Befehle Sum(), Count() und CountIf() jeweils einen zweiten und optionalen Boolean Parameter, also True oder False akzeptieren, der festlegt, ob die gezählten oder summierten Werte nach der Ausgabe gelöscht werden sollen oder nicht.

Vielleicht läßt sich das Ganze damit ja sogar noch viel einfacher realisieren.
 

Eiko

Aktives Mitglied
26. Juni 2017
57
2
:D
Das war mehr beispielhaft gemeint. Ich müsste mal schauen, was mit JTL_DirectQuery so alles möglich ist, ob man also bspw. Variablen irgendwie speichern kann. Das zusätzliche Problem bei SetVar und GetVar ist mMn nämlich, dass die nicht innerhalb einer Tabelle funktionieren. Das in SetVar gespeicherte kann ich nur in einer anderen Tabelle abrufen.

Ich wollte letztens in der Positionsliste den Positionszähler dahingehend verändern, dass er für Freitextzeilen, Versandzeilen etc. keine Positionsnummer anzeigt und aber auch intern entsprechend 1 abzieht, damit der Zähler dann weiter fortlaufend ist. Ich habe über Summenvariablen, Get- und SetVar usw. keinen Weg gefunden und bin fast dran verzweifelt. Vielleicht geht es ja jetzt mit einer SQL-Query.
 

gutberle

Sehr aktives Mitglied
29. März 2011
1.292
397
Hallo Eiko,

vergiss SetVar() und GetVar(), denn die funktionieren dann doch schon "eigentlich überall", nur nicht immer und nicht immer gleich gut. Mal geht's und mal nicht, aber die beiden Funktionen haben auch ganz grundsätzliche und gravierende Einschränkungen. Dazu habe ich mich an anderer Stelle hier im Forum ausgelassen. Die beiden Funktionen sind entweder schon von Combit schlecht in L&L angelegt, oder aber JTL hat's bei der Implementierung der eigenen Objekte vermasselt, kann ich nicht sagen, ist aber auch egal, weil meine langjährige Erfahrung mit JTL ganz klar zeigt, dass wir da zumindest nicht auf schnelle Abhilfe hoffen dürfen, also Plan B...

Mit den JTL_DirectQuery() und vor allem dem JTL_DirectTableQuery() Befehl geht viel!!! - Wenn man erst anfängt, sich damit zu beschäftigen, denkt man noch so in etwa String=1Zeile, also dass das, was man übergibt begrenzt ist, das ist aber definitiv nicht so. Letztlich ist hier ein Übergabestring nicht eine einzige Zeile bis zu einem "Return", sondern alles, was in die Anführungszeichen eingeschlossen ist und das kann auch ein komplettes SQL Programm über 100 Zeilen sein.

Die selektiven Positionsnummern sind z.B. ganz leicht mit einer JTL_DirectQuery() zu erschlagen, here we go...
Code:
Fstr$(JTL_DirectQuery("SELECT COUNT(nSort) FROM tbestellpos WHERE nSort<"+ToString$(Count(Auftragspositionen.InterneAuftragspositionnummer, false)+1)+" AND nType=1 AND tBestellung_kBestellung="+ToString$(Vorgang.InterneAuftragsnummer)),"##&")
... und damit dieser unhandliche Query-Text nicht überall in der Vorlage steht, erzeugst Du Dir im Bereich Projekt > Benutzervariablen eine Variable namens @PositionsNummer und schreibst da den Coden rein. Jedes Mal, wenn Du dann im Vorlagentext @PositionsNummer ansprichst, wird der Code ausgeführt und die aktuelle Positionsnummer geholt.

Dann bleibt nur noch das Problem, dass die Query immer den Zähler "bis hierher" zurückliefert, Du also noch dafür Sorge tragen mußt, dass die Positionsnummer auch nur für reguläre Artikel angezeigt wird. Die Abfrage, ob der aktuelle Artikel ein regulärer und keine Freiposition oder Versandposition ist, geht mit folgendem Code ...
Code:
JTL_DirectQuery("SELECT nType FROM tbestellpos WHERE kBestellPos="+ToString$(Auftragspositionen.InterneAuftragspositionnummer))<>1
... und auch hier legst Du Dir wieder eine Benutzervariable mit Namen @doNotShow an und gibst ihr den obigen Code.

Damit reduziert sich die Formel, die Du unten im Berichtscontainer für die Positionsnummern verwendest, auf gerade mal ...
Code:
Cond(@doNotShow,"",@PositionsNummer)

Das war's und alles was es dazu braucht ist ein guter portabler SQL Editor wie HeidiSQL und ein bißchen Zeit, um die Datenbankstruktur der Wawi zumindest in Grundzügen zu begreifen... :)

Gruß,
Ingmar
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Eiko

Eiko

Aktives Mitglied
26. Juni 2017
57
2
Das funktioniert perfekt, danke dir. :)

Ich hoffe, es ist ok, wenn ich hier abschweifend noch kurz weiterschreibe? Ich hab es noch an meine Bedürfnisse angepasst, weil Freipositionen ja schon eine Positionsnummer haben sollen. Was nicht dastehen soll sind die Versandpositionen und meine selbst definierten Freitextzeilen, also Zeilen/Texte innerhalb der Positionsliste, welche über die ganze Breite gehen. Hierfür habe ich mir einen Artikel gemacht und der Text steht im Hinweis.

Wenn ich die Tabelle tbestellpos richtig verstehe, dann sind Artikel nType=1, Versandpositionen nType=2 und Freipositionen nType=0?

HeidiSQL muss ich mir mal anschauen, bisher verwende ich eigentlich ausschließlich das Management Studio vom SQL-Server.
 

Eiko

Aktives Mitglied
26. Juni 2017
57
2
Hallo,

ist es möglich im Formulareditor eine eigene Variable zu nutzen, die beim Lieferschein zB mitzählt?

Beispiel: 3 Positionen am Lieferschein zu jeweils 5 Stk. Nun soll nach/während des Abarbeitens des Berichtscontainers in einer Variable die Zahl 15 gespeichert bzw. verfügbar sein?

Ist so etwas möglich oder sind derartige Berechnungen nicht im Formulareditor drinnen?


Danke & LG,
Christian

Damit das nicht ganz untergeht - Geht das nicht mit einer simplen Summenvariable, welche
Code:
Auftragspositionen.Menge/2
zum Inhalt hat? Die addiert doch dann bei jeder Berichtsposition die Menge zu der Variable und du hättest dein 3 Positionen zu 5 Artikeln=15 in der Summenvariable stehen.
 

gutberle

Sehr aktives Mitglied
29. März 2011
1.292
397
@Eiko - Ja, die nTypes von oben sind korrekt. Ob es noch mehr gibt, kann ich nicht sagen. Das SQL Management Studio ist wirklich mächtig, aber auch mächtig groß und behäbig. HeidiSQL ist super klein, gibt es portabel und es kann trotzdem alles wichtige wie Favoriten, suchen, filtern, Code Schnipsel, etc. - In manchen Dingen gäbe es besseres, wie das auch erwähnte dBeaver, aber in der Summe ist HeidiSQL für mich inzwischen so eine Art Schweizer Messer geworden. Zum ernsten "SQL Coden" würde ich was anderes nehmen, aber bis ~20 Zeilen Code ist es wirklich gut ...

@K3Ks - Was die Frage nach den Summenvariablen angeht, hatte ich oben ja schon geschrieben, dass @ThorstenR1 mir gezeigt hat, dass die List & Label Funktionen Sum(Ausdruck,[Boolean]), Count(Ausdruck,[Boolean]) und CountIf(Ausdruck,[Boolean]) jeweils diesen in eckigen Klammern als optional deklarierten Boolean Parameter haben, mit dem man steuern kann, ob das Anzeigen einer dieser Funktionen die Zählung/Summierung zurücksetzt (True) oder nicht (False).

Der Defaultwert ist hierbei nämlich True, was Löschen/Zurücksetzen bedeutet und da der Parameter auch noch Optional ist und weder in der Online Hilfe noch im PDF Manual mehr als erwähnt wird, habe ich ihn bisher nicht wahrgenommen und die Funktionen deshalb als eher untauglich für diese Zwecke abgetan. Das ist aber weit gefehlt, denn gibt man z.B. ...
Code:
Sum(Lieferscheinpositionen.Menge,False)
... als Formel ein (also mit False), dann zählt die List & Label Funktion brav weiter auch wenn man zwischendurch ihren aktuellen Wert abfragt und/oder ausgibt. Das heißt, dass dieser klitzekleine Code wahrscheinlich die exakte Antwort auf Deine ursprüngliche Frage ist!

P.S. Man könnte sie auch für solche Sache, wie sie @Eiko haben will, verwenden, aber ich denke, sie sind dann am Besten geeignet, wenn die relevanten Variablen, die sie zählen oder summieren sollen, alle schon "einfach so" in der Vorlage vorliegen.

Gruß,
Ingmar
 
Zuletzt bearbeitet:

wawi-dl

Sehr aktives Mitglied
29. April 2008
6.172
657
Für nType gibt es verschiedene Codes, die man sich mühsam sammeln muss ... eine Doku seitens JTL wäre hierzu hilfreich.

nTypes:
0 = Freitext (auch Zusatzverpackung möglich?!)
1 = Artikel
2 = Versandposition
3 = Gutschein / Kupon
4 = ???
5 = Zahlungsrabatt (JTL Shop)
6 = Inselzuschlag / Spedition (JTL Shop)
7 = ???
8 = Zahlungsgebühr (JTL Shop, Nachnahme)
9 = Funktionsattribut
 

wawi-dl

Sehr aktives Mitglied
29. April 2008
6.172
657
MEGA, hatte ich schon mal als Wunsch geäußert ;)
Bitte dann die Liste ergänzen, das würde ungemein HELFEN!
 

SebastianB

Moderator
Mitarbeiter
6. November 2012
2.084
339
Hallo,

die Positionstypen werden letztlich vom Shopsystem festgelegt. Der Wawi sind die (bis auf wenige Ausnahmen) relativ egal. In der JTL-Wawi relevant sind
0 = Freiposition
1 = Artikel mit Bezug zu tArtikel
2 = Versandposition
und noch
11 = Gratisgeschenk

Alle anderen Positionstypen werden in der JTL-Wawi schlicht ignoriert (bzw. halt einfach durchgeschliffen).

Es kann also sein, dass manche Positionstypen mehrfach vorkommen, aktuell gar nicht mehr vorkommen oder neue hinzukommen.

Die Positionstypen die der JTL- Shop sendet kann man im Quelltext vom JTL-Shop nachschauen. Die Positionstypen die über Fremdconnectoren reinkommen kenne ich auch nicht.

Mein Stand ist (und der muss durchaus nicht korrekt oder vollständig sein, da es wie gesagt für die Wawi völlig egal ist):
3 = Coupon
4 = Gutschein
5 = Zahlungszuschlag
6 = Versandzuschlag
7 = Neukundencoupon
8 = Nachnahmegebühr
9 = Versandzuschlag für Artikel
10 = Verpackungsgebühr
11 = Gratisgeschenk
12 = TrustedShops
13 = Zinsaufschlag
14 = Bearbeitungsgebühr
 

gutberle

Sehr aktives Mitglied
29. März 2011
1.292
397
... und ich auch nicht, aber Kunststück, ich habe mich ja auch lange nicht so weit aus dem Fenster gelehnt, wie Du... :rolleyes:
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Innerhalb einer Variable -SQL Abfrage- das Wort "fett" schreiben Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 2
Neu Variable für Zulaufdatum User helfen Usern - Fragen zu JTL-Wawi 1
Neu Positionshinweis Variable Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 7
Variable für Kundengruppe Allgemeine Fragen zu JTL-Shop 6
Neu Variable oder SQL zum Feld "Gewinn netto" (im Auftrag) Eigene Übersichten in der JTL-Wawi 9
Neu Zu große Smarty Variable Technische Fragen zu Plugins und Templates 0
Neu Die Ameise ignoriert hinterlegte Lieferantenstaffelpreise beim Import von Lieferantenbestellungen. JTL-ShippingLabels - Fehler und Bugs 0
Warum kann ich die Wawi 1.9.6.0 nicht downloaden? JTL-Wawi 1.9 11
Neu Frage an die (Hobby-) Controller: B2C Einzelhandel mit 6% Marketingbudget - das ist normal? Business Jungle 7
Die Lizenzdaten sind ungültig... kein Connector Abgleich Shopware-Connector 17
Neu Die Kennzeichnungspflicht für schwere Pakete kommt am 1.1.2025 JTL-ShippingLabels - Ideen, Lob und Kritik 0
Neu Wie handelt Ihr die GPSR Anforderung an Produktbilder bei Amazon ? User helfen Usern - Fragen zu JTL-Wawi 0
QR-Code Formel kann nicht in die eigene Vorlage hinzugefügt werden JTL-Wawi 1.9 1
Herstellername / Verantwortliche Person für die EU für Kaufland kaufland.de - Anbindung (SCX) 1
Neu Fehler mit Zugriff auf die Datenbank (Exec Direct). Installation von JTL-Wawi 4
Neu Artikelgewicht bei Versand in die Schweiz JTL-ShippingLabels - Fehler und Bugs 1
Neu Wie kann ich die DOM-Size reduzieren? Technische Fragen zu Plugins und Templates 1
Neu Artikelanlage von Artikel/Ersatzteile die zu verschiedenen Modellen passen User helfen Usern - Fragen zu JTL-Wawi 3
Neu Wie kann ich die Verfügbarkeiten eines Artikels bei Amazon steuern? User helfen Usern - Fragen zu JTL-Wawi 0
Neu Hat jemand die Transglobal API (oder das Excel Bulk tool) in JTL integriert ? User helfen Usern 0
Neu SCX (Alle Marktplätze) - habt ihr Kategorien, bei denen die Kategoriespezifischen Felder nicht laden / zuordnen nicht möglich / No Data available? Einrichtung und Installation von JTL-eazyAuction 0
Neu Gibt es einen Import von Artikeltexten die pro Artikel als .txt geliefert werden? JTL-Ameise - Ideen, Lob und Kritik 1
Wie versendet die Wawi E-Mails? JTL-Wawi 1.9 4
Neu Child Template zieht die englischen Artikelbeschreibungen nicht Templates für JTL-Shop 3
Neu Wie entferne ich die Lastschrift Checkbox? Allgemeine Fragen zu JTL-Shop 2
Neu Artikel lässt sich im Shop 5.2.5 über die Wawi nicht löschen JTL-Shop - Fehler und Bugs 2
Neu JTL Connector - Shopify Abgleich. Bestellbestätigungsemails werden die ganze Zeit dem Kunden gemailt. Shopware-Connector 2
Mollie und die Wawi JTL-Wawi 1.8 5
Wie lange benötigt bei euch die Wawi zum starten JTL-Wawi 1.9 7
Neu Fehler beim Zugrif aus die Datenbank (Exec Direct) JTL-Wawi - Fehler und Bugs 1
Neu Das JTL Shop gratis Plugin GPSR Verordnung - sieht mies aus, belastet die Datenbank, Excel Bearbeitung unmöglich Betrieb / Pflege von JTL-Shop 30
Neu Umzug aus der Subdomain in die Maindomain Allgemeine Fragen zu JTL-Shop 1
Neu WAWI 1.9.4.6 Amazon Auftrag hat keine Rechnungsnummer, obwohl die Rechnung zu Amazon hochgeladen wurde. Amazon-Anbindung - Fehler und Bugs 0
Neu Fehler bei Export mit Versandart DHL / Die Sequenz enthält keine Elemente. JTL-ShippingLabels - Fehler und Bugs 3
Neu Warum werden die Preise und Grundpreise in einer unterschiedlichen Form dargestellt? Gelöste Themen in diesem Bereich 3
Erzeugung des Barcodes für die Gebinde EAN JTL-Wawi 1.9 3
Neu Bei Variationsauswahl die Seite nicht neu laden? Allgemeine Fragen zu JTL-Shop 9
Maximal unzuverlaässiges ermitteln von fba Bedarf über die Umlagerungen in jtl. JTL-Wawi 1.9 0
Neu Umstellung Paypal Plus auf Paypal Checkout - bleiben die Sonderkonditionen erhalten ? Smalltalk 2
Neu Export von Kunden, die in der Vergangenheit bereits bestimmte Artikel gekauft haben Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 10
Neu Die Verbindung zu Ihrem Kundenkonto wurde unterbrochen & Verbindung zum JTL-Kundenkonto gestört JTL-Wawi - Fehler und Bugs 2
Neu Kern Waage die im Netzwerk hängt (via Moxa NPort 5100) auf RDP Server mit WMS nutzen User helfen Usern - Fragen zu JTL-Wawi 0
Neu Warum kann ich bei Druckvorlagen die Seitengröße nicht anpassen? Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 7
Neu Einstieg in die JTL-Welt – JTL-Start mit Wawi-Lager oder gleich JTL-WMS? User helfen Usern - Fragen zu JTL-Wawi 24
Neu Update auf 1.9 - wo sind die Kommentarfelder des Artikels geblieben? Eigene Übersichten in der JTL-Wawi 1
Neu Export der Ebay Angebote unter V1.9 benötigt die 8-fache Zeit JTL-Ameise - Ideen, Lob und Kritik 1
Neu 1.9 Gibt es beim Picken die Funktion "Zurückstellen" nicht mehr? Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 2
Neu JTL Wawi: Bestandsanpassung zwischen eBay und eigenem Onlineshop – Warum funktioniert die Mengeinstellung nicht automatisch? User helfen Usern - Fragen zu JTL-Wawi 1
Neu Amazon VCS keine Rechnungsstellung für Lieferungen in die Türkei JTL-Wawi - Fehler und Bugs 2
Datenschutz mit Kunden die kein Konto hinterlegt haben JTL-Wawi 1.9 0

Ähnliche Themen