Neu XML-Import -- Datumsfelder unterstützen (entgegen dem Guide) keine Uhrzeiten

reneromann

Sehr aktives Mitglied
31. August 2012
2.135
5
Beim Import von Aufträgen per XML-Import über den Worker als auch über die entsprechende Funktion im Verkaufsmenü wird der Import der XML abgelehnt, sofern die Datumsfelder nicht nur ein Datum, sondern zusätzlich auch eine Uhrzeit enthalten.

Beispiel-XML, welches NICHT importiert wird (Verweis auf das Feld dErstellt, welches nicht dem Typ "MyDate" entsprechen würde):
XML:
<?xml version="1.0" encoding="iso-8859-1"?>
<tBestellungen>
    <tBestellung kFirma="5">
        <cSprache>ger</cSprache>
        <cWaehrung>EUR</cWaehrung>
        <cBestellNr />
        <cExterneBestellNr>EXT123</cExterneBestellNr>
        <cVersandartName />
        <cVersandInfo />
        <dVersandDatum />
        <cTracking />
        <cLogistiker />
        <dLieferDatum />
        <cKommentar />
        <cBemerkung />
        <dErstellt>2019-04-30 15:32:14</dErstellt>
        <cZahlungsartName>Überweisung</cZahlungsartName>
        <dBezahltDatum />
        <fBezahlt>0</fBezahlt>
        <twarenkorbpos kArtikel="813">
            <cName>TESTPRODUKT</cName>
            <cArtNr>TESTEAN</cArtNr>
            <cBarcode />
            <cSeriennummer />
            <cEinheit />
            <fPreisEinzelNetto>0</fPreisEinzelNetto>
            <fPreis>0</fPreis>
            <fMwSt>19</fMwSt>
            <fAnzahl>1</fAnzahl>
            <cPosTyp>standard</cPosTyp>
            <fRabatt>0</fRabatt>
        </twarenkorbpos>
        <tkunde>
            <cKundenNr />
            <cAnrede>Herr</cAnrede>
            <cTitel />
            <cVorname>Max</cVorname>
            <cNachname>Mustermann</cNachname>
            <cFirma />
            <cStrasse>Musterstraße 33</cStrasse>
            <cAdressZusatz />
            <cPLZ>12345</cPLZ>
            <cOrt>Musterhausen</cOrt>
            <cBundesland />
            <cLand>DE</cLand>
            <cTel />
            <cMobil>123456789</cMobil>
            <cFax />
            <cMail>test@test.de</cMail>
            <cUSTID />
            <cWWW />
            <dGeburtstag>1960-01-01</dGeburtstag>
            <cHerkunft />
            <dErstellt>2019-04-30</dErstellt>
        </tkunde>
        <tlieferadresse>
            <cAnrede>Herr</cAnrede>
            <cVorname>Max</cVorname>
            <cNachname>Mustermann</cNachname>
            <cTitel />
            <cFirma />
            <cStrasse>Musterstraße 33</cStrasse>
            <cAdressZusatz />
            <cPLZ>12345</cPLZ>
            <cOrt>Musterhausen</cOrt>
            <cBundesland />
            <cLand>DE</cLand>
            <cTel />
            <cMobil>123456789</cMobil>
            <cFax />
            <cMail>test@test.de</cMail>
        </tlieferadresse>
        <tzahlungsinfo>
            <cBankName />
            <cBLZ />
            <cKontoNr />
            <cKartenNr />
            <dGueltigkeit />
            <cCVV />
            <cKartenTyp />
            <cInhaber />
            <cIBAN />
            <cBIC />
        </tzahlungsinfo>
    </tBestellung>
</tBestellungen>

Sobald das Feld dErstellt von
XML:
<dErstellt>2019-04-30 15:32:14</dErstellt>
zu
XML:
<dErstellt>2019-04-30</dErstellt>
abgeändert wird, wird der Auftrag auch importiert.
Im Guide hingegen wird explizit genannt, dass für Datumsfelder auch das Format "yyyy-MM-dd HH:mm:ss" erlaubt sei.

Verwendete Wawi-Version 1.4.26.0
 

Philipp Laumen

Gesperrter Benutzer
16. Juli 2018
260
84
Hallo,

allerdings, da hat sich wohl ein Fehler im Guide eingeschlichen. In der XSD Datei wird es ebenfalls ohne Uhrzeit definiert.
Werde ich anpassen lassen.

Danke!
 

reneromann

Sehr aktives Mitglied
31. August 2012
2.135
5
Hallo Philipp,

lieber wäre mir die andere Richtung, d.h. Erweiterung des Imports um die Uhrzeit ;)

Gruß,

René
 

Philipp Laumen

Gesperrter Benutzer
16. Juli 2018
260
84
Hallo Rene,

der Import wurde zur 1.4 ja schon angepasst. Du kannst das Feld alternativ auch weglassen, dann wird da vom SQL der Timestamp reingesetzt.
Wenn wir da erweitern, befürchte ich ist die Uhrzeit Pflichtangabe.

Vielleicht erklärst du wofür du das brauchen würdest.

Gruß,
Philipp
 

reneromann

Sehr aktives Mitglied
31. August 2012
2.135
5
Wir nutzen den XML-Import für eine Schnittstelle mit einer Online-Kursverwaltung...
Die Kursverwaltung legt ihrerseits Kursbuchungen an und wir ziehen diese per XML-Import in die Wawi zum Erstellen der Rechnungen, während die eigentliche Zuweisung der Kursteilnehmer dann rein im Online-Tool erfolgt.
Und da wir im Online-Tool sowohl den Buchungstag als auch die -uhrzeit aufgezeichnet haben, wäre es schön, wenn man diese mit übernehmen könnte...

Und zum Thema Timestamp - bisher hängt ihr ja auch einfach 00:00:00 hinten dran (dürfte der Default im SQL-Server sein, wenn man aus einem Date ein DateTime macht) - insofern könnte man auch in Zukunft weiterhin beide Optionen anbieten.

In C# wäre das dann z.B. ein
bool valid = DateTime.TryParseExact(inputString, {"yyyy-MM-dd","dd.MM.yyyy","yyyy-MM-ddTHH:mm:ss", "dd.MM.yyyy HH:mm:ss", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-ddTHH:mm:ssK", "yyyy-MM-dd HH:mm:ssK", "dd.MM.yyyy HH:mm:ssK" }, CultureInfo.InvariantCulture, DateTimeStyles.AssumeLocal | DateTimeStyles.AdjustToUniversal, out value);

Im Fall eines einfachen Datums gibt die Funktion ein 00:00:00 zurück, ansonsten die geparste Uhrzeit -und- sie wandelt es intern gleich nach UTC um, sofern kein Zeitformat angegeben ist...

P.S.: In der Datenbank generell UTC - ansonsten gibt's beim Umzug in eine andere Zeitzone -oder- selbst bei der Sommer- und Winterzeitumstellung nur Hauen und Stechen. Den Spaß mit lokalen Zeiten in der Bank hab ich selbst schon hinter mir und seit dem geht nur noch UTC in die Bank... ;)
 

elevennerds.de

Sehr aktives Mitglied
23. September 2015
1.187
179
Ein einfaches
Code:
UPDATE dbo.tBestellung SET dErstellt = GETDATE() WHERE cInetBestellNr = :cInetBestellNr
nach erfolgreichen Import löst Dein Problem. Bleiben noch die anderen Bugs im XML-Import (Zahlungsziel, cZusatz in der Lieferadresse, nSort der Auftragspositionen)
 

reneromann

Sehr aktives Mitglied
31. August 2012
2.135
5
Ein einfaches
Code:
UPDATE dbo.tBestellung SET dErstellt = GETDATE() WHERE cInetBestellNr = :cInetBestellNr
nach erfolgreichen Import löst Dein Problem.
Ist mir schon klar - nur nicht Sinn und Zweck der Aktion. Zumal das auch einen weiteren Aufwand bedeutet - nämlich die Prüfung, ob der Auftrag schon importiert wurde, um dann im Anschluss das Update-Statement laufen lassen zu können. So reicht ein einfaches "Einkippen" in die tXmlImport und der Wawi- Worker macht den Rest.

Immerhin könnte man ja auch die Kundendaten (die derzeit nicht funktionieren) per INSERT direkt in die Bank hauen - man darf sich bei Manipulationen in der Bank nur nicht wundern, wenn man nicht alle Stellen erwischt und damit einen ungültigen Stand hinterlässt.
 

webksde

Aktives Mitglied
30. August 2012
59
5
32457 Porta Westfalica
Ich kann ebenfalls bestätigen, dass der Guide Datum und Uhrzeit erlaubt - was auch wünschenswert ist. Der Import wirft allerdings den Fehler:

Code:
Unbehandelte Ausnahme #5696DC3373F28979 vom Typ jtlCore.Classes.Auftragsimport.Exceptions.ValidateException in System.Collections.Generic.List`1[jtlCore.Classes.Auftragsimport.Models.CustomerOrder] Import(System.Xml.Linq.XDocument, jtlCore.Classes.Auftragsimport.ImportOptions, jtlCore.Classes.Auftragsimport.AuftragsimportRepository)
jtlCore.Classes.Auftragsimport.Exceptions.ValidateException: Fehlerhafte XML-Datei ---> System.Xml.Schema.XmlSchemaValidationException: Das Element 'dErstellt' ist ungültig - Der Wert '2021-04-07 01:32:04' ist gemäß seinem Datentyp 'MyDate' ungültig -- Der Wert '2021-04-07 01:32:04' ist gemäß den memberTypes der Union nicht gültig.. ---> System.Xml.Schema.XmlSchemaException: Der Wert '2021-04-07 01:32:04' ist gemäß den memberTypes der Union nicht gültig.
   --- Ende der internen Ausnahmestapelüberwachung ---
   bei System.Xml.Schema.XNodeValidator.ValidationCallback(Object sender, ValidationEventArgs e)
   bei System.Xml.Schema.XmlSchemaValidator.SendValidationEvent(XmlSchemaValidationException e, XmlSeverityType severity)
   bei System.Xml.Schema.XmlSchemaValidator.SendValidationEvent(String code, String[] args, Exception innerException)
   bei System.Xml.Schema.XmlSchemaValidator.CheckElementValue(String stringValue)
   bei System.Xml.Schema.XmlSchemaValidator.ValidateAtomicValue(String stringValue, XmlSchemaSimpleType& memberType)
   bei System.Xml.Schema.XmlSchemaValidator.InternalValidateEndElement(XmlSchemaInfo schemaInfo, Object typedValue)
   bei System.Xml.Schema.XNodeValidator.ValidateElement(XElement e)
   bei System.Xml.Schema.XNodeValidator.ValidateNodes(XElement e)
   bei System.Xml.Schema.XNodeValidator.ValidateElement(XElement e)
   bei System.Xml.Schema.XNodeValidator.ValidateNodes(XElement e)
   bei System.Xml.Schema.XNodeValidator.ValidateElement(XElement e)
   bei System.Xml.Schema.XNodeValidator.Validate(XObject source, XmlSchemaObject partialValidationType, Boolean addSchemaInfo)
   bei System.Xml.Schema.Extensions.Validate(XDocument source, XmlSchemaSet schemas, ValidationEventHandler validationEventHandler, Boolean addSchemaInfo)
   bei jtlCore.Classes.Auftragsimport.XmlValidator.Validate(XDocument document, String xsdString)
   bei jtlCore.Classes.Auftragsimport.XmlValidator.TryValidate(XDocument document, String xsdString, XmlSchemaValidationException& exception)
   --- Ende der internen Ausnahmestapelüberwachung ---
   bei jtlCore.Classes.Auftragsimport.XmlImporter.XmlOldWawiOrderImport.Import(XDocument document, ImportOptions importOptions, AuftragsimportRepository repository)
   bei jtlCore.Classes.Auftragsimport.XmlOrderImportExtensions.Import(IXMLOrderImport importer, String xml, ImportOptions importOptions, AuftragsimportRepository repository)
   bei jtlCore.Forms.Auftragsimport.AuftragsimportController.lZIVoBQTgVP(String  , ImportOptions  )
   bei jtlCore.Forms.Auftragsimport.AuftragsimportController.tpvVoqKcDOB()
Title = Fehlerhafte XML-Datei
Description = Der Aufbau der XML-Datei entspricht nicht den Anforderungen.

Unbehandelte Ausnahme #31255584CB6D25DB vom Typ System.Xml.Schema.XmlSchemaValidationException in Void ValidationCallback(System.Object, System.Xml.Schema.ValidationEventArgs): Das Element 'dErstellt' ist ungültig - Der Wert '2021-04-07 01:32:04' ist gemäß seinem Datentyp 'MyDate' ungültig -- Der Wert '2021-04-07 01:32:04' ist gemäß den memberTypes der Union nicht gültig..

Unbehandelte Ausnahme #32FB2D3D51A89487 vom Typ System.Xml.Schema.XmlSchemaException in : Der Wert '2021-04-07 01:32:04' ist gemäß den memberTypes der Union nicht gültig.
 
Ähnliche Themen
Titel Forum Antworten Datum
Formatierungsfehler in XML bei Verwendung von dotliquid kaufland.de - Anbindung (SCX) 2
Neu Kategoriebilder werden nicht angezeigt / RSS.xml nicht beschreibbar JTL-Shop - Fehler und Bugs 0
Neu XML-Vorlage Variablen Unklarheit Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 4
Neu Umlagerung per Ameisen-Import JTL-Wawi - Fehler und Bugs 1
Neu JTL 1.8.12.0 - Artikelattribut für Shop importieren - Format CSV-Datei / Hilfe bei Import von individuellen Attributen für JTL-Shop (googlekat) JTL-Ameise - Ideen, Lob und Kritik 1
Ameisen Import von Aufträgen: Zahlungsziel in Tagen immer 0 JTL-Wawi 1.8 1
Neu Automatisierter Import Händler-CSV, Problem mit unterschiedlichen Artikeln bei gleicher EAN Schnittstellen Import / Export 7
Automatisches MHD bei Import JTL-Wawi 1.8 1
Neu Import von sonderpreisen JTL-Ameise - Fehler und Bugs 1
Neu ebay Import ohne Variantenbilder eBay-Anbindung - Fehler und Bugs 0
Beschreibung wird beim Import fehlerhaft übernommen JTL-Wawi 1.8 0
Neu Ameise - Logikfrage zum Import von Artikeln mit und ohne Varkombis gemäß Guide User helfen Usern - Fragen zu JTL-Wawi 0
Neu JTL Ameise Import von Meta-Descriptions Schnittstellen Import / Export 6
Neu Nach Import von Kundendaten aus SW5 Umleitung nach Login und weiße Seite JTL-Shop - Fehler und Bugs 5
Neu Bitte um Hilfe beim Export/Import von Attributen JTL Ameise - Eigene Exporte 0
Neu Zahlungsart beim Import ändern User helfen Usern - Fragen zu JTL-Wawi 0
Neu Mindestabnahme / Abnahmeintervall Import mittels Ameise User helfen Usern - Fragen zu JTL-Wawi 1
Neu Export & Import Lagerplätze JTL Ameise - Eigene Exporte 7
Neu Shopdaten import funktioniert nicht Shopware-Connector 2
Neu Import von Blogseiten undLandingpages von Magento Umstieg auf JTL-Shop 3
Neu CiN TrackID-Import Plugin User helfen Usern - Fragen zu JTL-Wawi 12
Label per Import bedienen JTL-Wawi 1.8 0
Neu Auftrag aus Woocommerce Import zeigt im Druck "Zahlungsziel beträgt 150 Tage ab Rechnungsdatum" User helfen Usern - Fragen zu JTL-Wawi 0
Neu Ameise Import manuell ausgeführt funktioniert, der gleiche Import über Batch Planung gestartet hat Fehler JTL-Ameise - Fehler und Bugs 2

Ähnliche Themen