Inaktiv Variable die mitzählt, möglich?

K3Ks

Gut bekanntes Mitglied
26. März 2008
183
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
183
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
183
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
395
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
56
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
395
@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
56
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
395
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
56
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
56
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
395
@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
5.956
573
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
5.956
573
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.083
335
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
395
... 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 Vorlage hat im Standard die Variable SalesQuotationPositionConfiguration.Name die nicht funktioniert Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Liquid Variable für Positionsart User helfen Usern - Fragen zu JTL-Wawi 3
Neu Bestellbestätigung email Variable Hinweistext für Downloadartikel Allgemeine Fragen zu JTL-Shop 3
Neu Feld Zahlung Anmerkung Variable? User helfen Usern - Fragen zu JTL-Wawi 1
Neu Variable für Zahlungsart Gelöste Themen in diesem Bereich 4
Neu "Artikelanzahl in den Warenkorb" ausblenden bei Artikeln die es nur 1x gibt Betrieb / Pflege von JTL-Shop 2
Neu WhatsApp chat - Kostenlos an die Community Plugins für JTL-Shop 0
Neu Der Shop schickt die Aufträge nicht mehr an die Wawi JTL-Shop - Fehler und Bugs 1
Neu Bei Hermes ist Sendungsnummer gleichzeitig die Retourennummer. Otto.de - Anbindung (SCX) 3
Neu Die Ersten gehversuche Umstieg auf JTL-Shop 10
Neu Cloud oder inHouse, dass ist die Frage Installation von JTL-Wawi 16
Neu Die Shop-URL verweist nicht auf einen gültigen Shop! Shopify-Connector 1
Neu So ändern Sie den Status von amazon ASIN über die Importdatei in „Aktiv“. JTL Ameise - Eigene Exporte 0
Neu Mobatraum.de Alles für die Modellbahnträume Shops stellen sich vor 0
Neu Versandemail zieht die falsche Email-Adresse JTL-Wawi - Fehler und Bugs 2
Neu Nach Update auf 5.3 fliegen die Produkte aus dem Merchant Center JTL-Shop - Fehler und Bugs 0
Neu Ärger mit WMS mobile - Scan bestätigt nicht zuverlässig die Eingabe Gelöste Themen - JTL-WMS / JTL-Packtisch+ 4
WAWI 1.8.12.0 stürzt ab, wenn die Verbindung zur Datenbank unterbrochen wurde JTL-Wawi 1.8 21
Neu E-Commerce-Effizienz steigern: Welche Programmiersprache verbessert die JTL-Shop-Entwicklung? Technische Fragen zu Plugins und Templates 1
Neu AMAZON Registrierung - die machen mich wahnsinnig Business Jungle 1
Neu Stickprogramm - Kosten die Kunde nur einmalig bezahlen muss Allgemeine Fragen zu JTL-Shop 1
Kann ich eine email an die Wawi senden durch die dann ein neuer Auftrag generiert wird? (Daten müssen händisch vervollständigt werden...) JTL-Wawi 1.8 2
Neu Verordnung über die allgemeine Produktsicherheit (GPSR) JTL-Wawi - Ideen, Lob und Kritik 0
Warum sind die Rechnungen aus Aufträge(mit Rechnung(Vollständig)) nicht unter Rechnung zu finden JTL-Wawi 1.7 0
Neu Track & Trace - Auslandssendungen automatisiert als PDF exportieren, bevor die Logs gelöscht werden. JTL-Track&Trace - Ideen, Lob und Kritik 0
Neu Woocommerce mit JTL Connector "Die Shop-URL verweist nicht auf einen gültigen Shop" WooCommerce-Connector 4
Neu Wie gut ist die Datenbanksynchronisation? JTL-Wawi - Ideen, Lob und Kritik 4
Verwiesen an Support wo finde ich die Logdatei von den Workflows JTL-Workflows - Fehler und Bugs 9
Wie kann ich eine Benachrichtigung bei einem Wareneingang auslösen mit einer Mail über die Artikel die eingebucht wurden JTL-Wawi 1.8 2
Neu Schweiz: Die Gewichtsangabe ist kleiner als im CN23-Formular > kein Versand möglich JTL-ShippingLabels - Fehler und Bugs 13
[JTL-WAWI API] Wie funktioniert die Item-Image API? JTL-Wawi 1.8 0
Neu Nach Update von 1.5 auf 1.8 Versand in die Schweiz nicht mehr möglich JTL-ShippingLabels - Fehler und Bugs 2
Neu Versandetikett von der Merchant FFN JTL an die Fulfiller FFN JTL übertragen? Richtiger Weg? User helfen Usern - Fragen zu JTL-Wawi 0
Neu ist das Hinzufügen eines zusätzlichen Hinweis bei Artikeln, mit bestimmtem Merkmal, die auf die Einkaufsliste wandern möglich ? User helfen Usern - Fragen zu JTL-Wawi 0
Neu ebay Versanddatum / Versandfrist "Versand bis..." in die Wawi holen, um Aufträge zu priorisieren eBay-Anbindung - Ideen, Lob und Kritik 0
Neu Wie kann ich die vergebene Coupons sehen. Welche Kunde welchen Copoun Allgemeine Fragen zu JTL-Shop 0
Wichtig JTL-Fulfillment Lager in Hückelhoven: Die All-in-One-Lösung für die Lagerung Eurer Ware Business Jungle 0
Neu Bilder unter "Mehr dieser Waregruppe" und "Kunden, die diesen Artikel gekauft haben, kauften auch" fehlen eBay-Designvorlagen - Fehler und Bugs 0
Neu Amazon Lister übergibt die falsche SKU an Amazon Amazon-Lister - Fehler und Bugs 0
Neu Amazon Lister übergibt die falsche Versandgruppe Amazon-Lister - Fehler und Bugs 9
Neu Nach Installation eines neuen SQL Servers klappt die Verbindung vom Benutzer-PC zum Server-PC nicht mehr. Installation von JTL-Wawi 5
Neu Kunde bekommt Zahlungsart angezeigt die wir nicht anbieten User helfen Usern 5
Neu Sortieren der Auftragsliste und dort die Artikelnummer anzeigen Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 0
JTL Wawi S/MIME ungültig (die Nachricht wurde möglicherweise verändert) JTL-Wawi 1.8 4
Neu Die Variantenauswahl kommt teilweise auf der Artikelliste durch JTL-Shop - Fehler und Bugs 14
Variablen werden nicht mehr in die verschiedenen Vorlagen übertragen JTL-Wawi 1.8 0
Unterstützt JTL Wawi 1,8 weiterhin die Varianten? JTL-Wawi 1.8 3
Neu erster JTL Shop - Artikelbilder aus Cloudspeicher - aber nicht in die Wawi eazybuisiness DB Allgemeine Fragen zu JTL-Shop 0
In Bearbeitung Warum sind die Leerzeichen im Namen von Workflows JTL-Workflows - Fehler und Bugs 7
Angebote ohne Auftrag, die wieder auftauchen und ein Auftrag haben, der sogar versendet wurde. JTL-Wawi 1.8 1

Ähnliche Themen