System magazynowy, Rozdzielenie dokumentów otwartych od zaksiegowanych |
System magazynowy, Rozdzielenie dokumentów otwartych od zaksiegowanych |
27.05.2008, 20:00:30
Post
#1
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 1 Dołączył: 14.12.2007 Ostrzeżenie: (0%) |
Witam
Jestem w trakcie pracy nad budowa systemu dla magazynu. Bedzie to moja praca dyplomowa i juz na wstepie napotkalem nastepujacy problem i jestem ciekaw jak Wy sobie byscie z nim poradzili... Dokument moze miec status: 1. Otwarty - mozna nanosic zmiany, usunac, edytowac, dodawac towary 2. Zaksiegowany - nie mozna nanosic zmian, mozna go wydrukowac Do kazdego dokumentu beda przypisane pozycje towarowe, od jednego do ...powiedzmy 99. Tylko towary z dokumentow zaksiegowanych beda wliczane do bilansu, inwentaryzacji itd. I tu nasow sie pytanie jak to rozplanowac w bazie? Czy trzymac oby dwa rodzaje dokumentow w jednej tabeli, oznaczajac status pole boolinowskim? Czy stworzyc osobne tabele, jedna dla dokumentow otwartych i druga, w ktorej nie bedzie mozna zmieniac danych (dodawanie i tylko odczyt)? ...ale za to wiecej klopotow przy prezentacji ich w jednym widoku... Pozdrawiam H. ps. nie mam polskich znakow -------------------- "Bramy skarbnicy mądrości i wiedzy są zawsze otwarte"
|
|
|
27.05.2008, 20:07:18
Post
#2
|
|
Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków |
jedno i drugie rozwiązanie ma swoje plusy i minus... ja stworzył bym dwie tabele i bym miał jasność co jest co... to jest moje zdanie, co do tej prezentacji to nie wiem czy to był by kłopot jakaś relacja i powinno się wszystko bez problemu udać.
-------------------- |
|
|
27.05.2008, 21:45:38
Post
#3
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław |
Potrzebujesz dwie tabele - jedna to "Dokumenty" a druga "Pozycje" Typ, status i inne flagi oznaczasz w dokumencie.
Czy jeśli księgowa oznacza fakturę jako opłacona, to przepisuje ja na osobny druczek, czy przywala pieczątkę? ~piotrooo89: pokaż mi zalety drugiego rozwiązania - jakiekolwiek... -------------------- |
|
|
28.05.2008, 12:18:37
Post
#4
|
|
Grupa: Zarejestrowani Postów: 149 Pomógł: 12 Dołączył: 3.03.2008 Skąd: łódzkie Ostrzeżenie: (0%) |
W tabeli "Pozycje" dajesz pole dokument.id aby wiązało dane pozycje (może być ich nieskończenie wiele) do dokumentów.
-------------------- "Jeden człowiek nie zmieni świata, ale jeden człowiek może przekazać informację która zmieni świat." - David Icke
| PAMIĘTAJ, JESTEŚ POLAKIEM !!! | Jam jest Polska, Ojczyzna Twoja, ziemia Ojców, z której wzrosłeś. Wszystko, czym jesteś, po Bogu - mnie zawdzięczasz!! |
|
|
29.05.2008, 13:23:11
Post
#5
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 1 Dołączył: 14.12.2007 Ostrzeżenie: (0%) |
Czy jeśli księgowa oznacza fakturę jako opłacona, to przepisuje ja na osobny druczek, czy przywala pieczątkę? Narazie nie doszedłem do tematu faktur... na początek chcę się skupic na zarządzaniu towarami i tak naprawdę nie wiem, czy będę projektował funkcjonalność sprzedażową. Czy jedno bez drugiego nie może istnieć? Wracając do tematu, czyli dobrze będzie tak: [Towary] połączone z [Pozycje na dokumentach] połączone z [Dokumenty] i wątek się rozwija Przykładowa sytuacja: Dokument zamknięty, zablokowane powiązane rekordy w tabeli łączącej, a użytkownik chce zmienić nazwę towaru... po tej opracji drukuję dokument z tym samym numerem i datą, ale w jednej z pozycji z innym towarem... Czy blokować również edycję towarów, które znajdują się na dokumentach zamkniętych? Czy można to rozwiązać w inny sposób? Dziękuję wszystkim za odpowiedzi (przeszłe i przyszłe) Ten post edytował hubertinio 29.05.2008, 13:24:24 -------------------- "Bramy skarbnicy mądrości i wiedzy są zawsze otwarte"
|
|
|
29.05.2008, 13:45:48
Post
#6
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław |
Faktura to był przykład obrazujący Twoje pytanie
Cytat Czy stworzyć osobne tabele, jedna dla dokumentow otwartych i druga, w ktorej nie bedzie mozna zmieniac danych Co do dalszej części, to oczywiście dokument musi być powiązany (jeden-do-wielu) z pozycją, a pozycja - i tu masz dwie drogi:
W tym momencie, poprzez Id, możesz wyszukać wszystkie sprzedaże tego produktu, oryginał towaru może sobie zmieniać nazwę, a na dokumencie pozostaje nazwa z chwili zakupu. -------------------- |
|
|
29.05.2008, 14:04:38
Post
#7
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 1 Dołączył: 14.12.2007 Ostrzeżenie: (0%) |
Dzięki scanner, o to mi chodziło, jak to ugryźć.
Wkleję koncepcję jak będzie dopracowana. -------------------- "Bramy skarbnicy mądrości i wiedzy są zawsze otwarte"
|
|
|
29.05.2008, 14:44:08
Post
#8
|
|
Grupa: Zarejestrowani Postów: 149 Pomógł: 12 Dołączył: 3.03.2008 Skąd: łódzkie Ostrzeżenie: (0%) |
Scanner już zwrócił uwagę na cenę, ale właśnie to najważniejsze.
Może być tak, że cena danego towaru tuż po dodaniu go do pozycji ulegnie zmianie, wtedy mając kopię ceny z chwili dodawania towaru do pozycji mamy cenę jaka była. To też pozwoli nam sprawdzić sobie po czasie jak się kształtowała cena danego towaru. -------------------- "Jeden człowiek nie zmieni świata, ale jeden człowiek może przekazać informację która zmieni świat." - David Icke
| PAMIĘTAJ, JESTEŚ POLAKIEM !!! | Jam jest Polska, Ojczyzna Twoja, ziemia Ojców, z której wzrosłeś. Wszystko, czym jesteś, po Bogu - mnie zawdzięczasz!! |
|
|
29.05.2008, 16:36:44
Post
#9
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) |
Cytat To też pozwoli nam sprawdzić sobie po czasie jak się kształtowała cena danego towaru. Ale tylko wtedy jesli ten towar bedzie kupowany -------------------- Nie lubię jednorożców.
|
|
|
2.06.2008, 10:13:19
Post
#10
|
|
Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) |
Ale tylko wtedy jesli ten towar bedzie kupowany Można wprowadzić wersjonowanie towaru, tzn. każda zmiana powoduje utworzenie nowej wersji, a wtedy łączymy dokument nie z id towaru, a z id wersji towaru. Wtedy nie dość że mamy wszystkie dane, to jeszcze można stworzyć statystyki zmian danego towaru. -------------------- Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami. |
|
|
2.06.2008, 10:36:30
Post
#11
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław |
~Sedziwoj: Z doświadczenia wiem, ze to jest nieco uciążliwe w implementacji.
W mentax'owym CRMie stosujemy taką technikę, że każda tabela z typem danych ma swoją kopię z historią zmian - odpowiednio napisana procedura składowana w plpgsql i przeniesienie danych podczas edycji/usuwania dzieje się niejako automagicznie - a dzięki temu nie obciąża się tabeli głównej. Zaś samo dotarie do historii danego rekordu to tylko jedno zapytanie do tabeli historii. Oczywiście to tylko pobieżny opis, ale myślę, ze na razie wystarczy. -------------------- |
|
|
2.06.2008, 11:15:01
Post
#12
|
|
Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) |
@scanner
Zwróć na jedno uwagę, ja nic nie napisałem jak to realizować. Ale umieszczanie w jednej tabeli aktualnych produktów i ich starszych wersji nie jest za ciekawe, chyba że to trochę inaczej rozwiąże. Ale to już zależy co chce się osiągnąć. Na pewno dla dobra serwera z bazą, dostęp do aktualnych wersji produktów powinien być tak samo szybki jakby nie było wersjonowania. Ten sposób co podałeś, jest i prosty i dobry. P.S. Opis pobierze przy tym poziomie abstrakcji są dobre, jak już się coś wybierze, to wtedy wejście w konkretny sposób realizacji jest przydatny, teraz by tylko utrudniał. -------------------- Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami. |
|
|
10.07.2008, 16:43:20
Post
#13
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 1 Dołączył: 14.12.2007 Ostrzeżenie: (0%) |
Czy to o to chodziło? -------------------- "Bramy skarbnicy mądrości i wiedzy są zawsze otwarte"
|
|
|
Wersja Lo-Fi | Aktualny czas: 25.04.2024 - 12:30 |