Neu Ameise 1.5 vs Ameise 1.6 - Unterschiede zwischen GUI Version und Kommandozeile bzgl. gültiger Werte

JohnFrea

Sehr aktives Mitglied
21. September 2017
500
158
Moin,

mit dem Update auf Wawi 1.6 ist mir ein wirklich unschönes und undokumentiertes Verhalten der Ameise aufgefallen.

Betroffen ist die Spalte "Zum eigenen Lagerbestand hinzufügen" im Bereich Artikelstammdaten > Lieferant - vielleicht jedoch auch noch weitere Spalten.

Bis Wawi 1.5 war sowohl in der GUI wie auch in der CMD-Version ein "Y" für Ja möglich.
In 1.6.41.1 akzeptiert die GUI noch ein Y während die CDM das ablehnt und eine 1 erwartet. Und noch schlimmer, die CDM-Version lehnt das Y an und konvertiert den ungültigen Spaltenwert zu einer 0. Damit hat man im Ergebnis genau nicht, was man haben wollte und in diesem Beispiel wird der Lieferantenbestand NICHT zum Lagerbestand hinzu gefügt.

So eine Änderung erwartet wirklich niemand und so etwas im Feld zu debuggen ist nicht witzig.

Wie kann es überhaupt Unterschiede zwischen GUI und CMD bzgl. gültiger Werte geben?
Wurden noch mehr gültige Werte zwischen 1.5 und 1.6 umgestellt oder sind zwischen GUI und CMD unterschiedlich?

Dieser Thread nur als Hinweis, weil darüber vermutlich noch mehr Anwender, die Automatisieren stolpern werden. Ticket#2022081110000502 dazu eben eröffnet.

John
 
Zuletzt bearbeitet:

Verkäuferlein

Sehr aktives Mitglied
29. April 2012
1.499
455
Ist bestimmt ein Feature und kein Bug. ;)

Gibt auch Unterschiede zwischen Trockenlauf und Real-Import (Fehler/Probleme die erst im Real-Import angezeigt werden, im Trockenlauf aber nicht aufgetaucht sind), auch das gilt es zu beachten.
 

mvh

Sehr aktives Mitglied
26. Oktober 2011
426
107
Für konkret das Feld "Zum Lieferantenbestand hinzufügen" ist das als Bug inzwischen bestätigt.

https://issues.jtl-software.de/issues/WAWI-63981

Was mich vor allen Dingena auf techischer Seite interessiert: Wie kann es da Unterschiede zwischen GUI und CMD geben?!?
Moin.
der interne Typ vom "Zum eigenen Lagerbestand hinzufügen" ist "Integer" also eine Zahl, die Spalte heißt "nLagerBeachten" und ist auch eine Zahl. Die Oberfläche (GUI) korrigiert automatisch "Y" zum "1" und "N" zum "0", das CSV/Batch-Modus macht das nicht. Der Wert "Y" ist also eigentlich falsch, muss "1" sein.
Bild1.png
 
  • Gefällt mir
Reaktionen: Verkäuferlein

Verkäuferlein

Sehr aktives Mitglied
29. April 2012
1.499
455
Was mich vor allen Dingena auf techischer Seite interessiert: Wie kann es da Unterschiede zwischen GUI und CMD geben?!?

Hast Du es mal im Trockenlauf probiert, welche Meldungen da kommen?

Keine Ahnung, bis zu welchem Punkt da die Abläufe bei allem 3 identisch sind.

Moin.
der interne Typ vom "Zum eigenen Lagerbestand hinzufügen" ist "Integer" also eine Zahl, die Spalte heißt "nLagerBeachten" und ist auch eine Zahl. Die Oberfläche (GUI) korrigiert automatisch "Y" zum "1" und "N" zum "0", das CSV/Batch-Modus macht das nicht. Der Wert "Y" ist also eigentlich falsch, muss "1" sein.
Den Anhang 86725 betrachten

Weißt Du ob das vor der 1.6 anders war und welche Felder sich möglicherweise geändert haben?
Meines Wissens gibt es das bei mehreren Feldern, ich kann mich zumindest an ähnliche Fehlermeldungen beim Import alter Vorlagen erinnern.
 

mvh

Sehr aktives Mitglied
26. Oktober 2011
426
107
Hast Du es mal im Trockenlauf probiert, welche Meldungen da kommen?

Keine Ahnung, bis zu welchem Punkt da die Abläufe bei allem 3 identisch sind.



Weißt Du ob das vor der 1.6 anders war und welche Felder sich möglicherweise geändert haben?
Meines Wissens gibt es das bei mehreren Feldern, ich kann mich zumindest an ähnliche Fehlermeldungen beim Import alter Vorlagen erinnern.
Moin. Ich habe bei mir 2 Version: die 1.5.55 und die 1.6.41. Die Ameise Felder-Tabellen sind sehr ähnlich, aber nicht identisch, da gibt es mehrere Unterschiede. Ich mache Morgen einen Abgleich zwischen den Versionen und poste es hier als Tabelle.
 

mvh

Sehr aktives Mitglied
26. Oktober 2011
426
107
Hallo an Alle,
ich habe die Importfelder in Ameise zwischen 1.5.55.3 und 1.6.41.2 verglichen.
Die Tabellen sind identisch, und auch die Spalte "Zum eigenen Lagerbestand hinzufügen" ist eine Zahl, genau so wie in 1.6
Bild2.png

Der einzige Unterschied zwischen 1.5 und 1.6 ist - es fehlen 2 Spalten in 1.6: Lagerbestand in Variationen und Drittland.
Bild3.png
wobei das für 1.6 verständlich ist.
Mit freundlichen Grüßen, Ihr MVH-Team
 

Verkäuferlein

Sehr aktives Mitglied
29. April 2012
1.499
455
Die Tabellen sind identisch, und auch die Spalte "Zum eigenen Lagerbestand hinzufügen" ist eine Zahl, genau so wie in 1.6
Hab mal versucht, über den Issue-Tracker etwas herauszufinden:
https://issues.jtl-software.de/issues/WAWI-59010
https://issues.jtl-software.de/issues/WAWI-59084

Im Guide ist dazu folgendes zu finden:
https://guide.jtl-software.de/jtl-w...beispiel-fuer-eine-csv-datei-mit-artikeldaten


https://guide.jtl-software.de/jtl-w...mportieren/#schritt-2-standardwerte-festlegen
Hinweis zu den erlaubten Werten: Bei vielen Standardwerten können Sie prinzipiell nur auswählen, ob diese gesetzt sein sollen oder nicht, z. B. Bestandsführung aktiv. Erlaubte Werte sind hier Ja, J, true, Y und 1 zum Aktivieren einer Option bzw. Nein, N, false und 0 zum Deaktivieren.
 
Zuletzt bearbeitet:

mvh

Sehr aktives Mitglied
26. Oktober 2011
426
107
Ja, richtig. Diese Spalte cValidation beschreibt, wie die Ameise (als Programm/GUI) die Daten behandeln soll (bool=Y,N 01=0,1),
aber im Kommandozeilen-Modus (also als Konsole) wird die Spalte manchmal? ignoriert uns hier ist nur der Typ wichtig:
int8 = Ganzzahl (bis 256?), char=1 Zeichen, usw.
Ich würde mich nicht auf die korrekte Umwandlung verlassen, sondern gleich den richtigen Typ nehmen, ist sicherer.
LG, Ihr MVH-Team
 

Verkäuferlein

Sehr aktives Mitglied
29. April 2012
1.499
455
Ja, richtig. Diese Spalte cValidation beschreibt, wie die Ameise (als Programm/GUI) die Daten behandeln soll (bool=Y,N 01=0,1),
aber im Kommandozeilen-Modus (also als Konsole) wird die Spalte manchmal? ignoriert uns hier ist nur der Typ wichtig:
int8 = Ganzzahl (bis 256?), char=1 Zeichen, usw.
Ich würde mich nicht auf die korrekte Umwandlung verlassen, sondern gleich den richtigen Typ nehmen, ist sicherer.
LG, Ihr MVH-Team

Habe ich soweit verstanden. :)

Nur die Frage ist ja, ob denn auch alle entsprechenden Felder (z.B. die Standardwerte in der Wawi bei denen N/Y zur Auswahl steht) auch alles Integer sind. Oder anders: Welche Felder sind möglicherweise keine Integer?

Sonst hat man das Spiel ja wieder umgekehrt.

Hast Du die Datentypen und Validierungen der Datenbankfelder direkt aus der Datenbankstruktur ausgelesen oder gibt es die Aufstellung dazu irgendwo im Guide?
 

John

Sehr aktives Mitglied
3. März 2012
1.970
311
Berlin
Versuch mal in der GUI in einenen Standardwert, der ein Boolean ist etwas Ungültiges einzugeben. Wenn Du das Feld erläßt, macht er ein Validate mit MessageBox und gibt die gültigen Werte an:
1,Y,J,True
0,N,False
glaube ich.

@mvh & @Verkäuferlein schön, daß Ihr auch tief mit rein schaut, in so ein Detail.
 

mvh

