Hvala Getsbi, to je bila prava stvar. Opet ja sa drugim UserID, password koji mi radi na poslu, ne radi kod kuce.
Evo sta imamo sada:
1) iz poslednje (04) verzije izbacio sam nepotrebne kolone, uglavnom iz finnsijskih tabela
2) dodao sam pracenje statusa investicije, na najprostiji moguci nacin, ali neka za sada
3) preradio tabelu IzvodjackiUgovori
4) preradio malo veze izmedju ugovora, pobjednika na javnoj nabavi, javne nabave
Sledi tekst:
- objasnjenje tabele IzvodjackiUgovori i nekih pravila za unos podataka
- pravila za popunjavanje tabele Situacije
- kako radi pracenje statusa
Ugovori:
Za inevsticiju (projekat) broj [InvID], za godinu [ugovornaGodina], na dan [datumUgovora], potpisan je ugovor broj [BrojUgovora] tipa [TipUgovora], sa izvodjacem [Izvrsilac] koji je na javnoj nabavci [JavnaNabava] pobedio; predmet ugovora je [PredmetUgovora], vrednost ugovora je [UkupniIznosUgovora]; sam dokument smo skenirali i sacuvali u poljeu [Datoteka].
Uslovi:
Tip ugovora moze biti EXT, INT, ANX i NDZ. Zavisno od tipa ugovora, polja [Izvrsilac],[Podizvodjac],[BrojUgovora] i [VezaNaUgovorGod] moraju biti popunajen ana odredjen nacin. Ovako:
'EXT = ugovor koji Komunalac sklapa sa izvodjacem, [Podizvodjac] = [Izvrsilac], [BrojUgovora] = [VezaNaUgovorGod]
'ANX', = anex na postojeci 'EXT' ugovora, [Podizvodjac] = [Izvrsilac], [VezaNaUgovorGod] = postojeci EXT ugovor
'INT'= ugovor o izvodjenju montaznih radova, koje EXT izvodjac sklapa sa komunalcem, [Podizvodjac] = 'Komunalac', [VezaNaUgovorGod] = postojeci EXT ugovor
'NDZ' = ugovor sklopljen sa nadzornim organom, da nadzire projekat koji je ugovoren nekim postojecim EXT ugovorom. Izvodjac = 'Nadzodni organ', [VezaNaUgovorGod] = postojeci EXT ugovor
Situacije:
Situacija je racun (invoice) koji izvodjac radova podnosi komunalcu. Obicno s epodnosi jednom mesecno, poslednjeg daa u mesecu, za radove izvresene u datom mesecu. U mesecu u kome se zavrsavaju radovi podnosi se 'Zavrsna situacija'. Sve ostale situacije su 'Privremene'. Za jako kratke projekte, podnosi se amo jedna situacija - zavrsna. Posle zavrsne situacuje nema vise podnosenja situacija. Podnete situacije en mogu se menjati, Situacije se moraju unositi u prirodnom redosledu, po datumima na koje se odnose. Ne dozvoljava se da se posmatrani projekat unese prvo situacija za MArt, pa onda za Januar ili februar. Mora ici redom - Januar, februar, mart. Izmene iznosa su dozvoljene za poslednju unetu situaciju, dok s ene unese nova situacija. Posle toga izmene unazad nisu dozvoljene. Tabela Situacije napravljena je tako da se iskazana pravila moraju postovati.
Pravila unosa u tabelu Situacije:
Sva polja su obavezna.
BrojUgovora - prenosi se iz tabele IzvodjackiUgovori
RB = 1 za prvu situaciju, raste za 1 za svaku sledecu
DatumSituacije = sloboda nunos, mora biti veci od datuma prethodne situacije
VrstaSituacije = 'privremena' il 'zavrsna'
UkupnoDoSada = zbir zinosa svih prethodnih situacija plus iznos ove situacije.
Za prvi unos, UkupnoDOSada = IznosSituacije
IznosSituacije = iznos na situaciji
RbPre = Vrednost RB u prethodnom rekordu, RbPre = Rb-1. Za prvi unos, RbPre = Rb = 1
DatumPre = datum iz prethodnog unosa, za prvi unos DatumPre = DatumSituacije
UkupnoPre = vrednost UkupnoDoSada iz prethodnog unosa. Za prvi rekord UkupnoDoSada = IznosSituacije
VrstaSituacijePre = vrsta situacije u prethodnom unosu. Za prviu unos, VrstaSituacije = VrstaSituacijePre, i moze biti Privremena = privremena ili Zavrsna = Zavrsna.
Ne moze postojati ni jedan rekord gde je VrstaSituacijePre = 'Zavrsna' i VrstaSituacije = 'Pocetna'
Rekapitulacija pravila unosa za pocetnu situaciju za posmatrani projekat:
BrojUgovora = ugovor za koji upisujemo situaciju
Rb = 1
DatumSituacije = slobdan unos
IznosSituacije = slobodan unos
UkupnoDoSada = IznosSituacije
VrstaSituacije = 'privremena' il 'zavrsna' (Zavrsna je kad je prva situacija i jedina situacija, desava se za male projekte)
RbPre = 1 (= Rb)
DatumPre = DatumSituacije
UkupnoPre = IznosSituacije
VrstaSituacijePre = VrstaSituacije
Za svaki sledeci unos (situaciju) za posmatrani projekta:
BrojUgovora = ugovor za koji upisujemo situaciju
Rb = 1+RbPre (1+iz prethodnog rekorda (1,2,3,4...))
DatumSituacije = slobdan unos, veci od DatumPre
IznosSituacije = slobodan unos
UkupnoDoSada = IznosSituacije + UkupnoPre
VrstaSituacije = 'privremena' ili 'zavrsna'
RbPre = Rb-1 (= Rb iz prethodnog rekorda)
DatumPre = DatumSituacije iz prethodnog rekorda
UkupnoPre = UkupnoDoSada iz prethodne situacije
VrstaSituacijePre = VrstaSituacije iz prethodne situacije
Ova kompleksnost se veoma lako sakriva kodom, pa korisnik aplikacije samo unosi nove vrednosti, on ..Pre i ne vidi. Imam kod u verziji sa 2007, pa cu ga u sledecoj iteraciji ubaciti.
Kako radi precenje statusa
Statuse ima smisla pratiti samo u toku pripreme i izgradnje, i to one aktivnosti koje nismo pokrili tabelama u bazi.
Nema svrhe unositi statuse "Investicija usla u okvirni sporazum", "Ugovoreno", "naplaceno" jer za sve to postoje tabele sa podacima.
Ako postoji rekord u tabeli ProjektiUSporazumu za odredjeni projekta, onda smo dostigli stanje "usao u sporazum".
Ako postoji rekord u tabeli JavneNabave, onda smo dostigli status "Raspisana javna nabava"
Ako imamo rekord u tabeli "PobkednicNatjecanja", onda smo dostigli tu fazu.
Ako imamo rekord u tabeli Ugovor, onda smo dostigli i tu fazu.
Statuse ima smisla pratiti kad pocne izvodjenje, da mozemo reci na primer ovo:
Priprema:
InvId = 1, DatumStatusa = 1 Feb 2011, Status ="Zpoceta Priprema", Opis = "Narucena projektna dokumentacija, Teh projekt Rijeka"
InvId = 1, DatumStatusa = 25 Maj 2011, Status ="Priprema u toku", Opis = "Dokumentacija prosla reviziju"
InvId = 1, DatumStatusa = 30 Juni2011, Status ="Priprema u toku", Opis = "Dobijene saglasnosti od Elektro distribucije"
InvId = 1, DatumStatusa = 1 Feb 2012, Status ="Zavresne Priprema", Opis = "Dobijena gradjevinska dozvola"
U medjuvremenu smo raspisali javni natjecaj i odabrali izvodjaca. Onda sledi izvodjenje:
InvId = 1, DatumStatusa = 1 April 2012, Status ="Zapoceti radovi"
InvID = 1, DatumStatusa = 30 Juni 2012, Status = "Radovi u toku", Opis = "Postavljene cevi do stacionaze 1500"
InvID = 1, DatumStatusa = 30 Juli 2012, Status = "Radovi u toku", Opis = "Postavljene cevi do stacionaze 3500"
InvID = 1, DatumStatusa = 6 Aug 2012, Status = "Zastoj", Opis = "Kliziste na stacionzis 3700"
InvID = 1, DatumStatusa = 16 Aug 2012, Status = "Radovi u toku", Opis = "Sanirano kliziste, ponovo radimo"
InvID = 1, DatumStatusa = 30 Aug 2012, Status = "Radovi u toku", Opis = "Zavresna proba na pritisak"
InvID = 1, DatumStatusa = 30 Sep 2012, Status = "Radovi u toku", Opis = "Zavrsen prikljucak na glavni dovod"
InvID = 1, DatumStatusa = 30 Sep 2012, Status = "Radovi zavrseni", Opis = "Izvrsena primopredaja cevovoda"
Uneo sam koliko sam mogao podataka u tabela, i gd eje bilo zgodno stavio sam lookup na kolone za laksi unos. Kolone sa lookupima i dalje pokazuju stvarne vrednosti (sto nije uobicajeno), tako da to nece smetati kverijima.
Imate materijala za nekoliko dana. prethodne verzije su bile prilicno nemoguce za rad i unos test podataka. Verzija 05 je malo laksa. U 06 cu dodati kod za olaksani unos situacija. Mislim d aima dovoljno materijala za celu sedmicu.
Srecno