Einzelnen Beitrag anzeigen

Benutzerbild von MyRealName
MyRealName

Registriert seit: 19. Okt 2003
Ort: Heilbronn
679 Beiträge
 
Delphi 10.4 Sydney
 
#1

Loop vermeiden bei Warenverschiebungen

  Alt 20. Mai 2016, 22:10
Datenbank: Firebird • Version: 2.5 • Zugriff über: UniDAC
Hallo Delphianer,

weiss nicht, ob es hier reinpasst, aber es ist ja im Endeffekt ein DB Problem :

In einem Warenwirtschaftssystem habe ich Produkte und Lager. Jedes Lager hat für "seine" Produkte eigene Kostenrechnungen (Fleich zum bsp. ist billiger im Rinderanbaugebiet als in der Hauptstadt hier). Ich nutze monatlich bereinigte Mittelkosten, also alle Wareneingänge dividiert durch die Anzahl des gekauften produkts. Es wird der Saldo des vorhergehenden Monats mit einbezogen.

Das Problem, welche sich habe ist das Folgende :


Wenn ich eine Ware von Lager 1 nach Lager 2 verschiebe, dann geschieht das zu den Kosten des Herkunftslagers. Also wenn es dort 1 euro kostet, dann kommt es in Lager 2 mit einem Wert von 1 Euro, auch wenn dort die Ware im Schnitt vllt. 2 Euro kostet.
Habe ich also im Lager 2 10 einheiten zu 2 Euro und sende 10 einheiten zu 1 euro, habe ich 20 Einheiten zu 30 euro, macht 1.50 pro Einheit.
Sende ich allerdings im gleichen Monat 5 einheiten von lager 2 zum Lager 1, dann kommen die dort mit einem Wert von 1.50 an und verändern dort den Durchschnittspreis des monats, was dann natürlich die erste Transaktion verändert und dann kommen die 10 Einheiten in lager 2 nicht mehr zu 1 Euro, sondern 1.10 und sie werden dann wird wieder die 2. transaktion verändert und kostet dann 1.55...
und schon hat man einen schönen Loop bis der Unterschied nur noch in der 3. dezimalstelle sichtbar ist.

Wie macht ihr das in euren Warenwirtschaftsanwendungen ? Oder wie würdet ihr es machen, so dass der loop garnicht erst zustande kommt ?

Danke im vorraus,
Helge
  Mit Zitat antworten Zitat