AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Loop vermeiden bei Warenverschiebungen
Thema durchsuchen
Ansicht
Themen-Optionen

Loop vermeiden bei Warenverschiebungen

Ein Thema von MyRealName · begonnen am 20. Mai 2016 · letzter Beitrag vom 29. Mai 2016
Antwort Antwort
Benutzerbild von MyRealName
MyRealName

Registriert seit: 19. Okt 2003
Ort: Heilbronn
685 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
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Loop vermeiden bei Warenverschiebungen

  Alt 20. Mai 2016, 22:32
Das ist keine DB Frage sondern eine buchhaltärische

So als Info http://www.myfactory.com/inside/Cust...wertung_1.docx
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo (20. Mai 2016 um 22:38 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von MyRealName
MyRealName

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

AW: Loop vermeiden bei Warenverschiebungen

  Alt 20. Mai 2016, 23:37
Wenn ich das Dokument richtig verstehe, wollen die keinen MEK (Mittleren Wert), sondern irgendwas mit durchnittlichem lagerbestand und durchschnittlichen Einkauf, was alles eigentlich auch ein mittlerer Wert ist. UNd beides verursacht das gleiche von mir beschriebene Problem.

Anderew Lösungen oder Ideen ?
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Loop vermeiden bei Warenverschiebungen

  Alt 21. Mai 2016, 00:43
Es gibt nicht den einen Wert beim Lager sondern eben mehrere (siehe Dokument). Diese haben alle ihre Berechtigung und zeigen unterschiedliche Sichtweisen.

Egal welche Buchungen man dort macht, rückwirkend auf historische Buchungen wirkt sich da nichts aus. Wenn, dann gibt es zu einer neuen Buchung eine weitere Korrekturbuchung, die dann eine reine Wertbuchung (ohne Menge) ist.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von MyRealName
MyRealName

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

AW: Loop vermeiden bei Warenverschiebungen

  Alt 21. Mai 2016, 01:20
Was wir versuchen ist den Kostenwert eines produkts zu stabilisieren, da er permanent schwankt in Kolumbien.
Was ich da dann gemacht habe ich einen Durchschnittswert von dem ganzen Monat zu berechnen und somit Schwankungen, die dann zu Preisanpassungen führen würden, zu eliminieren. Das geht alle auch ganz sanft, bis auf die Loop-Geschichte.
Und selbst wenn ich dann eine Kostenanpassung machen würde statt der Anpassung des Dokuments, würde das problem das gleiche sein.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Loop vermeiden bei Warenverschiebungen

  Alt 21. Mai 2016, 23:23
Du kennst https://de.wikipedia.org/wiki/Achill...hildkr%C3%B6te ?
Wenn Waren zwischen zwei Lagern hin und hergeschoben werden und das wiederum Einfluß auf den Warenwert hat, dann ist das kreative Buchführung. Will man von vorneherein einen Mittelwert haben, so kann man diesen auch gleich berechnen. Die Statistik bietet da vielfältige Möglichkeiten.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.367 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Loop vermeiden bei Warenverschiebungen

  Alt 24. Mai 2016, 07:41
Zurück auf die Ausgangsfrage
Wie macht ihr das in euren Warenwirtschaftsanwendungen ? Oder wie würdet ihr es machen, so dass der loop garnicht erst zustande kommt ?
Ich verwende den ursprünglichen Einstandspreis und keine zwischendurch ermittelte Mischkalkulation. Das hängt auch damit zusammen, dass ich für jede Charge andere Einstandspreise haben kann und der Verkaufspreis kaum etwas bis nichts mit dem Einstandspreis zu tun hat. Sonderfälle lasse ich jetzt mal außen vor.

Der Mischpreis (im Einkauf) bezieht sich doch auf das Produkt. Dieser ist der gewichtete Einstandspreis der Chargen dieses Produktes.
Die Warenverschiebungen müssen sicher auch chargengenau durchgeführt werden. Alles Andere wäre bei Lebensmitteln fatal. Somit steht dir der Einstandspreis immer zur Verfügung und du kannst den Mischpreis für das Produkt ermitteln.

Dass der Verkaufspreis dann in dem einen Gebiet ungünstiger ist, als im anderen Gebiet und umgekehrt ist doch eine andere Sache. Sollte die VK-Preiskalkulation auf Einstandspreisen beruhen, dann benötigst du vielleicht ein Kennzeichen an der Charge, ob diese bei der Kalkulation berücksichtigt werden darf oder nicht. Gebietsfremde Chargen dürfen dann eben nicht berücksichtigt werden. Erst bei der Gewinnermittlung müssen diese wieder eingerechnet werden.

Ich kann mir auch vorstellen, dass man am Produkt zwei Mischpreise führt. Einen auf Basis der nicht gebietsfremden Chargen, um den VK-Preis zu ermitteln und der zweite Mischpreis beinhaltet alle Chargen zum Produkt, um Gewinnspanne zu ermitteln.

Die Idee, über die Lagerbewegungen zu gehen, halte ich nicht für besonders gut und wäre für mich nur der allerletzte Ausweg, wenn es keine andere Möglichkeit gibt.

Vielleicht helfen die meine Ideen ja weiter.
Peter
  Mit Zitat antworten Zitat
Benutzerbild von MyRealName
MyRealName

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

AW: Loop vermeiden bei Warenverschiebungen

  Alt 29. Mai 2016, 17:35
Also für alle, die es interessiert und an der Diskussion teilgenommen haben, meine Lösung sieht nun wie folgt aus :

Solange der Loop nicht auftritt, werden warenverschiebungen weiterhin zu den Durchschnittskosten des jeweiligen Ausgangslagers gemacht.
Tritt der Loop auf, wird eine First-In/First-Out Methode angewandt.

Helge
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz