Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Inwentura
Forum PHP.pl > Forum > Przedszkole
palixmp
Witam. Mam nadzieję, ze mnie nie zabijecie za takie pytanie. A mianowicie mam do zrobienia w magazynie inwenture, chodzi o to że pod koniec roku chce zrobi raport który pokazuje stany magazynowe, oraz ceny tych artykułów. No i wlasnie niewiem jak zrobic, aby utoższamiac nady artykuł z konkretną ceną :/ Bo jeśli w magazynie jest np. 15 długopisów, 10 po cenie 2zl z pierwszej faktury, i 5 po cenie 3zl z drugiej faktury, to jak to zrobic??
Artykuły dodaje poprzez wprowadzenie faktury, a następnie pozycji poszczególnych z faktury:

  1. CREATE TABLE FAKTURA (
  2. IDFaktury int NOT NULL AUTO_INCREMENT PRIMARY KEY,
  3. NazwaKontrahenta char(50) NOT NULL,
  4. NrFaktury char(15) NOT NULL,
  5. DataZakupu datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  6. SumaNetto float(8,2)
  7. );
  8.  
  9. CREATE TABLE FAKTURA_POZYCJE (
  10. NrFaktury char(50) NOT NULL,
  11. NazwaArtykulu char(50) NOT NULL,
  12. IloscSztuk int NOT NULL,
  13. CenaNetto float(8,2) NOT NULL,
  14. WartoscNetto float (14,2) NOT NULL
  15. );


W osobnej tabeli są aktualizowane stany magazynowe, gdy wprowadzam 10dlugopisów to dodaje sie ta liczba do stanu.

Chodzi mi o to żeby mi ktoś podpowiedział jak rozwiązac problem INWENTURY. Może macie jakiś fajny artykuł, albo jakiś post na tym forum żebym mógł sobie poczytac.

Z góry dzięki za odpowiedź
memory
inwentaryzacja bedzie na podstawie faktur (zliczone wszystkie pozycje na fakturach), gdzie potem beda aktualizowane stany w odzielnej tabeli?
palixmp
Podczas dodawania pozycji na fakturze, aktualizowana jest taka tabela:

  1. CREATE TABLE ARTYKULY_BIUROWE (
  2. IDArtykulu int NOT NULL AUTO_INCREMENT PRIMARY KEY,
  3. Nazwa char(50) NOT NULL,
  4. NazwaAsortyment char(50) NOT NULL,
  5. IloscSztuk int NOT NULL,
  6. IloscZarezerwowana int NOT NULL,
  7. IloscWidoczna int NOT NULL
  8. );


I na tej tabeli są wykonywane operacje dodawania i odejmowania poszczególnych artykułów. Np jeśli ktoś bierze 10długopisów, to jest odejmowane z tej tabeli.

W tabeli FAKTURA i FAKTURA_POZYCJE nie jest nic robione. W jaki sposób zrobic ta inwenturę z tabeli FAKTURA_POZYCJE? Bo nie rozumiem:/
Darti
ja bym wywalil z FAKTURA_POZYCJE NazwaArtykulu i wartosc netto, wprowadzilbym IdArtykulu jako klucz obcy i zrobil odrebna tabele ARTYKULY z takimi wpisami jak nazwa, opis, waga itd. Trzeba zaimplementowac algorytm LIFO lub FIFO do zdejmowania towaru z mazgazynu. Zamiast ARTYKULY_BIUROWE zrobic tabele KATEGORIE z idkategorii, idartykulu (numer kategorii + klucz obcy = klucz wlasny), nazwa, opis. Co do rezerwacji to tez odrębna tabela. Ilość widoczna przenieść do tabeli ARTYKULY. Jak mądrze zrobisz schemat bazy to aplikacja sama się napisze smile.gif
palixmp
Dzięki za wskazówki!!

A znacie może jakąś książkę gdzie jest jakiś fajny przykład magazynu i inwentury?? Oraz gdzie jest pokazane zaststosowanie FIFO? Mogą byc taż jakieś poządne artykuły, szukałem w necie ale nic nie moge znaleź na ten temat:( Nie jestem mistrzem w PHP więc swoją calą wiedze opieram na podstawie książek i artykułów w necie. Mam "PHP i MySQL Vademecum profesjonalisty wyd. III" oraz "PHP i MySQL Witryna WWW oparta na bazie danych" i w tych książkach niestety niema nic o magazynach, o inwenturach, ani o FIFO sad.gif

Niechce tutaj zadawa tysiąca pytań bo nie od tego jest forum żeby się uczyc, więc mam nadzieję ze mnie zrozumiecie:)

Pomóżcie prosze exclamation.gif Z góry dzięki za wskazówki:)
f1xer
Forum służy właśnie do zadawania pytań byleby sensownych biggrin.gif FIFO i LIFO to rodzaje algorytmów odpowiednio kolejki (FIFO - First In First Out pierwszy wszedł pierwszy wyszedł) i stosu (LIFO - Last In First Out - ostatni przyszedł pierwszy wyszedł) więc pozostaje ci zaprojektowanie porządnej struktury bazy danych a inwenturę to już prosto będzie zrobić po prostu sprawdzasz stan magazynu i ilość sprzedanych przedmiotów na fakturach i różnica powinna wyjść 0. A jeżeli liczysz na gotową książkę o tym to niestety ale nie słyszałem o takowej. Zastanów się najpierw co i jak chcesz zrobić rozpisz sobie to a później zadawaj pytania. Na pewno ktoś odpowie
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.