Sehr aktives Mitglied
26. Oktober 2011
426
107
Habe ich soweit verstanden. :)

Nur die Frage ist ja, ob denn auch alle entsprechenden Felder (z.B. die Standardwerte in der Wawi bei denen N/Y zur Auswahl steht) auch alles Integer sind. Oder anders: Welche Felder sind möglicherweise keine Integer?

Sonst hat man das Spiel ja wieder umgekehrt.

Hast Du die Datentypen und Validierungen der Datenbankfelder direkt aus der Datenbankstruktur ausgelesen oder gibt es die Aufstellung dazu irgendwo im Guide?
Ameise-TypAmeise-FeldDB?TabelleDB-FeldAmeise-Typechtes DB-TypAmeise-Validierung
Amazon-Angebote ändernAPA Nutzenpf_amazon_angebot_extnAPANutzenint8tinyintbool01
Amazon-Angebote ändernAutomatischen Preisabstand nutzentHlpnPreisabstandNutzenint8bool01
Amazon-Angebote ändernB2B Preise sendenpf_amazon_angebot_extnB2BPreiseSendenbitbitbool
Amazon-Angebote ändernMin und Maxpreis anhand des Einkaufspreises berechnentHlpKonkurenzAsinnAufschlagProzentNutzenAsinint8bool01
Amazon-Angebote ändernMin und Maxpreis anhand des Einkaufspreises berechnentHlpnAufschlagProzentNutzenint8bool01
Amazon-Angebote ändernPreisanpassungsstrategie BuyboxtHlpnBuyBoxint8bool01
Amazon-Angebote ändernPreisanpassungsstrategie Konkurenz AsintHlpKonkurenzAsinnKonkurenzAsinint8bool01
ArtikeldatenBeschaffungszeit autom. ermittelntartikelnAutomatischeLiefertageberechnungint8tinyintbool01
ArtikeldatenCharge ArtikeltartikelnChargeint8tinyintbool01
ArtikeldatenInhalt/MengetartikelfMassMengerealdecimalbool01
ArtikeldatenIst DropshippingartikeltliefartikelnDropShippingint8tinyintbool01
ArtikeldatenIst Standard-DropshippinglieferanttliefartikelnDropShippingStandardint8tinyintbool01
ArtikeldatenIst StandardlieferanttliefartikelnStandardint8tinyintbool01
ArtikeldatenIst VaterartikeltartikelnIstVaterint8tinyintbool01
ArtikeldatenKein BestellvorschlagtartikelnNichtBestellbarint8tinyintbool01
ArtikeldatenLieferstatus zurücksetzentlieferstatushlpLieferStatusintbool01
ArtikeldatenLieferzeit vom Lieferanten beziehentliefartikelnLieferzeitAusLieferantint32tinyintbool01
ArtikeldatenMHD Artikel (Mindesthaltbarkeitsdatum)tartikelnMHDint8tinyintbool01
ArtikeldatenMindestlagerbestand zurücksetzentartikelhlpMindestlagerbestandZurücksetzenintbool01
ArtikeldatenZum eigenen Lagerbestand hinzufügentliefartikelnLagerBeachtenint8tinyintbool01
eBay-Angebote ändernAngebot mit Informationen aus dem eBay-Katalog vorbefüllenebay_itemIncludeeBayProductDetailsint8tinyintbool01
eBay-Angebote ändernPreisvorschlag Aktivebay_itemBestOfferEnabledint32tinyintBOOL01
eBay-Angebote erstellenAngebot mit Informationen aus dem eBay-Katalog vorbefüllenebay_itemIncludeeBayProductDetailsint8tinyintbool01
eBay-Angebote erstellenPreisvorschlag Aktivebay_itemBestOfferEnabledint32tinyintBOOL01
KonfigurationskomponentenKomponente empfehlentkonfigitembEmpfohlenint32tinyintbool01
KonfigurationskomponentenKomponente vorauswählentkonfigitembSelektiertint32tinyintbool01
KonfigurationskomponentenName vom Artikel beziehentkonfigitembNameint32tinyintbool01
KonfigurationskomponentenPreise vom Artikel beziehentkonfigitembPreisint32tinyintbool01
KonfigurationskomponentenRabatte anzeigentkonfigitembRabattint32tinyintbool01
KonfigurationskomponentenVom Artikelmultiplikator lösentkonfigitembIgnoreMultiplierint32tinyintbool01
KonfigurationskomponentenZuschläge anzeigentkonfigitembZuschlagint32tinyintbool01
KundendatenDrittlandtkundenDrittlandint8tinyintbool01
LieferantendatenDropshipping bei NachnahmetlieferantnDropshippingBeiNachnahmeint8tinyintbool01
LieferantendatenDropshipping möglichtlieferantnDropshippingint8tinyintbool01
LieferantendatenEinkaufslistensperretlieferantnKeineEinkaufslisteint8tinyintbool01
MerkmaleMehrfachauswahltMerkmalnMehrfachauswahlinttinyintBOOL01
Preise / Bestände (QuickSync)Ist DropshippingartikeltliefartikelnDropShippingint8tinyintbool01
Preise / Bestände (QuickSync)Ist Standard-DropshippinglieferanttliefartikelnDropShippingStandardint8tinyintbool01
Preise / Bestände (QuickSync)Ist StandardlieferanttliefartikelnStandardint8tinyintbool01
Preise / Bestände (QuickSync)Zum eigenen Lagerbestand hinzufügentliefartikelnLagerBeachtenint8tinyintbool01
 

mvh

Sehr aktives Mitglied
26. Oktober 2011
426
107
Habe ich soweit verstanden. :)

Nur die Frage ist ja, ob denn auch alle entsprechenden Felder (z.B. die Standardwerte in der Wawi bei denen N/Y zur Auswahl steht) auch alles Integer sind. Oder anders: Welche Felder sind möglicherweise keine Integer?

Sonst hat man das Spiel ja wieder umgekehrt.

Hast Du die Datentypen und Validierungen der Datenbankfelder direkt aus der Datenbankstruktur ausgelesen oder gibt es die Aufstellung dazu irgendwo im Guide?
Die Tabelle wurde anhand von Daten aus den WaWi-Tabellen ameise_importtyp, ameise_importtypfeld und SQL Server Tabellen sys.tables, sys.columns und sys.types erstellt.
Die Where-Abfrage
SQL:
cValidation like '%bool%' and cDBTyp not like '%char%'
Der komplette SQL-Code:
SQL:
SELECT ai.cName
    ,aif.cName
    ,aif.cTable
    ,aif.cDBName
    ,aif.cDBTyp
    ,col.data_type
    ,aif.cValidation
FROM [eazybusiness].[dbo].[ameise_importtypfeld] aif
INNER JOIN eazybusiness.dbo.ameise_importtyp ai ON aif.kImportTyp = ai.kImportTyp
OUTER APPLY (
    SELECT schema_name(tab.schema_id) AS schema_name
        ,tab.name AS table_name
        ,col.column_id
        ,col.name AS column_name
        ,t.name AS data_type
        ,col.max_length
        ,col.precision
    FROM sys.tables AS tab
    INNER JOIN sys.columns AS col ON tab.object_id = col.object_id
    LEFT JOIN sys.types AS t ON col.user_type_id = t.user_type_id
    WHERE tab.name = aif.cTable
        AND col.name = aif.cDBName
    ) col
WHERE cValidation LIKE '%bool%'
    AND cDBTyp NOT LIKE '%char%'
ORDER BY ai.cName
    ,aif.cName
 

mvh

Sehr aktives Mitglied
26. Oktober 2011
426
107
Umgekehrt gibt es wenige Y/N-Felder, die tatsächlich vom Typ char sind:
Ameise-TypAmeise-FeldTabelleFeldMeta-TypSQL TypValidierung
ArtikeldatenAktivtartikelcAktivcharcharbool
ArtikeldatenErscheint am zurücksetzentartikelhlpErscheintAmZurücksetzencharNULLbool
ArtikeldatenLagerbestand in VariationentartikelcLagerVariationcharcharbool
Artikeldatenmit Lagerbestand arbeitentartikelcLagerAktivcharcharbool
ArtikeldatenNeu im SortimenttartikelcNeucharcharbool
ArtikeldatenPreislistetartikelcPreislistecharcharbool
ArtikeldatenSeriennummer-ArtikeltartikelcLagerArtikelcharcharbool
ArtikeldatenStückzahl teilbartartikelcTeilbarcharcharbool
ArtikeldatenTop ArtikeltartikelcTopArtikelcharcharbool
ArtikeldatenÜberverkäufe ermöglichentartikelcLagerKleinerNullcharcharbool
ArtikeldatenVariationskombinationen beachtentartikelvarkombi_beachtencharNULLbool
ArtikeldatenVerpackungseinheit zurücksetzentliefartikelhlpVerpackungseinheitZurücksetzencharNULLbool
Aufträge (Beta)Als Angebot importierentBestellunghlpAuftragcharNULLbool
KundendatenGesperrttkundecSperrecharcharbool
KundendatenKassenkundetkundecKassenKundecharcharbool
LieferantendatenAktivtlieferantcAktivcharcharbool
 

