Warenwirtschaft - FiFo

Du hast eine Idee für ein Projekt?
Antworten
planktom
User
Beiträge: 15
Registriert: Donnerstag 28. Dezember 2006, 12:09

Dienstag 5. Mai 2009, 08:02

Hi!
Im Rahmen unserer Aufgaben bewirtschaften wir mehrere Mensen mit ca. 4.000 ausgegebenen Essen/Tag. Für diesen Geschäftsbereich benötigen wir ein Warenwirtschaftsprogramm.
Ein ganz grober Workflow der Warenwirtschaft:
Artikel geht im Lager ein. Zu einem späteren Zeitpunkt werden Essenportionen, basierend auf vorliegenden Rezepten erstellt. Die Entnahme der Zutaten aus dem Lager und die Bewertung erfolgt nach dem FiFo-Prinzip.
Bis hierhin auch kein Problem. Doch dann schlägt die Realität zu, nur am Beispiel eines einzelnen Artikels:
Wareneingänge, erfasst wurden: Charge 1 - 5.1.2009 - 20 Stk. 2€/Stk; Charge 2 - 6.1.2009 - 10 Stk. 3€/Stk
Am 2.2.2009 wurde die Essenportion erstellt. Im Rahmen des monatlichen Bestandsabgleiches wird z.B. am 15.2.2009 ein fehlerhafter Bestand festgestellt. Ausbuchen ist nicht! Die Ursache dieses Bestandes muss festgestellt werden. Ursache war z.B. ein fehlerhaft erfasster Wareneingang des Artikels: Statt 10 wurden 20 Einheiten erfasst. Nun muss die Möglichkeit bestehen, diesen Wareneingang zu korrigieren. Wenn
nun z.B. zur Erstellung der Essenportionen 20 Einheiten benötigt worden wären, zieht diese Korrektur einen "Rattenschwanz" von Änderungen hinterher. Im Essen vom 2.2. werden nun nicht 20 Einh. mit 2€/Stk. sondern 10 mit 2€/Stk. und 10 mit 3€/Stk. verbraucht. Eine Korrektur, die auch in allen nachfolgende Verwendungen dieses Artikels zu spüren ist. Dazwischen sind noch diverse Umbuchungen auf andere Läger möglich, aus hergestellten aber nicht verbrauchten Essen werden Restportionen auf's Lager gelegt, vom Lieferanten kommt nachträglich eine Gutschrift, da Ware verfallen ist,.. Alles möglich. Ach ja, das ganze dann noch als Client/Server-Lösung für den Anschluss weiterer Standorte.

Wir möchten nun versuchen, diese Warenwirtschaft selbst zu programmieren. Und hierzu suchen wir Unterstützung. Eine erste, von mir unter Access programmierte Warenwirtschaft läuft noch immer. Ließ sich aber nicht mehr erweitern. Die jetzige, noch immer fehlerhafte Lösung basiert auf Acces-Projekten und MSSQL-Server.
Die neue Lösung soll plattformübergreifend sein. Z.Zt. arbeite ich mich gerade in Python ein und möchte die Anwendung auch gerne hierunter entstehen lassen.
Bin ich da mit Python auf dem richtigen Weg? Hat jemand Erfahrung mit einer vergleichbaren Problematik (rückwirkende Veränderungen durch das FiFo-Prinzip). Oder... gibt's das schon fertig?
Ciao
Tom
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Dienstag 5. Mai 2009, 08:33

Holt euch Profis :o

Das geht doch sonst fürchterlich in die Hose...
Benutzeravatar
snafu
User
Beiträge: 5451
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Dienstag 5. Mai 2009, 09:49

Mit SQLAlchemy hat man ein Toolkit für SQL-Datenbanken. Ich habe das allerdings noch nie benutzt. Scheint aber recht umfangreich und aktuell zu sein. Vielleicht reicht das schon. FiFo sollte ja nicht so schwer sein, wenn man nach Datum sortiert. :)
shcol (Repo | Doc | PyPi)
planktom
User
Beiträge: 15
Registriert: Donnerstag 28. Dezember 2006, 12:09

Dienstag 5. Mai 2009, 09:54

@audax:
Das geht doch sonst fürchterlich in die Hose...
Ist es doch schon. Die "Profis" kommen aus ihrem "GoB"-konformen Denken nicht heraus.
Wir benötigen keine Anwendung, die uns Zahlen liefert, die in der Finanzbuchhaltung weiterverwendet werden können, sondern Zahlen, die die tatsächlichen Bewegungen im Lager abbilden. Durch die Periodenbezogenheit finanzbuchhalterischer Auswertungen entstehen Differenzen. Manche Warenbewegungen werden erst mit 1/2 Jahr Verspätung registriert/erfasst/geändert. Wenn dann noch ein Jahresabschluss dazwischen liegt, hab' ich Differenzen. In der FiBu hole ich solche Differenzen durch Nachbuchungen in der aktuellen Periode nach, das Warenwirtschaftsprogramm soll dies aber auch in zurückliegenden Perioden ermöglichen.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7472
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Dienstag 5. Mai 2009, 19:47

Generell kann man nur sagen: Das kann man in Python sicherlich gut umsetzen!

Ich denke als Hauptproblem muss man mal die denkbaren workflows aufstellen und anhand derer ein Datenmodell erstellen, welches die geforderten Anforderungen erfüllen kann.

Danach kann man das ganze dann versuchen in einer DB abzubilden, am besten eben mit einem ORM a la SQLAlchemy oder dem darauf basierenden deklarativen Aufsatz Elixir.

Hauptproblem dürfte aber sein, sich in Python so einzuarbeiten, dass da kein Müll rauskommt ;-) So ein Projekt stämmt man imho nicht grad nach dem Durcharbeiten eines Tutorials. Allerdings mag ich mich auch irren, da ich die Problematik und demzufolge die Anforderungen auf die schnelle nicht wirklich nachvollziehen konnte.

Neben diesen Kernkomponenten kommen dann ja noch so lustige Sachen wie die Präsentationsschicht und Datenaustausch dazu ...
jhamel
User
Beiträge: 37
Registriert: Sonntag 2. Juli 2006, 16:03
Wohnort: Ostwestfalen
Kontaktdaten:

Samstag 10. Oktober 2009, 15:19

Hallo,
Seit mehreren Jahren arbeite ich an einem Warewirtschaftprogramm, C.U.O.N., vielleicht könnt ihr das ja als Grundlage nehmen (GPL lizensiert), schaut mal bei www.cuon.org rein. Leider ist es recht umfangreich, aber evtl. braucht ihr nur noch geringe Anpassungen.

Tschüß
Jürgen Hamel
Antworten