• 31 odgovora
  • 12.998 pregleda
Re: Sirovine i normativi 04.05.2016. u 21:08 · pre 127 meseci #21
Za to vec treba dobro znanje koje ja ne posedujem,nego sam mislio da kada pozovem neku sifru ulaza,da mi iz magacina povlaci stanje,koje sabiram sa tim trenutnim unosom,i to cu i nekako,ali kako cu posle sa proizvodima i normativima....
Re: Sirovine i normativi 04.05.2016. u 22:14 · pre 127 meseci #22
A može jedno pitanje?

Zašto Access kad ima besplatnih odličnih baza koje rade brže, bolje i nema problema sa serverskim radom? Firebird, MySQL...

Mislim... kad se već počinje projekt iz nule.

Relacije u bazi nisam, osobno, nikad volio. Znaju stvarato probleme kod mjenjanja same strukture baze, a i više volim sve držati u svojim rukama.
popmilan76 bih preporučio manji projekt, pa onda pekaru. Sječam se svojih prvih projekata...
Re: Sirovine i normativi 04.05.2016. u 22:25 · pre 127 meseci #23
Nije mi bas prvi projekat koji radim,ali sam i ovaj uzeo postepeno,nisam nista vezan za rok,ali je sada zapelo za stanje u magacinu....
Re: Sirovine i normativi 04.05.2016. u 22:56 · pre 127 meseci #24
Pa možeš na dva načina:
1. Tako da kad hočeš stanje na skladištu zbrojiš sve ulaze i odbiješ sve izlaze. Ovo je sporije (ovisi o količini prometa), ali neša problema sa storniranje dokumenata.
2. Kod svakog unosa ulaza ili izlaza za svaki artikal mijenjaš količinu.

Da se ne vrćan nazad na početak, na strukturu baze. Ja bih skladiše napravio ovako:

ID
SifAtrikla
Stanje
...
OstaloŠtoTrebaZaToSkladište

Kad knjižiš izlaz jednostavno za svaki artikal skineš stanje i obrnuto kod ulaza, za svaki artikal posebno. Ja bih to u trigeru jer nemaš s njim brige... googlaj, nije komplicirano, a baza ti sama uredi stanje.
Nije ti još kasno preći na FireBird bazu. Toplo preporučam. Besplatna je, a može se naći i free alata. Delphi ju podržava odlično.

Evo ti primjer. Kod mene je skladište LAGER, a ulaz (stavke) ROBNA:
Code:

CREATE OR ALTER TRIGGER AI_KEYROBNA FOR ROBNA
ACTIVE BEFORE INSERT POSITION 0
AS BEGIN
    IF (NEW.KEYROBNA IS NULL) THEN
         NEW.KEYROBNA = GEN_ID(GENKEYROBNA, 1);
    update lager set kol_lag = kol_lag + new.ulaz_kol where sif_art_lager = new.sif_art;
END


- okida se kod upisa stavke u tablicu ulaza
- generira jedinstveni ID za tablicu ulaza
- dodaje količinu u tablisu skladišta



Re: Sirovine i normativi 05.05.2016. u 09:33 · pre 127 meseci #25
U koliko imaš više magacina (prodavnica ili šta već), morat ćeš napraviti novu tabelu za stanje (u koju možuš upisivati ulaz/izlaz količine), ako želiš da čuvaš stanje u nekoj tabeli, koja će sadržati IDArtikla, IDMagacina, Količina, Cena itd... i prilikom upita stanja za određeni magacin samo je filtriraš. U tom slučaju možeš napraviti i proceduru koja će ti raditi posao umesto trigera, al je moraš pozivati svaki put nakon svake promene (ulaz/izlaz), npr:
Code:
procedure TForm1.KorekcijaStanja(IDArt, IDMag: Integer; Kol: Double);
begin
      with ADOQuery1 do
        begin
           Close;
           SQL.Clear;
           SQL.Add('UPDATE STANJE SET KOL=KOL+:KOL');
           SQL.Add('WHERE IDArt=:IDArt and IDMag=:IDMag');
           Parameters.ParamByName('KOL').Value   := Kol;
           Parameters.ParamByName('IDArt').Value := IDArt;
           Parameters.ParamByName('IDMag').Value := IDMag;
           ExecSQL;
        end;
end;
i u koliko je u pitanju ulaz stavljaš +Kol a izlaz -Kol.

Jedan od načina.

S tim da moraš voditi računa prilikom korekcije stavki ulaza/izlaza da pravilno koriguješ stanje, umanjiš stanje pre korekcije pa posle ponovo koriguješ.
Potpis
Nikad izvini!
Re: Sirovine i normativi 05.05.2016. u 12:03 · pre 127 meseci #26
Imas elegantno mada mozda ne bas najsrecnije resenje da kreiras view

TblPromet
-----------
idMaterijal
kolUlaz
kolIzlaz
i naravno ostala polja, datum, opis, itd itd

sql koji ce ti prikazati stanje je

select idMaterijal, sum(kolUlaz) ulaz, sum(kolIzlaz) izlaz, sum(kolUlaz - kolIzlaz) stanje
group by idMaterijal

ili napravis VIEW koji ti je uvek azuran, a ponasa se kao tabela

Pretpostavka je da imas malo podataka

A sto se tice normativa, kako ti rekose, radni nalog na kome su proizvodi, pa preko tabele normativa skidas sa stanja
i predvidi korekcije jer se nikad ne potrosi koliko je propisano, nekad manje, obicno vise

Potpis
Pomozite Micro$oftu u borbi protiv piraterije, poklonite prijatelju Linux
Re: Sirovine i normativi 09.05.2016. u 11:56 · pre 127 meseci #27
Ili još bolje da napiše storu (bit će znatno brža), no ako se ne varam baza mu je na Accessu.
Potpis
God is real unless is declared as integer.
Re: Sirovine i normativi 11.05.2016. u 18:57 · pre 127 meseci #28
Da ne otvaram novi post,koristicu ovaj.....Posto mi je baza u Access,vezano za stanje artikala,i uradio sam query u access,zbog lakseg pravljenja i dizajniranja,i query sam prekopirao u adoquery i to radi,i sada imam problem,a to je kako da pokrenem query koji je sastavljen od queryija,znaci ne od tabele vecv od upita....nesto kao select * from query1,gde je query1 recimo select * from table1,ne znam jesam li bio jasan...
Re: Sirovine i normativi 11.05.2016. u 19:54 · pre 127 meseci #29
Samo stavi u zagrade taj drugi query i to je to.
Potpis
F
Re: Sirovine i normativi 11.05.2016. u 20:15 · pre 127 meseci #30
Mislim da to nece ici,kada postavim na formu query 1 i query 2 ,postavim i konacan query 3...gde je select * from query1....kada napravim tako,izlazi mi greska...da ne postoji takva tabela ili query....
Re: Sirovine i normativi 11.05.2016. u 20:31 · pre 127 meseci #31
Uspeo sam,ali me zanima jel moguce sve te queryija staviti u jedan...
Re: Sirovine i normativi 12.05.2016. u 06:33 · pre 127 meseci #32
Select* from (select* from (select * from))
Potpis
F
Odgovori
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme