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
85
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
85
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.225
204
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
60
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
Zahlungseingang XML File automatisch abgleichen JTL-Wawi 1.10 0
Neu XML Export Vorlage Lieferscheinpositionen Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 2
unterschiedlicher Rechnungsbetrag in JTL-Wawi, PDF-Rechnung und XML-Rechnung JTL-Wawi 1.9 3
Neu Ebay Zustände bei Ameise Import JTL-Ameise - Fehler und Bugs 0
Neu Import Ameise Kategorie Ebene 1 JTL-Ameise - Fehler und Bugs 7
Nach dem Import von Aufträgen kein Artikel Preis JTL-Wawi 1.9 1
Neu Versanddaten Import -> Automatisches Abschließen von Dropship Bestellungen möglich? User helfen Usern 1
Neu Frage zur Handhabung bei Import Vorlage JTL-Ameise - Fehler und Bugs 5
Neu Einkaufspreis bei Ameise-Import über "Lagerbestände" ergänzen JTL-Ameise - Ideen, Lob und Kritik 9
Neu Lieferantenbestellung per CSV Import mit Ameise Artikel VPE JTL-Ameise - Fehler und Bugs 0
Neu Betreff: CMD-Import überspringt Artikel bei Bestandsüberschreibung - Über den GUI-Import keine Probleme JTL-Ameise - Fehler und Bugs 2
Neu Unnötiger Fehler beim Import von Kundendaten JTL-Shop - Fehler und Bugs 0
Probleme beim Import von eBay-Produkten in JTL – neue Artikel werden nicht übernommen eBay-Anbindung - Fehler und Bugs 5
Import mit Ameise von "Varianten" JTL-Wawi 1.10 1
Neu Bild Export / Bild Import! User helfen Usern - Fragen zu JTL-Wawi 5
Ameise Bilder Import JTL-Wawi 1.10 23
Neu Import erfolgreich aber 0 Kunden import??? JTL-Ameise - Fehler und Bugs 4
Neu Initialer Import von Amazon mit Lister 2.0 Amazon-Lister - Fehler und Bugs 8
Neu Otto Import über Eazyauction - Fehler 100096 - SWITCH_API_VERSION User helfen Usern - Fragen zu JTL-Wawi 16
Neu Import von Daten zu verschiedenen Ausgabewegen JTL-Ameise - Ideen, Lob und Kritik 2
Neu Import von Blogbeiträgen Allgemeine Fragen zu JTL-Shop 1
Import Fehler! Der Vorgang wurde abgebrochen! JTL-Wawi 1.10 24
Neu "Bilder zu Plattformen zuordnen" weist beim Import der Artikelstammdaten via Ameise nur einer von dreien JTL-POS Filialen zu. JTL-Ameise - Fehler und Bugs 2
Neu Bilder Import für eBay JTL-Ameise - Ideen, Lob und Kritik 5

Ähnliche Themen