Neu Rundungsfehler bei Teillieferungen von Stücklisten erzeugt Leichen mit Status Teilgeliefert

t.oster

Gut bekanntes Mitglied
4. Dezember 2013
177
14
Wenn eine Stückliste (zB Artikel A = 1xB + 1xC + 1xD) teilgeliefert wird, wird im jeweiligen Lieferschein der Stücklistenkopf (A) als teilgeliefert markiert mit der berechneten Anzahl (wenn also 1xB ausgeliefert wird, ist A=0.33).
Das sorgt dafür, dass zB bei Stücklisten mit genau 3 Komponenten nach 3-maliger Teillieferung der Stücklistenkopf 0.99 mal ausgeliefert wurde. Der Rest bleibt auf ewig in tReserviert und und der Auftrag bleibt ewig "Teilgeliefert".
Ich denke das Problem ist das gleiche wie hier https://forum.jtl-software.de/threads/ausgelieferter-auftrag-wird-als-teilgeliefert-angezeigt.110927.

Steps to Reproduce:
1. Erstelle einen Auftrag mit einer 1,1,1 Stückliste
2. Liefere die Stücklistenteile nacheinander in 3 Lieferscheinen Aus
3. In jedem Lieferschein ist der Stücklistenkopf 0.33333300000000 mal ausgeliefert, was einen Rest von 0.00000100000000 erzeugt, der in tReserviert hängt und weshalb der Auftrag für immer als Teilgeliefert bleibt.
In der Wawi wird die Anzahl von 0.9999990000 auf 1 gerundet angezeigt und man kann auch nichts mehr ausliefern
 

Anhänge

  • f.png
    f.png
    28,1 KB · Aufrufe: 4
  • e.png
    e.png
    37,2 KB · Aufrufe: 3
  • d.png
    d.png
    13,8 KB · Aufrufe: 3
  • c.png
    c.png
    14,4 KB · Aufrufe: 5
  • b.png
    b.png
    14,8 KB · Aufrufe: 4
  • 1.png
    1.png
    32,7 KB · Aufrufe: 4
  • x.png
    x.png
    26,9 KB · Aufrufe: 5
  • z.png
    z.png
    26,7 KB · Aufrufe: 4
Zuletzt bearbeitet:

DasPatte

Aktives Mitglied
16. Mai 2018
41
12
Dann leg das mal als Workflow an, dass es von Zeit zu Zeit genullt wird:

SQL:
{% assign counter = 7500 -%}
USE [eazybusiness]
GO
{% capture WLEsql -%}SELECT kWarenlagerEingang, fAnzahlAktuell FROM tWarenlagerEingang WHERE fAnzahlAktuell > 0 AND fAnzahlAktuell < 0.01
{% endcapture -%}
{% assign WLEquery = WLEsql | DirectQuery -%}
{% for Item in WLEquery.Daten-%}
{% assign counter = counter | Minus: 1 -%}
{% if counter >= 1 -%}
{% assign WLE = Item.kWarenlagerEingang-%}{% assign mWLE = Item.fAnzahlAktuell | FormatNumber: 'N3','en-EN'-%}

DECLARE @return_value int,
        @kWarenlagerAusgang int

EXEC    @return_value = [dbo].[spWarenlagerAusgangSchreiben]
        @xWarenlagerAusgaenge = NULL,
        @kWarenLagerEingang = {{WLE}},
        @kLieferscheinPos = NULL,
        @fAnzahl = {{mWLE}},
        @cKommentar = N'''<0,01 ausbuchen {{ Datum.Jetzt }}''',
        @kBenutzer = 25,
        @kBuchungsart = 33,
        @nHistorieNichtSchreiben = NULL,
        @kWarenlagerAusgang = @kWarenlagerAusgang OUTPUT

SELECT  @kWarenlagerAusgang as N'@kWarenlagerAusgang'

SELECT  'Return Value' = @return_value

