Seite 1 von 1

ehemalige Stücklistenartikel -> falscher Bestand

Verfasst: Di 10. Sep 2013, 11:11
von Thomas.Woelfle
Dies fällt unter die Kategorie: "Was Bediener alles schaffen" :roll:

Hat man ein Artikel mit Stückliste und ändert diesen (weil der Beschaffungsweg ein anderer wird) in einen Normalen Artikel (ohne vorher den Inhalt der Stückliste zu löschen), so wird seit der Version 1.4.4.x der Bestand aus der Stückliste trotzdem berechnet.

Mein Workaround:
Die Betroffenen Artikel findet man mit folgendem Skript:

Code: Alles auswählen

SELECT `artikel`.`ARTNUM`, `artikel`.`ARTIKELTYP`, `artikel`.`KURZNAME`, COUNT( `artikel`.`REC_ID` ), `artikel_stuecklist`.`REC_ID`, `artikel_stuecklist`.`ART_ID` FROM `cao14voi`.`artikel_stuecklist` AS `artikel_stuecklist`, `cao14voi`.`artikel` AS `artikel` WHERE `artikel_stuecklist`.`REC_ID` = `artikel`.`REC_ID` AND `artikel`.`ARTIKELTYP` = 'N' GROUP BY `artikel_stuecklist`.`REC_ID` ORDER BY `artikel`.`ARTNUM` ASC
Die angezeigten Artikel können nun kurzfristig als "Artikel mit Stückliste" markiert werden um den Inhalt der Stückliste zu löschen. (Wer sich traut kann das sicher auch direkt in der Datenbank in "artikel_stueklist" machen...??)


Dennoch denke ich, dass es sehr hilfreich wäre, den "BUG" in einer der nächsten Versionen zu unterbinden.


Gruß
Thomas

Re: ehemalige Stücklistenartikel -> falscher Bestand

Verfasst: Di 10. Sep 2013, 11:47
von MrFoxdata
Hallo,

soll heißen:
Wenn ein Artikel von "S" wie Stückliste auf einen anderen Artikeltyp geändert wird, müssen die Stücklisteneinträge gelöscht werden.
Die Frage ist: wie soll sich der Lagerstand verhalten?
Richtigerweise würde ich sagen er muß auf 0 gestellt werden.

Re: ehemalige Stücklistenartikel -> falscher Bestand

Verfasst: Di 10. Sep 2013, 12:21
von redone
Moin,

deine SQL-Abfrage hat ein paar Schönheitsfehler, da sie auf eine Datenbank zugreift, die garantiert nicht jeder so benannt hat (cao14voi) und die Tabellenbezeichnungen klein geschrieben sind (geht auf Linux nicht). Zudem sollte man mit Joins arbeiten, da es schneller ist. Habs korrigiert:

Code: Alles auswählen

SELECT 
ARTIKEL.ARTNUM, 
ARTIKEL.ARTIKELTYP, 
ARTIKEL.KURZNAME, 
COUNT( ARTIKEL.REC_ID ), 
ARTIKEL_STUECKLIST.REC_ID, 
ARTIKEL_STUECKLIST.ART_ID 
FROM ARTIKEL_STUECKLIST
INNER JOIN ARTIKEL ON ARTIKEL_STUECKLIST.REC_ID = ARTIKEL.REC_ID
WHERE ARTIKEL.ARTIKELTYP = 'N' 
GROUP BY ARTIKEL_STUECKLIST.REC_ID ORDER BY ARTIKEL.ARTNUM ASC
Ich habs vermerkt, aber Fehler bitte in Zukunft in den Bugtracker, da es hier vergessen wird.

Re: ehemalige Stücklistenartikel -> falscher Bestand

Verfasst: Di 10. Sep 2013, 12:37
von Thomas.Woelfle
Hallo Thoren,

das kommt davon, wenn man sich die Skripte, aus purer Faulheit, in LibreOffice erstellt. Ich gelobe Besserung.

Gruß
Thomas