AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Lagerwert nachträglich berechnen, aber wie?
Thema durchsuchen
Ansicht
Themen-Optionen

Lagerwert nachträglich berechnen, aber wie?

Ein Thema von mandoki · begonnen am 4. Aug 2006 · letzter Beitrag vom 15. Sep 2006
Antwort Antwort
Benutzerbild von mandoki
mandoki

Registriert seit: 20. Feb 2006
Ort: Kiel
48 Beiträge
 
Delphi 7 Professional
 
#1

Lagerwert nachträglich berechnen, aber wie?

  Alt 4. Aug 2006, 15:16
Hallo,

habe vor längerer Zeit eine Auftragsbearbeitung programmiert.
Enthalten war die Möglichkeit, sich jederzeit den Lagerwert (von diesem Tag) berechnen zu lassen.
Nun möchte ich aber auch im Nachhinein den Lagerwert berechnen können, also für ein früheres Datum.
Da tauchen nun aber viele Probleme auf,die ich so nicht erwartet hatte.

Für die Berechnung steht die Artikeldatei und eine Buchungsdatei (mit Zu- und Abgänge) zur Verfügung.
In der Artikeldatei wird bei bei jeder Buchung ein neuer durchschnittlicher EK errechnet und gespeichert. In der Buchungsdatei werden u.a. die Mengen und die exakten EKs und VKs gespeichert.

Nun sind diese Werte aber fast nie gleich, da die Preise sich ständig verändern...

Kann mir da jemand eventuell einen Tipp geben, welchen Rechenweg ich da einschlagen müsste?

Gruß
mandoki
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Lagerwert nachträglich berechnen, aber wie?

  Alt 4. Aug 2006, 15:49
Du wirst wohl immer von Anfang an, anhand alle Zu-/Abgänge berechnen müssen, welcher Werte zu dem Zeitpukz besteht..
Markus Kinzler
  Mit Zitat antworten Zitat
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.875 Beiträge
 
Delphi 12 Athens
 
#3

Re: Lagerwert nachträglich berechnen, aber wie?

  Alt 4. Aug 2006, 15:50
Hallo!

Die Lagermenge kannst Du aus Deiner Buchungsdatei ermitteln:
Summe aller Einkäufe - summer aller Verkäufe (bis zum Auswertedatum)

Schwieriger ist die Frage der Wertermittlung:
Ist der Wert der tatsächliche Einkaufswert des Tages, für den der Lagerwert ermittelt wird?
Oder soll das über den mittleren Einkaufspreis ermittelt werden?
Oder ist der letzte VK des Artikels maßgeblich?

Verrat am besten einmal, wie Du den Lagerwert für den aktuellen Tag berechnest.

Gruß

onlinekater
Thomas Breitkreuz
  Mit Zitat antworten Zitat
Benutzerbild von mandoki
mandoki

Registriert seit: 20. Feb 2006
Ort: Kiel
48 Beiträge
 
Delphi 7 Professional
 
#4

Re: Lagerwert nachträglich berechnen, aber wie?

  Alt 4. Aug 2006, 16:52
Hallo,
erst einmal vielen Dank für eure Antworten.

Zitat:
Die Lagermenge kannst Du aus Deiner Buchungsdatei ermitteln:
Summe aller Einkäufe - summer aller Verkäufe (bis zum Auswertedatum)
Das hatte ich mir zuerst auch so vorgestellt und auch versucht. Da die VK-Preise aber höher sind als die EK-Preise erhalte ich eine sehr große Summe im Minusbereich. Ich denke, ich müsste bei Verkäufen, die Menge mit dem zuletzt verbuchten EK-Preis multiplizieren. Oder bin ich da auf dem Holzweg?

Zitat:
Schwieriger ist die Frage der Wertermittlung:
Ist der Wert der tatsächliche Einkaufswert des Tages, für den der Lagerwert ermittelt wird?
Oder soll das über den mittleren Einkaufspreis ermittelt werden?
Oder ist der letzte VK des Artikels maßgeblich?
Ich denke Punkt 2 wäre ausreichend.

Zitat:
Verrat am besten einmal, wie Du den Lagerwert für den aktuellen Tag berechnest.
Hierfür lese ich einfach alle Artikel ein und multipliziere den Bestand mit dem zuletzt im Artikel gespeicherten Durchschnitts-EK. Ist zwar etwas ungenau, aber es soll nur ein "möglichst" genauer Wert ermittelt werden.

Danke für eure Hilfe.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: Lagerwert nachträglich berechnen, aber wie?

  Alt 4. Aug 2006, 17:37
Hallo mandoki,

