#935 closed Fehler (fixed)
Erzeugnisse mit Dienstleistungen nicht einlagerbar
| Erstellt von: | info@… | Verantwortlicher: | m.bunkus@… |
|---|---|---|---|
| Priorität: | normal | Meilenstein: | |
| Komponente: | kivitendo ERP | Version: | 2.6.2 unstable |
| Schweregrad: | kritisch | Stichworte: | Lager |
| Beobachter: | info@…, information@… |
Beschreibung
Erzeugnisse, die Dienstleistungen enthalten, sind mit der neuen Lagerverwaltung nicht einzulagern.
Das Programm moniert
"Zum Fertigen fehlen:1 Stueck der Ware:test03 neue Leistung, um das Erzeugnis herzustellen"
Da sich eine Dienstleistung wie test03 nicht einlagern lässt, tritt dieser Fehler zwangsläufig auf.
Es müssen also bei der Abfrage des vorhandenen Bestands in WH.pm die Dienstleistungen (inventory_accno_id IS NULL AND assembly=false) ausgeschlossen werden.
Anhänge (1)
Änderungshistorie (6)
comment:1 Geändert vor 6 Jahren durch information@…
- Beobachter information@… hinzugefügt
- Status von new nach assigned geändert
comment:2 Geändert vor 6 Jahren durch information@…
- Lösung auf fixed gesetzt
- Status von assigned nach closed geändert
Ist in Revision 3964 behoben.
Danke!
comment:3 Geändert vor 6 Jahren durch info@…
- Beobachter info@… hinzugefügt
- Lösung fixed gelöscht
- Status von closed nach reopened geändert
Der Bugfix ist leider nicht ganz geglückt! inventory_accno_id IS NULL ist leider nicht ausreichend, um eine Dienstleistung zu charakterisieren. Auch Erzeugnisse werden mit inventory_accno_id = NULL angelegt!
Das hat jetzt zur Folge, dass bei Gesamterzeugnissen, die wieder Erzeugnisse enthalten
- Nicht gemerkt wird, wenn ein Erzeugnis, das im Gesamterzeugnis vorkommt in nicht ausreichender Zahl auf Lager ist
- (schlimmer) der Lagerbestand dieses Erzeugnisses nicht reduziert wird, wenn das Gesamterzeugnis hergestellt wird.
Die angedachte Lösung mit einem Flag "Dienstleistung" sowohl beim part als auch beim assembly wäre sicher sauberer. Die historisch gewachsene Lösung, Dienstleistungen über (inventory_accno_id IS NULL AND assembly=false) zu identifizieren, ist ein bisschen krank. Meines Wissens wird parts.inventory_accno_id überhaupt nur noch für diesen Zweck verwendet. Die wirkliche Buchungskontonummer wird aus "buchungsgruppen" geholt.
comment:4 Geändert vor 6 Jahren durch information@…
- Lösung auf fixed gesetzt
- Status von reopened nach closed geändert
Hallo Joachim,
du hast leider recht. Das Grundproblem ist nervig, aber leider noch nicht nervig genug, um es prinzipiell anzupacken (vor der Veröffentlichung der 2.6).
Ich würde den Status jetzt auf "geflickt" stellen (Revision 3965).
comment:5 Geändert vor 6 Jahren durch info@…
Ich bin mit meiner direkten Mail wohl nicht durchgekommen, deswegen hier noch einmal:
Hallo,
ich glaube, Dir ist in der Revision 3965 ein Fehler unterlaufen.
Du wolltest wohl auf "NOT Dienstleistung" abfragen, also
NOT(inventory_accno_id IS NULL AND assembly=false). Dann muss es
(inventory_accno_id IS NOT NULL OR assembly=TRUE) heißen!
Im zweiten Hunk des Patches beseitige ich noch einen Fehler in der
Fehlermeldung: Es fehlt ja die Differenz zu max_parts und nicht
partsQTY, wenn bereits einige Teile auf Lager sind.

Das kann ich soweit als Problem bestätigen.
Oder die Tabelle assembly müsste um ein Attribut Dienstleistung erweitert werden.
Assembly = false ist hier zu kurz gegriffen, da ja ein Erzeungnis aus einem weiteren Erzeugnis bestehen kann.