mvh

Sehr aktives Mitglied
26. Oktober 2011
426
107
Sehr häufig verwendet JTL folgende "mnemonic" in SQL-Feldnamen: "c"=char, "n"=numeric, "b"=binary
So kann man auch ohne den Aufwand den Typen schnell rausfinden.
Viele Grüße, Ihr MVH-Team
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Ameise Lieferantenbestand CSV - .bat skript startet die Ameise nicht User helfen Usern - Fragen zu JTL-Wawi 1
Neu Bilder Abgleich und Ameise PrestaShop-Connector 0
Neu Kundenindividuelle Preise über Ameise löschen JTL-Wawi 1.6 1
Beantwortet Fehler: Artikelaktualisierung per Ameise - kann nicht vollständig aktualisiert werden weil er sich auf einer Pickliste befindet User helfen Usern - Fragen zu JTL-Wawi 1
Neu Abgleich Problem bei Ameise mit JTL 1.5.49.0 und Shopware Shop 5.3.7 Shopware-Connector 2
Neu Ameise Fenstergröße JTL-Ameise - Ideen, Lob und Kritik 7
Neu JTl-Ameise Filter löschen JTL-Ameise - Ideen, Lob und Kritik 9
Neu Varkombis per Ameise mit bestehenden Artikeln löschen User helfen Usern - Fragen zu JTL-Wawi 3
Neu Ameise über Kommandozeile und Variablen für eigene Export JTL-Ameise - Ideen, Lob und Kritik 3
Gelöst Ameise erkennt Feldinhalt nicht JTL-Ameise - Fehler und Bugs 1
Neu Preise kalkulieren / anpassen per Ameise JTL-Ameise - Fehler und Bugs 0
Neu Import Staffelpreise über Ameise funktioniert nicht! Bitte um HILFE User helfen Usern - Fragen zu JTL-Wawi 2
Neu Ameise RechnungsExport in Datev unter Umsatz wird falscher Betrag angezeigt JTL-Ameise - Fehler und Bugs 2
Neu Eigenen SQL Benutzer für Ameise CMD line scripting JTL-Ameise - Ideen, Lob und Kritik 6
Beantwortet JTL Ameise Auftrag Import - Artikel unbekannt User helfen Usern - Fragen zu JTL-Wawi 1
Gelöst DATEV Datei mit der Ameise speichern Schnittstellen Import / Export 10
Neu Löschen von Bildern inaktiver Artikel über Ameise.... Schnittstellen Import / Export 0
Neu Ameise Export / Import Artikel Rabatt in Prozent User helfen Usern - Fragen zu JTL-Wawi 1
Neu Bestehende Bilder in Ameise nutzen User helfen Usern - Fragen zu JTL-Wawi 0
Neu Workflow startet nicht nach Angebotsimport durch Ameise JTL-Wawi 1.6 2
Neu individuelle Preise in JTL-Wawi mit Ameise löschen User helfen Usern - Fragen zu JTL-Wawi 6
Neu JTL WAWI - AMEISE - Mindestlagerbestand und Maximallagerbestand importieren JTL-Ameise - Fehler und Bugs 1
Neu Standard-VK um % verringern mit Ameise User helfen Usern - Fragen zu JTL-Wawi 0
Neu Import von Verpackungseinheiten VPE der Lieferanten per JTL-Ameise JTL-Ameise - Fehler und Bugs 3
Neu JTL Ameise Exportvorlage nach Update fehlerhaft JTL-Ameise - Fehler und Bugs 0
Neu JTL Ameise -> Aufträge ohne Rechnung incl. Auftragswert User helfen Usern - Fragen zu JTL-Wawi 0
Neu CSV-Impost via Ameise endet mit Formatfehler Schnittstellen Import / Export 1
Beantwortet Programm starten in C:\Program Files (x86)\JTL-Software (Ameise) - wie Pfad angeben? JTL-Workflows - Fehler und Bugs 8
Neu Konfigurator: Komponenten ohne Preis von der Ameise importiert -> Fehler JTL-Wawi - Fehler und Bugs 1
In Diskussion Workflow einstellungen Wawi, Ameise, Extern JTL-Workflows - Fehler und Bugs 1
Neu Ameise 1.6: Variantennamen und -werte in ENG importieren JTL-Ameise - Ideen, Lob und Kritik 3
Neu Produktpreise mit Ameise User helfen Usern - Fragen zu JTL-Wawi 0
Performance Unterschiede SQL Express und Standard JTL-Wawi 1.6 23

Ähnliche Themen