GO
{% endif -%}
{% endfor -%}

Das ganze als sql-Datei erstellen lassen und entweder mit dem nächsten Aufruf über eine Batch-Datei ausführen oder direkt über SQLCMD.

So bleibt dein Bestand immer sauber.

Von "selbst" wird die Wawi das nicht machen können/wollen/dürfen, da die Teilbarkeit ja individuell klein sein kann.

Ich bin jetzt von einer Teilbarkeit von max 0.01 ausgegangen. Ansonsten pass die Menge im Code auf die dir passende an.

Gruß, Patrick
 
  • Gefällt mir
Reaktionen: t.oster

t.oster

Gut bekanntes Mitglied
4. Dezember 2013
177
14
Danke für die Antwort. Hatte auch schon überlegt ein Skript zusammen zu basteln. Leider gibt bei mir
Code:
SELECT kWarenlagerEingang, fAnzahlAktuell FROM tWarenlagerEingang WHERE fAnzahlAktuell > 0 AND fAnzahlAktuell < 0.01
schon keine Ergebnisse.

Die Teilmengen hängen ja in tReserviert und zwar weil die Summe der Lieferscheinpositionen für die Bestellposition (Stücklistenkopf) nicht mit der Bestellmenge übereinstimmt.
Ich müsste also eine SP aufrufen, die die Anzahl im letzten Lieferschein erhöht, sodass die Summe komplett ist. Finde aber nur was zum Lieferscheinposition löschen, nicht ändern (Versand.spLieferscheinPosLoeschen).

Habe allerdings noch nicht probiert mit Versand.spLieferscheinPosErstellen eine zusätzliche Position an den Lieferschein zu hängen, mit der Restmenge.

Meiner Meinung nach ist das schon ein Bug in der Wawi. Es geht ja nicht um teilbare Artikel, sondern um ganze Stücklisten, die zB aus 3 Teilen bestehen und es werden ja jeweils ganze Artikel ausgeliefert, nur damit implizit der Stücklistenkopf halt geteilt. Die Wawi müsste beim ausliefern feststellen, dass das letzte Teil der Stückliste geliefert ist und dann statt der brechneten gerundeten Stücklistenkopfmenge (1/3=0.3333333) einfach 1-SUM(geliefert) nehmen.
 

DasPatte

Aktives Mitglied
16. Mai 2018
41
12
Das Prinzip war schon klar, dass es nicht um Teilbarkeit geht. Aber ich wollte umgehen, falls du teilbare Artikel hast, dass du dir die Bestände zerschießt.
Arbeitest du mit MHD/Chargen/Seriennummern bei deinen Artikeln?

Dann wird der Warenlagereingang nicht separat geführt. Dann stellt man den Code auf eine andere Tabelle um und kommt ans Ziel.

Lieferscheine im Nachhinein zu erhöhen wird nicht funktionieren. Der Lieferschein soll im Nachhinein auf keinen Fall geändert werden.

Gruß, Patrick
 

t.oster

Gut bekanntes Mitglied
4. Dezember 2013
177
14
Hi,
nein ich arbeite nicht mit MHD/Chargen/Seriennummern. Ich verstehe aber auch nicht, was das mit Warenlagereingang zu tun hat.
Es geht um einen Auftrag mit Stückliste 1x Kopf (A) = 1x Komponente B, 1x Komponente C und 1x Komponente D.
Nun gibt es nach teilliefern der 3 genau 3 Lieferscheine: LS1 = 0.333333 mal A und 1xB, LS2 = 0.333333 mal A und 1xC, LS3 = 0.333333 mal A und 1xD.
Somit ist Artikel A menge = 1, geliefert 0.999999 während B bis D menge 1 und geliefert 1 sind. Das Problem ist das der Auftrag jetzt teilgeliefert ist und zwar noch 0.000001 mal den Stücklistenkopf A (ohne Komponenten) offen/reserviert hat, so lange bis die restliche Menge auf irgendeinem Lieferschein ist und damit 1xA ausgeliefert ist.
 

DasPatte

Aktives Mitglied
16. Mai 2018
41
12
Mit den Warenlagereingängen hätte es für den Fall zutun, wenn du eben Chargen/MHD... benutzen würdest, wäre jede einzelne Position löschbar.

Einfach so: bei allen Stücklistenkomponenten die teilbar sind, setzt du die Mindestabnahme auf >0.09.
Am besten jedoch jeweils auf 1 setzen.

Dann kannst du als Query folgendes einsetzen:

where (CAST(fLagerbestand as decimal(16,10))-CAST(fLagerbestand as decimal(7,1))) > 0

Die jetzigen, teilversendeten Lieferungen schließt du über „Auftrag ohne Versand anschließen“ ab

Die geänderte Teilbarkeit sorgt dann dafür, dass der Bestand nicht wieder aufgrund eines solchen Vorkommens, zurückbleibt.

Auch auf die Gefahr hin, dass ich nerve: Jedoch ist es so, dass viele andere Nutzer das Forum zukünftig durchsuchen werden und dann (im besten Falle) zumindest keine falsche Lösung finden...

Gruss, Patrick
 

t.oster

Gut bekanntes Mitglied
4. Dezember 2013
177
14
Ich glaube wir reden aneinander vorbei! Die Stücklistenkomponenten sind NICHT TEILBAR. Es werden von einer Stückliste mit 3 Komponenten jeweils eine GANZE ausgeliefert. Der Kopf wird dadurch implizit von JTL geteilt! (Ausliefern einer Komponente einer N-Teiligen Stückliste liefert den Kopf um 1/N aus). Bei 2 oder 4 Teiligen Komponenten (0.5 und 0.25) geht das glatt auf und nichts passiert. Bei 3 Teiligen (0.333333...) wird die Periode gerundet und das sorgt dafür dass man nachher nicht in der Summe wieder auf 1 kommt. Siehe Screenshots im ersten Beitrag!
 

DasPatte

Aktives Mitglied
16. Mai 2018
41
12
Da ich von allen Eventualitäten ausgehen wollte, habe ich Teilbarkeit/MHD/Charge/usw hinterfragt.

Wie aber auch als Lösung bereits genannt, hilft das "Auftrag ohne Versand abschließen"

1618688806629.png

Weil nur das die Reservierungen rausnimmt. Ist etwas umständlich (da manuell) aber in dem Szenario die einzige Möglichkeit.

Gruß, Patrick
 

t.oster

Gut bekanntes Mitglied
4. Dezember 2013
177
14
Hi,
ja, das ist mir bekannt, danke für den Tipp. Evtl könnte man das auch per Workflow aufrufen, oder es gibt sogar eine SP dafür? Müsste ich mal nachgucken. Find es halt trotzdem erwähnenswert, weil es in meinen Augen ein klarer Bug ist. Und ich finde Stücklisten aus 3 Teilen jetzt nicht so einen Sonderfall.
 

t.oster

Gut bekanntes Mitglied
4. Dezember 2013
177
14
Habe schon mal die SP gefunden:

Code:
exec Auftrag.spBestellungKomplettAusgeliefert @kBestellung=171821,@nKomplettAusgeliefert=2,@dVersendet='21.04.2021'
... wenn ich Zeit habe poste ich hier das fertige Skript...
 

t.oster

Gut bekanntes Mitglied
4. Dezember 2013
177
14
Hier der Code:
Code:
DECLARE @dVersendet DATETIME
SET @dVersendet = GETDATE()
DECLARE @xBestellungAusliefern AS XML
SET @xBestellungAusliefern = (
    SELECT
       kBestellung,
       2 AS nKomplettAusgeliefert
    FROM tReserviert WHERE fAnzahl < 0.0001
    FOR XML PATH ('BestellungKomplettAusgeliefert')
)
EXEC Auftrag.spBestellungKomplettAusgeliefert @xBestellungStorno=@xBestellungAusliefern,@kBestellung=0,@nKomplettAusgeliefert=2,@dVersendet=@dVersendet

OHNE GEWÄHR!

Er schliesst alle Aufträge, die eine Position reserviert haben mit Menge < 0.0001. ACHTUNG WENN SIE TEILBARE ARTIKEL HABEN. Da wir keine teilbaren Artikel haben trifft das bei uns genau auf die o.g. Leichen zu.
Interessanterweise erscheint der Auftrag danach in der Wawi auch korrekt als "verpackt und versendet" anstatt wie befürchtet "ohne Versand abgeschlossen". Man kann auch per Rechtsklick danach nicht mehr das ohne Versand abschliessen rückgängig machen.
 
  • Gefällt mir
Reaktionen: Shopworker.de
Ähnliche Themen
Titel Forum Antworten Datum
Gelöst Probleme mit Umlauten bei Mediendatei JTL-Wawi - Fehler und Bugs 2
Neu Servicedesk Fehlermeldung bei Versand von Rechnungen als PDF Anhang Servicedesk (Beta) 2
In Diskussion Druck Auftrag bei Pickliste erstellt JTL-Workflows - Fehler und Bugs 1
Beantwortet Workflow Mail versenden bei neuem Unicorn Auftrag geht nicht JTL-Workflows - Fehler und Bugs 4
Neu NOVA Template - dunkler Hintergrund bei ausklappendem Megamenu Templates für JTL-Shop 4
Neu Artikel bei Stücklisten hinzufügen User helfen Usern - Fragen zu JTL-Wawi 1
Neu Eingabe der MRN Nummer bei elektronischer Ausfuhranmeldung JTL-ShippingLabels - Ideen, Lob und Kritik 2
In Bearbeitung Workflow Bestandscheck bei Minusbuchung JTL-Workflows - Ideen, Lob und Kritik 3
Neu Währungsproblem bei Verkäufen auf Amazon Schweden, Polen und Türkei Einrichtung und Installation von JTL-eazyAuction 1
Neu Rechnungslayout zeigt keinen Artikelnamen und keine Menge bei einer bestimmten Schnittstelle / Marktplatz Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 2
Neu Problem bei der Preisanzeige User helfen Usern - Fragen zu JTL-Wawi 1
Neu Brauche Hilfe bei einem Template - nicht alle if-Anweisungen funktionieren Dienstleistung, Jobs und Ähnliches 0
Neu Probleme bei Paypal Plus Plugins für JTL-Shop 0
Neu E-Mail Benachrichtigung bei neuer JTL Shop Version Installation / Updates von JTL-Shop 0
Neu Wawi überträgt bei jedem Abgleich alle Artikel. JTL-Shop - Fehler und Bugs 4
Neu Google Shopping Plugin mit korrektem Steuerausweis bei den Versandkosten? Plugins für JTL-Shop 9
Neu Auftragswert Netto und Auftragswert Brutto hinzu column bei Nicht bezahlt User helfen Usern - Fragen zu JTL-Wawi 0
Neu JTL-Wawi Fehler bei der Anmeldung JTL-Wawi - Fehler und Bugs 3
In Bearbeitung Fehler bei mehreren gleichen Produkten Allgemeine Fragen zu JTL-POS 3
Neu Alle Artikel werden übertragen bei Shopabgleich nach Datenbankumzug JTL-Wawi - Fehler und Bugs 1
Issue angelegt Benachrichtigung bei Wareneingang von Lieferantenbestellung JTL-Workflows - Ideen, Lob und Kritik 3
Neu Skonto bei automatischer Zahlungszuweisung identifizieren Arbeitsabläufe in JTL-Wawi 0
Neu Shopware 6 - Probleme bei Produktbildern Shopware-Connector 1
Neu Auftrag kann nicht ausgeliefert werden, obwohl das Häkchen bei "Auslieferung vor Zahlungseingang möglich" gesetzt wurde. User helfen Usern - Fragen zu JTL-Wawi 2
Gelöst DRINGEND: Fehlermeldung bei Auftragssplit im WMS JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 6
Neu Preiskalkulation für Onlineshop-Produkte bei Kundengruppe XYZ User helfen Usern - Fragen zu JTL-Wawi 3
Neu Fehler bei Übertragung (413) Request Entity Too Large + The EntityManger is closed Shopware-Connector 7
Neu Workflows bei Verbindung über Vodafone laufen deutlich länger als über Telekom User helfen Usern - Fragen zu JTL-Wawi 17
Neu Import bricht bei mehr als 10 Produkten ab. WooCommerce-Connector 2
Neu Canonical Link bei Eigenen Inhaltsseiten falsch JTL-Shop - Fehler und Bugs 1
Neu Menge bei Zusammenführung wird zusammengefasst Arbeitsabläufe in JTL-Wawi 4
Neu Set-Artikel - bei einer bestimmten, enthaltenen Zeichenfolge soll der TARIC-Code ein- bzw. ausgeblendet werden Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Beschreibungstext bei Merkmal wird nicht übernommen, Bug 1.5.30.0 JTL-Wawi - Fehler und Bugs 3
Neu Logindaten als Log gespeichert bei JTL Wawi? User helfen Usern - Fragen zu JTL-Wawi 0
Verwiesen an Support Bei wem ist das Shipping (Erstellen von Versandscheinen auch manchmal sehr langsam bis hin zu abbrüchen?) JTL-ShippingLabels - Fehler und Bugs 3
Neu Versandkostenanzeige bei Artikelpreis Allgemeine Fragen zu JTL-Shop 2
JTL Shop 5: Warenkorb - Fehler bei Steuer B2B-Kunden? Ausblenden der Versandkosten, wenn 0,00 € möglich? Einrichtung JTL-Shop5 1
Neu Negativer Rabattwert wird bei Auftragserstellung zu Nullpreis User helfen Usern - Fragen zu JTL-Wawi 0
Neu AUfträge nur unter "Kunden" und nicht bei Verkäufe User helfen Usern - Fragen zu JTL-Wawi 2
Neu SW5: bei Connectorkonfiguration Fehlermeldung Shopware-Connector 0
Beantwortet EAN bei Varianten nicht erkannt JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 1
Neu Problem bei Amazon / Amazon erstellt Rechnung / Kein VCS aktiviert Amazon-Anbindung - Fehler und Bugs 5
Neu Bei OSS Steuersatz in Rechnung ausblenden User helfen Usern - Fragen zu JTL-Wawi 4
Neu REST-API bei JTL-Shop Allgemeine Fragen zu JTL-Shop 5
Neu Steuersatz für Versandkosten bei OSS in der Wawi User helfen Usern - Fragen zu JTL-Wawi 0
Neu Datev Export: Ungültige Steuerkonfiguration bei Rechnungsnummer 20xxxRE! Für das Versandland [DE], Lieferland [BE] und Steuersatz [19,00] JTL-Ameise - Fehler und Bugs 15
Neu 1.5.46.1: Versandstatus bei Amazon wird nicht gesetzt User helfen Usern - Fragen zu JTL-Wawi 16
Neu BUG in der Anzeige / Ausgabe bei einer Lagerbestandsbewertung DIREKT nach einer Inventur?! JTL-Wawi - Fehler und Bugs 0
Beantwortet [gelöst] Keine Sprachvariable bei Hinweis auf auszufüllendes Formularfeld? JTL-Shop - BETA - Feedback und Bugmeldungen 2
Neu Text auf Rechnung bei 0% Steuer (OSS) Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0

Ähnliche Themen