die große negative Summe entsteht, weil du nicht die Mengendifferenz, sondern eine Wertdifferenz gebildet hast. Das ist zu diesem Zeitpunkt aber falsch. Es gibt verschiedene Verfahren zur Bestandsbewertung. Ein Unternehmer entscheidet sich frei für eines. Aus deinem ersten Beitrag entnehme ich, dass in deinem Programm mit dem gleitenden Durchschnittspreis gearbeitet wird. Die Bestandsmenge eines Artikels ist dann die Mengendifferenz aller Zu und Abgänge bis zum Stichtag. Bei negativ gespeicherten Abgängen ist das einfach SUM(Menge) WHERE Datum <= :Datum.

Jetzt musst du einfach noch den gleitenden Durchschnittspreis für Einkauf und Verkauf getrennt berechnen und die Bestandsmenge mit dem kleineren Wert multiplizieren.

Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.029 Beiträge
 
Delphi XE3 Enterprise
 
#6

Re: Lagerwert nachträglich berechnen, aber wie?

  Alt 4. Aug 2006, 17:56
A.) Lagerbestand kannst Du ja Tagesweise errechnen:

1. Tag 25
2. Tag 19
3. Tag 08
4. Tag 30
...

B.) Die Einkaufkosten des Lagerartikels rechnest Du auch exakt aus, am besten auf Monatsbasis (Buchhaltung)

1. Tag 45 * EK 20€ = 900€
4. Tag (45 * EK 20€ = 900€) + (22 * EK 16 € = 352) = 1252 € Einkaufskosten im Mai

C.) Den aktuellen Lagerwert, kannst Du n ur über die letzten Marktpreise abschätzen.
Entweder nimmst Du immer den letzten Verkaufspreis mal der aktuellen Lagermenge oder
du nimmst einen gleitenden Duchschnitt über sagen wir die Preise der letzten 2 Tage.


( VK heute * VK Menge heute ) + (Vk gestern * VK Menge gestern ) / (VK Menge heute + VK Menge gestern ) * Bestand heute

Das geht aber nur solgane du eine absetzbare Menge im Lager hast, sonst mußt Du noch eine Höchstwertbegrenzung (Marktbeschränkung einbauen).


Grüße in die Runde // Martin
Martin Schaefer
  Mit Zitat antworten Zitat
Benutzerbild von mandoki
mandoki

Registriert seit: 20. Feb 2006
Ort: Kiel
48 Beiträge
 
Delphi 7 Professional
 
#7

Re: Lagerwert nachträglich berechnen, aber wie?

  Alt 5. Aug 2006, 12:18
Hallo,

werde mir eure Vorschläge übers Wochenende mal genauer ansehen und versuchen das in die Praxis umzusetzen. Sollte ich damit Probleme bekommen, werde ich mich noch mal melden. Einstweilen vielen Dank für eure Mühe.

Gruß
mandoki
  Mit Zitat antworten Zitat
Benutzerbild von mandoki
mandoki

Registriert seit: 20. Feb 2006
Ort: Kiel
48 Beiträge
 
Delphi 7 Professional
 
#8

Re: Lagerwert nachträglich berechnen, aber wie?

  Alt 6. Sep 2006, 21:21
Hallo,

konnte die gegebenen Anregungen aus krankheitsbedingten Gründen leider erst jetzt beginnen umzusetzen.
Allerdings habe ich mit diesem Hinweis, so meine Probleme:

Zitat:
Jetzt musst du einfach noch den gleitenden Durchschnittspreis für Einkauf und Verkauf getrennt berechnen und die Bestandsmenge mit dem kleineren Wert multiplizieren.
Vielleicht sollte ich noch dazu anmerken, das die Tabelle ca. 20.000 Datensätze enthält.
Daher suche ich natürlich einen Weg dies möglichst zeitsparend zu berechnen (wenn dies halt überhaupt möglich ist).

Es wäre wirklich sehr nett, wenn mir jemand da ein einfaches Bespiel für geben könnte.
Hab wohl irgend ein Brett vorm Kopf.

Danke und Gruß
mandoki
  Mit Zitat antworten Zitat
Benutzerbild von mandoki
mandoki

Registriert seit: 20. Feb 2006
Ort: Kiel
48 Beiträge
 
Delphi 7 Professional
 
#9

Re: Lagerwert nachträglich berechnen, aber wie?

  Alt 15. Sep 2006, 11:36
Hallo,

nach dem ich die entspechende Formel gefunden habe, war das ganze kein Problem mehr.
Nochmals vielen Dank für die Hilfe.

Gruß
mandoki
  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 17:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz