[ nenadmarkoni @ 04.01.2012. 16:17 ] @
Po Zidarevoj preporuci pitanje iz "Generisanje koda za određeno vreme" prebacujem u novu temu.
[ nenadmarkoni @ 04.01.2012. 16:19 ] @
Prije par mjeseci zgrada u kojoj živim odvojila se od Agencije za stanovanje ,čijim uslugama nismo bili zadovoljni. Otvorili smo poseban račun kod poslovne banke na koji smo prebacili sredstva koja su bila deponovana kod Agencije. Meni je pripala dužnost da vodim računa o evidenciji uplata, utrošku sredstava i arhiviranje izlaznih i ulaznih dokumenata. Uz to treba da ispravimo neke greške koje je Agencija svojim „radom“ proizvela:
- Napravljena je velika razlika u dotadašnjim uplatama stanara, višegodišnjim propuštanjem sudskog potraživanja dugovanja pojedinih stanara. Obzirom da su utrošena sredstva redovnih platiša i da je jedini ispravan način obračuna duga izjednačavanje sa najredovnijim platišom (otprilike iste površine stanova). Većina stanara je saglasna da zaostali dug izmire sporazumno ali u višegodišnjim ratama uz redovne obaveze.
Program bi trebao da vodi evidenciju:
- Uplata stanara za redovno održavanje
- Uplate stanara za otplatu zaostalog dugovanja
- Automatsko mjesečno zaduzivanje prema kvadraturi i stanju duga
- Evidenciju dokumenata kroz djelovodnik
- Evidenciju utroška sredstava
- Evidenciju saradnika ( izvođača radova)
Izlazni dokumenti:
- Mjesečni računi sa obračunom otplate duga.
- Kartica stanara
- Kartica saradnika
- Stanje računa
- Prikaz i stampanje djelovodnika.

Napravio sam nekoliko process chart-ova radi objašnjenja.
U prilogu je i relationship tabela.
Molio bih iskusnije forumaše da pogledaju i predlože mi eventualne izmjene.

[ FOX028 @ 04.01.2012. 19:15 ] @
Lakse bi bilo ako bi okacio tu bazu iz koje si ivukao taj Relationsheep i navedes sta bi mozda trebalo da se izbaci ili doda u nju.
[ nenadmarkoni @ 04.01.2012. 20:05 ] @
Baza jos nije ni krenula sa izradom, obzirom da nemam nekog iskustva, a nemam ni mnogo slobodnog vremena.
Samo sam na brzinu uradio tabele zbog prikaza(u kojima nisam odredio ni tačna svojstva polja)
Napravio sam za sada excel dokument u kojem vodim evidenciju i iz kog štampam račune, tako da mi se ne zuri sa ovim.
U prošlom pokušaju su mi forumaši mnogo pomogli, i prilično sam naučio o bazama pa je "Projekat" koji sam tada zadao sebi uspješno priveden kraju i odlično radi.

Baza je još u fazi projektovanja. Evo na primjer već sam primjetio neke stvari koje treba izmjeniti:
-Obzirom da ovo pravim za svoju zgradu nije mi potrebna tabela Zgrada
-Isto tako zgrada trenutno ima jedan račun u jednoj banci pa mi je i tabela Banka mislim suvišna

Mislim da su entiteti koji su mi dovoljni:
Stanari, Prostori, Blagajna i Djelovodnik

"Stanari" posjeduju "Prostore"
"Prostori" su određeni kvadraturom i vrstom prostora(cijenom po vrsti) čiji proizvod daje mjesečni iznos redovnog zaduženja
"Blagajna" bi trebala da vodi nekoliko vrsta poslova: Zaduženja stanara, Evidenciju uplata, Evidenciju plaćanja, i uvid u stanje.
Zaduženje stanara ukoliko uspijem trebalo bi imati mogućnost grupnog zaduženja za određeni mjesec, i mogućnost pojedinačnog zaduženja određenog stanara.
Uplate bi trebale evidentirati uz iznos i broj bankarskog izvoda na kojem je evidentirana uplata
Evidencija plaćanja bi trebala vezati uz iznos koji je plaćen i djelovodni broj pod kojim je zavedena primljena faktura.
Uvid u stanje bi trebao da ima sumarni prikaz stanja na zajedničkom računu, a kroz karticu stanara prikaz trenutnog stanja zaduženja i uplata određenog stanara.

I na kraju djelovodnik kroz koji će se evidentirati izlazni dokumenti: odluke, zahtjevi, tužbe..., i ulazni dokumenti: odgovori, dopisi, fakture i računi....
Obzirom da je Zidar ekspert u ovoj oblasti, zamolio bih ga da mi pomogne u osmišljavanju baze kroz Logički model i Application diagram
[ Zidar @ 05.01.2012. 17:44 ] @
Rado bih pomogao, ali cu nekoliko sledecih meseci imati jako malo vremena. Ono sto tebi treba nije ni malo ni potpuno jednostavno, a ja i nemam iksustva sa knjigovodstvenim poslovima. Medjutim, trenutno na forumu ima bas 4-5 ljudi koji mogu pomoci, pa pokusajte. Stvarno ne mogu da se upustim u nesto sto nemam sanse da zavrsim ili podrzim.

:-(
[ nenadmarkoni @ 10.01.2012. 17:59 ] @
Nije da nisam pokušavao..., ali Zidar je u pravu- upustio sam se u nešto što nema šanse da završim.
Izvinjavam se na temi koja nije zaživjela!
U međuvremenu sam pronašao gotov program
Pozdrav svima!
[ nenadmarkoni @ 25.01.2012. 19:54 ] @
Kako onemogućiti da u istom rekordu budu istovremeno upisani i pravno i fizičko lice? Znači ako je već upisano Ime i Prezime da mi onemogući upis pravnog lica.
[ FOX028 @ 25.01.2012. 20:57 ] @
Mislim da ce ovo resiti tvoj problem.
[ nenadmarkoni @ 26.01.2012. 15:59 ] @
Hvala!
I isto to za prelaz iz pravno u fizičko . :-)
[ Zidar @ 26.01.2012. 17:40 ] @
Otvori formu tbl_Obveznici u design modu i kucaj F4 da dobijes table propertires. Kopiraj ovaj kod u Table Validation Rule:
Code:

(
[Vrsta_obveznika]=1 
AND ([Ime] Is Null AND [Prezime] Is Null AND [JMBG] IS NULL AND [Pol] IS NULL) 
AND 
NOT ([Naziv] IS NULL OR [Puni_Naziv] IS NULL OR [PIB] IS NULL)
)
OR
(
[Vrsta_obveznika]=2 
AND NOT ([Ime] Is Null OR [Prezime] Is Null OR [JMBG] IS NULL OR [Pol] IS NULL) 
AND 
([Naziv] IS NULL AND [Puni_Naziv] IS NULL AND [PIB] IS NULL)
)


Ovaj kod u validation rule zahteva:
1) da se za pravno lice (Vrsta_obveznika=1) moraju uneti Naziv, puni_naziv i PIB, a ne smeju (Ime, Prezime, JMBG, Pol)
2) da se za privatno lice (Vrsta_Obveznika = 2) moraju uneti (Ime, Prezime, JMBG, Pol) a ne smeju (Naziv, puni_naziv i PIB)

Posto je pravilo na nivou tabele, uvek ce da vazi, na svakoj formi i ne treba ti kod. Ako sam malo bio prestrog u pravilu, recimo JMBG nemas za svako fizicko lice, onda tu kolonu moras da izbacis iz pravila potpuno.

Inace, mogli bi da zamerimo da se u jednu tabelu stavljaju dve razlicite stvari, ljudi i firme, i naravno da se mora voditi racuna o tome sta u koju kolonu i kada moze da se unese. Teorijski, ispravnije je resenja sa tri tabele Obveznici i PravnaLica, FizickaLica i tako dlaje. Rekoh, 'torijski ispravnije' sto ne znaci i prakticnije. Resenje sa jednom tabelom koje si dao, uz dodatne validacije, po mogucstvu na nivou tabele, je prakticnije, uglavnom.

[ nenadmarkoni @ 26.01.2012. 19:49 ] @
Hvala i na ovom odgovoru!
Gospodine @Zidar, iako ste uglavnom prestrogi prema početnicima koji pokušavaju shvatiti Access, moram priznati da ste zavredili moje poštovanje. Ne zelim Vam laskati, ali zaista Vas smatram GURUOM ovog foruma i samog Access-a!

Trenutno pokušavam shvatiti i naučiti nešta o pisanju koda. Ako imate neki savjet ili link koji bi mi preporučili bio bih Vam zahvalan.

Uzgred, u CG i fizičko i pravno lice imaju JMB:-)

[Ovu poruku je menjao nenadmarkoni dana 26.01.2012. u 23:13 GMT+1]
[ nenadmarkoni @ 27.01.2012. 18:57 ] @
Ista forma, malo lepše sređena.
[ Zidar @ 27.01.2012. 21:24 ] @
Dobri linkovi za Access:

http://www.allenbrowne.com/
http://access.mvps.org/access/

http://www.everythingaccess.com/
http://www.granite.ab.ca/access/email.htm
http://www.blueclaw-db.com/vba_google_earth.htm
http://www.utteraccess.com/forum/forums.html


Ako mozes, nekako dodji do knjige koju su pisali Alen Browne i Alison Balter (prvi link), zove se "Essential Access 95" tacno, 95 a jos uvek najbolja knjiga iz Accessa

Druge interesantne knjige su "Mastering Microsoft Office Access xxxx Development", Alison Balter. Treca, i to zaokruzuje listu, nekad se zvala "Microsft Access XX How To", Ken getz, Paul Litwin, danas se pojavljuje u O'Rilley Cookbok seriji, "Cookbok for Access 2007", isti autori.

Kad vec nesto ozbiljno radis onda nisam strog.

[ nenadmarkoni @ 30.01.2012. 19:08 ] @
Pronašao sam knjigu na Amazonu, i kupio je po prilično povoljnoj cijeni. Čudi me da je niko nije preveo na srpski ako je tako vrijedna?
[ Zidar @ 31.01.2012. 14:17 ] @
Citat:
Pronašao sam knjigu na Amazonu, i kupio je po prilično povoljnoj cijeni. Čudi me da je niko nije preveo na srpski ako je tako vrijedna?

SVaka cast za ozbiljan pristup.

Sto se tice prevodjenja, primedba je na mestu. Prevodjenje knjiga je stvar politike izdavaca i oni ipak rade prilicno dobar posao, s obzirom na brzinu kojom se stvari menjaju i uvek prisutnom potrebom za brzim profitom. Cim se pojave neke knjige iz neke oblasti, zuri se sa prevodom, da bi barem nesto bilo na raspolaganju programerima na nasim prostorima. Sto to obicno nije bas i najbolja knjiga, nisu krivi izdavaci, oni rade s onim sto je u tom momentu dostupno. Kasnije se pojave nove verzije programa, pa niko nece danas da prevodi knjigu o Acces 95 na primer. Knjiga koju je napisao Alen Browne nije preterano poznata ni ovde, inace bi vec bilo sest izdanja. Gospodin Browne je briljantan progranmer, ali verovatno nema talenta za komercijane rabote. Zato gospodja Balter stancuje knjige, na svu srecu jako dobre knjige. Cudi me da njene knjige nisu prevedene. Mislim da je prevedna knjiga "The Access Bible by C. Prague". Knjiga nije losa, ali ni prineti knjigama koje pise A.Balter ili A.Browne. Ko zna, mozda neko ko cita forum pozneje neke izdavace, pa oni dobiju neke ideje.



[ nenadmarkoni @ 31.01.2012. 19:07 ] @
Odavno imam knjigu "Access biblija 2003" od Cary N. Prague, Michael R. Irwin i Jennirer Reardon. Moram priznati da sam više stvari vezanih za Access shvatio ovde na forumu nego iz te knjige. Od pomenute gospođe Balter , pronašao sam u prodaji prevedeno izdanje knjige "Access 2003 bez tajni" od nekih skromnih 1500 stranica. Mozda i nju kupim kasnije jer izgleda da je ipak namjenjena ljudima koji imaju makar malo iskustva u programiranju i radu sa bazama podataka. Sad za sad ću sačekati da mi iz Njemačke stigne poručena knjiga pa da vidimo šta ću sa njom uraditi.
ps. Engleski jezik nikada nisam učio, mada znam i da čitam i da razumijem napisano.(Zaslužni Filmovi i internet ).
Govor mi malo teže ide zbog nedostatka prakse. :-( .



[Ovu poruku je menjao nenadmarkoni dana 31.01.2012. u 22:01 GMT+1]
[ Zidar @ 31.01.2012. 21:30 ] @
Ovo je odlicna vest "Od pomenute gospođe Balter , pronašao sam u prodaji prevedeno izdanje knjige "Access 2003 bez tajni" od nekih skromnih 1500 stranica." Knjiga je odlicna, verzija absolutno nema veze. Moja prva verzija te knjig je bila '97 a sad imam 2007, ne vidim znacajnu razliku.

A. Browne je jedina knjiga koja ima flowchart svih eventa, jedan za forme, drugi za text box kontrole. Knjiga A.Balter je prosireno unapredjeno izdanje knjige A. Browne (bez flowcharta), ali je i nesto teza za citanje, 1500 starna je ipak 1500 strana.


Srecan rad

[ nenadmarkoni @ 23.02.2012. 19:37 ] @
:-)))
[ Getsbi @ 23.02.2012. 20:06 ] @
To je prikaz većine IT projekata od ideje do realizacije na jedan duhovit način. Neke slike nisu baš najsretnije prevedene sa engleskog. Ono što bih ja iskoristio priliku da ponovim po ko zna koji put, je da bez dobre grafičko tekstualne dokumentacije, 90 % projekata nikad ne bude realizovano. Dakle funkcionalno modelovanje, potom informaciono modelovanje, pa tek onda aplikativno.
[ 3okc @ 24.02.2012. 10:29 ] @
Projektovanje v1.5
:D

[ Zidar @ 24.02.2012. 19:13 ] @
predivan slika, ali kad god mi treba ne mogu da je nadjem :-)

Kako da je negde sacuvamo, tako da je uvek lako nadjemo? Top teme, korisni linkovi??
[ banem @ 24.02.2012. 19:16 ] @
Nemaš nalog na imageshack, photobucket, flickr, webpicasa, FB...?
[ Getsbi @ 24.02.2012. 19:33 ] @
Dodao sam link na kraj Top teme "Kako da definišete projektni zadatak"
[ nenadmarkoni @ 11.03.2012. 23:27 ] @
Evo mene opet posle nekog vremena. Jos uvjek mi nije stigla knjiga, ali sam po malo citao druge pa su mi poprilicno zbrkale mozak.
Mozete li pogledati ovaj model? Zanima me da li je u redu? Ako nije molio bih da me usmjerite. Ne znam da li sam trebao posebno odvojiti redovna mjesecna zaduzenja od ostalih, obzirom da se ono gradi mnozenjem kvadrature sa koeficijentom vrste prostora i obracunskog iznosa. Da li su neke veze trebale biti neidentifikujuće?
[ Zidar @ 12.03.2012. 14:06 ] @
Meni deluje lepo, svaka cast. Meni izgleda OK, ali ja nisam strucnjak za finansijske poslove, pa ce mozda Getsbi ili Zoran E. imati sta da kazu.

Jedina stvar koju bi mozda trebalo doraditi je deo sa placanjem. Pretpostavljam da tabela Placanje predstavlja ono sto ti placas. Vidim da placanje ide na radove i na troskove. Onako kako je napravljeno, izgleda kao da se moze isti Placanje ID dodeliti radovima i troskovima. Ako je to OK, onda nista. Medjutim, ako svako placanje moze da pokrije ili radove ili troskove, ali ne moze jedan isti PlacanjeID da se dodli i troskovima i radoviam u istom momentu, ond anije dobro. U tom slucaju treba da uvedes VrstaPlacanja i da to razresris onako kako si razresio Saradnike i Obveznike - sa podkategorijama.

Srecan rad
[ nenadmarkoni @ 12.03.2012. 18:20 ] @
Hvala na odgovoru i podršci! Nisu u pitanju neki previše komplikovani finansijski poslovi, pa mislim da je Vaše znanje iz ove oblasti više nego dovoljno.
[ Getsbi @ 12.03.2012. 21:11 ] @
Složiću se da je model tehnički korektno urađen. Specijalizacije su na mestu. Kardinalnost takođe. Možda je po meni, model malo više zategnut u smislu da su neki PK prejaki ali to se kroz aplikativno modelovanje i rad nad testnim podacima da ispravit i olabaviti. Kad budeš pravio forme za unos možda će ti smetnju pravita popunjavanje nekih tabela. Recimo treba popuniti tblProstori, stan je neuseljen, a ti prostor nemožeš da definišeš bez ObveznikID. No, to se da ispraviti. Lakše je naknadno olabaviti nego kasnije zatezati kada podaci već postoje. To Access ne dozvoljava.

[ nenadmarkoni @ 12.03.2012. 21:58 ] @
Citat:
Getsbi: Složiću se da je model tehnički korektno urađen. Specijalizacije su na mestu. Kardinalnost takođe. Možda je po meni, model malo više zategnut u smislu da su neki PK prejaki ali to se kroz aplikativno modelovanje i rad nad testnim podacima da ispravit i olabaviti. Kad budeš pravio forme za unos možda će ti smetnju pravita popunjavanje nekih tabela. Recimo treba popuniti tblProstori, stan je neuseljen, a ti prostor nemožeš da definišeš bez ObveznikID. No, to se da ispraviti. Lakše je naknadno olabaviti nego kasnije zatezati kada podaci već postoje. To Access ne dozvoljava.
Da bih komentarisao da li model u potpunosti rešava poslovni problem, trebala bi sva poslovna pravila iskazati na jednom mestu. Možda se nekom čini da ja preterujem kad to stalno potenciram, ali sam i dalje tog stava.


Mislim da ako je zgrada već u upotrebi da bi neko ipak trebao biti vlasnik tog prostora, makar investitor, koji po novom zakonu ionako mora da odrzava zgradu par godina.

Za drugi deo se potpuno slazem, međutim, mislim da trebaju godine iskustva da bi se zaista uočilila sva pravila i iskazala na jednom mjestu.Prije ovog posta pokušao sam u više navrata napraviti IDEF0 analizu u BPWin-u, pa sam pokušao Strukturnom sistemskom analizom, ali bezuspješno.
U prilogu je hijerarhijska lista koju sam pravio kao početak izrade modela.
Naravno, hvala Getsbi-ju.
[ Zoran.Eremija @ 13.03.2012. 20:31 ] @
Mozete li okaciti ERwin model. U poslednje vreme imam neke obaveze. Nadam se da cu ih se resiti do kraja nedelje i onda cu Vam dati svoje misljenje.
[ nenadmarkoni @ 14.03.2012. 08:16 ] @
Model ce doziveti blage izmjene, pa cu tada okaciti Erwin model. sumnjam da je to uradjeno kako bi trebalo, obzirom da mi je ovo prvi kontakt sa erwin-om.
[ nenadmarkoni @ 16.03.2012. 21:24 ] @
Malo izmjenjeno!
Kacim erwin fajl ali u njemu nije nista drugo odradjeno osim proste slike koja je ovde zakacena.
[ Zoran.Eremija @ 16.03.2012. 22:17 ] @
Da li je Obveznik isto sto i Vlasnik prostora?

Prvo bih Vam predlozio da objedinite ova dva objekta od interesa posmatranja u jedan Partner, kao sto je u prilogu





[Ovu poruku je menjao Zoran.Eremija dana 16.03.2012. u 23:34 GMT+1]
[ nenadmarkoni @ 17.03.2012. 08:09 ] @
Citat:
Zoran.Eremija: Da li je Obveznik isto sto i Vlasnik prostora?


U suštini bi trebalo tako biti.

Malo me zbunjuje ovaj primjer. Pokusacu.Vidim da je ovako kako ste predlozili mnogo bolje, mada moj mozak lakse registruje "paralelni" sistem.
Na koji nacin u Erwinu odredite za FK neki atribut koji nije prikazan u nekoj drugoj tabeli na modelu?


[Ovu poruku je menjao nenadmarkoni dana 17.03.2012. u 10:39 GMT+1]
[ nenadmarkoni @ 17.03.2012. 14:12 ] @
Kada u Erwinu napravim drugu neidentifikujucu vezu izmedju PravnoLice i FizickoLice pojavi se greska koja zatvori Erwin???
[ Zoran.Eremija @ 17.03.2012. 21:06 ] @
Vi verovatno koristite verziju ERwin-a 7.x. Moguce je da je problem u toj verziji. Licno koristim verziju 4.1.4 sp5. Sa novijim verzijama sam imao problema i zbog toga nisam presao na njih. Vise neidentifikujucih veza moze postojati s time sto se tim vezama treba dodeliti uloga (Rolename) i onda sve funkcionise kako treba.

Citat:
nenadmarkoni: Na koji nacin u Erwinu odredite za FK neki atribut koji nije prikazan u nekoj drugoj tabeli na modelu?


ERwin kao CASE alat ima mogucnost da izdvojite razlicite poglede na repozitorijum entiteta koji su definisani. Pogledi se izdvajaju putem razlicitih SubjectArea koje u stvari asociraju na razlicite procese-funkcije koje zelite da informaciono opisete. Otuda cinjenica da se u nekom entitetu vidi da postoji FK iz nekog drugog entiteta koji u tom pogledu nije prikazan.

Sto se samog modela tice, kao sto sam Vam predlozio generalizaciju partnera istom metodom treba uraditi generalizaciju svih dokumenata.
[ nenadmarkoni @ 17.03.2012. 22:01 ] @
Zorane, ja prosto nemam riječi... ! Svaka čast!
Kada ste mi u prošloj temi "Plasiranje robe u lancu butika" svesrdno pomogli, bio sam na takvom nivou da nisam u potpunosti shvatao koliku ste mi podršku pružili tada sa Vašim uputstvima. Ni ovo objašnjenje:
Citat:
Zoran.Eremija: ERwin kao CASE alat ima mogucnost da izdvojite razlicite poglede na repozitorijum entiteta koji su definisani. Pogledi se izdvajaju putem razlicitih SubjectArea koje u stvari asociraju na razlicite procese-funkcije koje zelite da informaciono opisete. Otuda cinjenica da se u nekom entitetu vidi da postoji FK iz nekog drugog entiteta koji u tom pogledu nije prikazan.

mi za sada nije u potpunosti jasno, ali se nadam da ću i to nekada shvatiti!
Nemojte mi zamjeriti na neukosti. Ipak sam ja prosti zanatlija sa trogodišnjom srednjom školom. Hvala Vam!

[ nenadmarkoni @ 18.03.2012. 22:06 ] @
Citat:
Zoran.Eremija
ERwin kao CASE alat ima mogucnost da izdvojite razlicite poglede na repozitorijum entiteta koji su definisani. Pogledi se izdvajaju putem razlicitih SubjectArea koje u stvari asociraju na razlicite procese-funkcije koje zelite da informaciono opisete. Otuda cinjenica da se u nekom entitetu vidi da postoji FK iz nekog drugog entiteta koji u tom pogledu nije prikazan.


Shvatio!
[ nenadmarkoni @ 19.03.2012. 21:25 ] @
Mislim da je model savrsen i da ce mi u potpunosti odgovarati. Jedino sto bih izmjenio su veze između pravnih i fizičkih lica, kao sto je u zakačenom primjeru. Koliko ja razumijem u Vašem predlozenom modelu bih trebao evidentirati OdgovornoLice u tabeli FizičkoLice, a isto tako Poslodavca u PravnimLicima. Malo mi je to previse komplikovano , a i ne bi imalo neku prakticnu primjenu u mom slucaju. Dugujem Vam zahvalnost i što ste mi na praktičnom primjeru pokazali koliko su vazne normalizacije.
[ Zoran.Eremija @ 19.03.2012. 21:55 ] @
Citat:
nenadmarkoni: Malo mi je to previse komplikovano, a i ne bi imalo neku prakticnu primjenu u mom slucaju.


Tacno je, ovaj oblik veze je komplikovan. Analizirajuci Vas model uocio sam da imate opisne atribute KontaktOsoba, OdgovornoLice i Poslodavac i to me je povelo da Vam predlozim ovaj oblik veze. U praksi sam imao slucajeve kada je posmatrac realnog sistema zeleo da ima evidenciju vise osoba koje pripadaju jednom pravnom licu, sa dodeljenom osobinom Uloge. Tada je resenje u sledecem primeru.



Osnov svega cini funkcija cilja onoga ko posmatra neki realni sistem.
[ nenadmarkoni @ 22.03.2012. 20:57 ] @
Pokušao sam da napravim fizički model. Dodao sam i entitet djelovodnik. Molio bih vas da mi sugerišete na greške.
[ nenadmarkoni @ 22.03.2012. 21:05 ] @
U predmetu poslovanja sam zaboravio da postavim Null opcije na NOT NULL(Cini mi se da bi sve trebalo biti NOT NULL)
[ Zoran.Eremija @ 22.03.2012. 21:36 ] @
Entitet Delovodnik je suvisan jer njegovu ulogu upravo ima entitet Dokument. Ne bih Vam preporucio da u pocetku zatezete model sa definisanjem NOT NULL dok ne dovrsite model i aplikaciju. Tek kada vam aplikacija postigne punu funkcionalnost mozete koristeci ERwin da dodelite sva potrebna detaljna ogranicenja.
[ nenadmarkoni @ 22.03.2012. 22:00 ] @
Ok! Shvatio! Hvala !
Sumnjam da cu umjeti ID uraditi na Vas nacin, obzirom da vidim da ne koristite autonumber.
[ Zoran.Eremija @ 22.03.2012. 22:42 ] @
Imate primer u ovoj temi http://www.elitesecurity.org/t435284-1#2944359
[ nenadmarkoni @ 24.03.2012. 08:35 ] @
Zorane, sta u entitetima Partner i Dokument predstavlja atribut "ID" ? To ste ubacili u ovom zadnjem predlogu modela, ali mi ta stavka nije jasna? Znaci pise samo -"ID"
[ Zoran.Eremija @ 24.03.2012. 10:21 ] @
Ako primetite Atributi DokumentID i PartnerID su tipa TEXT. Predlozio sam Vam ovaj tip iz razloga definisanja govoreceg ident broja za ova dva entiteta. Zatim sam Vas uputio na sajt gde sam taj priemr prikazao.

DokumentID se gradi uz pomoc atributa Godina, VrstaDokumentaID i ID
npr:
Godina=2012
VrstaDokumentaID=3
ID=1

DokumentID="201200300001"

Znaci sve dok su Godina i VrstaDokumentaID isti ID se uvecava za 1 kao redni brojac

Kod partnera je sllicno

PartnerID se gradi uz pomoc atributa Godina, TipPartneraID i ID
npr:
Godina=2012
TipPartneraID = 2 (1 -za fizicko lice, 2 - za pravno lice)
ID=1

PartnerID="201210001"
[ nenadmarkoni @ 24.03.2012. 11:43 ] @
Da, sada to vidim! Treba znati gledati, he,he... Izvinite!
U prilogu tabele i relacije( nije jos nista uradjeno!) Da li imam greški u referencijalnom integritetu?
[ Zoran.Eremija @ 24.03.2012. 12:10 ] @
Da li ste iz ERwin-a generisali bazu u Access?
[ nenadmarkoni @ 24.03.2012. 13:57 ] @
Nisam! Pokusao sam generisanje, ali prijavljuje mi greške tako da sam rucno unosio
[ nenadmarkoni @ 25.03.2012. 21:54 ] @
Uradjeno nekoliko sifarnika, izbrisana tabela VrstaPrijema...
[ nenadmarkoni @ 02.04.2012. 22:49 ] @
Na koji način da povezem Partnera sa tabelama Obveznik i Saradnik? Partner moze biti i jedno i drugo u isto vrijeme. Shvatio sam i uradio za Pravno ili Fizičko lice formu Partner(traljavo)
[ nenadmarkoni @ 03.04.2012. 09:44 ] @
Da li treba napraviti neke komande za pokretanje Apend query-ja koji ce dodati partnera u tabele Obveznik, Saradnik ili obe? Ili se ovo rjesava na drugi nacin?
[ Zoran.Eremija @ 03.04.2012. 14:09 ] @
Tako je treba napraviti Append Query-je i pokretati ih u trenutku kada ste sigurni da se neki Partner pojavljuje kao Obveznik ili Saradnik. Napravio sam Vam 2 primera. Po meni prilikom evidencije prostora dodeljujete Partnera i on u tom slucaju je u ulozi obveznika i drugi slucaj kada placate nekom bilo za rad ili neki trosak tada je taj Partner saradnik. Po tom modelu mozete malo analizirati ostale vrste dokumenta i da li ona odredjuju ova dva statusa ili ne te na taj nacin azurirati novi red u tabbelama Saradnik Obveznik.
[ nenadmarkoni @ 03.04.2012. 16:47 ] @
Hvala Zorane! Sve jasno(za sada)..
Konačno je stigla i knjiga koju mi je preporučio @Zidar!
[ nenadmarkoni @ 06.04.2012. 12:17 ] @
Iako sam stigao tek do 7 poglavlja, mogu vam reci da je knjiga odlicno napisana! kada je procitam pokusacu je prebaciti u elektronski oblik za one koji nemaju priliku da je kupe.
[ nenadmarkoni @ 11.04.2012. 19:40 ] @
Kako da u Formi PlacanjeRada polje Iznos izračuna ukupan iznos stavki i kao takvo upiše u tabelu Dokument? Da je ovo nevezano polje mogao bih to nekako izvesti, ali ovako kako je ne umijem. Moze li pomoć?
[ nenadmarkoni @ 11.04.2012. 21:34 ] @
Pretpostavljam da bi atribut Iznos trebalo izbrisati iz entiteta Dokument i zamjeniti ga izračunatim poljem koje vuče podatke iz entiteta DokumentStavka? Da li sam u pravu?
[ SLOJ.1973 @ 11.04.2012. 22:11 ] @
u pravu si.Evo primera.Pozdrav.
[ Zoran.Eremija @ 11.04.2012. 22:36 ] @
Ako bi svi dokumenti imali stavke onda bi mogao Iznos dokumenta da bude izveden tj izracunat, a ako ta pretpostavka nije tacna tj postoje neke vrste dokumenata koje nemaju stavke ali imaju Iznos onda ima smisla da u tabeli Dokument postoji denormalizovan atribut Iznos. U tom slucaju se mora voditi racuna da se izracunata vrednost prenese u polje Iznos.
[ nenadmarkoni @ 12.04.2012. 16:30 ] @
To je to. Pokušavao sam nešto slično ali još uvjek imam 0% znanja iz sintakse SQL-a i VBA pa ne umijem da prevedem u primjenjivu formu svoje misli. Hvala!
[ nenadmarkoni @ 12.04.2012. 17:57 ] @
Nazalost, da bi se DokumentStavka upotrebila kod ostalih formi DokumentStavka_AfterUpdateEvent mora biti drugog oblika. Mozda sa Case opcijama ili nesta slicno( sto ja opet ne umijem) :-(
[ nenadmarkoni @ 12.04.2012. 23:05 ] @
Ima vise problema, ne samo DokumentStavka_AfrterUpdate. Iznos stavke ne daje ispravan rezultat mnozenja . Ako se upise 20-kolicina ; cena 0,70 daje 14, ali ako se stavi 2-kolicina daje rezultat 1 a ne 1,4
.-( .
Za ovaj drugi problem sam pokusao da Izraz u QDokumentStavka promjenim iz Val u CCur, i uspjelo je , s tim sto mi u upitu daje vrijednosti sa nastavkom din, jer su mi regionalne postavke Windowsa na Serbian.
[Ovu poruku je menjao nenadmarkoni dana 13.04.2012. u 22:36 GMT+1]

[Ovu poruku je menjao nenadmarkoni dana 13.04.2012. u 23:28 GMT+1]
[ nenadmarkoni @ 14.04.2012. 14:14 ] @
Resio sam nekako i ovaj drugi problem! Umjesto putanje Form![Dokument]![Stavka].Reqery sam stavio Parent![Stavka].Reqery i sad radi! Zasto mi u PredmetPosloanjaID na subfromi pri otvaranju forme PlacanjeTroska ne pise predmet poslovanja, ali ako predjem u sledeci zapis pa se vratim pise?
[ Zoran.Eremija @ 14.04.2012. 16:33 ] @
Citat:
nenadmarkoni: Resio sam nekako i ovaj drugi problem! :-) Umjesto putanje Form![Dokument]![Stavka].Reqery sam stavio Parent![Stavka].Reqery i sad radi!


Moze i na ovaj nacin uz pomoc Query-ja "QDokumentIznosUpdate"

Citat:
nenadmarkoni: Zasto mi u PredmetPosloanjaID na subfromi pri otvaranju forme PlacanjeTroska ne pise predmet poslovanja, ali ako predjem u sledeci zapis pa se vratim pise?


Ovde je bio problem u dvostrukom definisanju RecordSource za PredmetPoslovanja, jedna definicija da dogadjaj OnCurent formi
"PlacanjeRada"

Code:
 Me.Form![DokumentStavka].Form![PredmetPoslovanjaID].RowSource = "SELECT PredmetPoslovanja.PredmetPoslovanjaID, PredmetPoslovanja.NazivPredmetaPoslovanja, PredmetPoslovanja.CenaPredmetaPoslovanja FROM PredmetPoslovanja WHERE (((PredmetPoslovanja.VrstaPredmetaPoslovanjaID)=2)) ORDER BY PredmetPoslovanja.NazivPredmetaPoslovanja;"


i
"PlacanjeTroska"

Code:
    Me.Form![DokumentStavka].Form![PredmetPoslovanjaID].RowSource = "SELECT PredmetPoslovanja.PredmetPoslovanjaID, PredmetPoslovanja.NazivPredmetaPoslovanja, PredmetPoslovanja.CenaPredmetaPoslovanja FROM PredmetPoslovanja WHERE (((PredmetPoslovanja.VrstaPredmetaPoslovanjaID)=1)) ORDER BY PredmetPoslovanja.NazivPredmetaPoslovanja;"


i sa druge strane RecordSource u Formi "DokumentStavka" za PredmetPoslovanja

Code:
 SELECT PredmetPoslovanja.PredmetPoslovanjaID, PredmetPoslovanja.NazivPredmetaPoslovanja, PredmetPoslovanja.CenaPredmetaPoslovanja
FROM PredmetPoslovanja
WHERE (((PredmetPoslovanja.VrstaPredmetaPoslovanjaID)=2))
ORDER BY PredmetPoslovanja.NazivPredmetaPoslovanja;
[ Zoran.Eremija @ 14.04.2012. 16:37 ] @
Zaboravih da okacim primer...
[ nenadmarkoni @ 14.04.2012. 19:57 ] @
Odmah posle mog posta sam uocio gresku za koju sam pitao, ali hvala u svakom slucaju. Da li da zadrzim "Parent" ili je bolje sa upitom? Da li je ovo sto sam odradio u formi Zaduzenje trebalo odraditi drugacije, i da li sam napravio kakvih gresaka?

[Ovu poruku je menjao nenadmarkoni dana 14.04.2012. u 21:49 GMT+1]
[ nenadmarkoni @ 14.04.2012. 23:23 ] @
Ne valja! :-( Mora da se kombinuje sa vrstom prostora, te da se mnozi sa koeficientom!
[ Zoran.Eremija @ 16.04.2012. 13:58 ] @
Da li Vam sada Zaduzenje odgovara?!?

Takodje sam Vam promenio nacin punjenja tabela Obveznik i Saradnik, pogledajte QObveznikDodaj i QSaradnikDodaj
[ nenadmarkoni @ 16.04.2012. 17:40 ] @
Ja sam upravo hteo da okacim ovo sto sam ja napravio
[ nenadmarkoni @ 16.04.2012. 17:52 ] @
Ovde se naravno postavlja pitanje sta se desava ako je osoba vlasnik vise prostora, pa uz to jos i razlicite vrste? Mislim da je redovno zaduzenje u planiranju baze trebalo vezati za tblProstor. Ali hvala bogu ovo nije slucaj u mojoj zgradi.
[ nenadmarkoni @ 22.04.2012. 22:14 ] @
Kako treba uraditi formu Uplate, i kako vezati sa odgovarajućim Zaduzenjem obzirom da uplatu moze izvrsiti i neki spoljni "Subject" koji nema zaduzenja? Nisam imao vremena ovih dana, a sada mi je mozak potpuno zbrkan :-(
[ nenadmarkoni @ 23.04.2012. 08:01 ] @
Mislim da je zaduzenje i uplatu trebalo vezati preko VrstaZaduzenjaID umjesto ZaduzenjeID.
[ Zoran.Eremija @ 23.04.2012. 08:31 ] @
Nista lepseg nego kada pare dolaze, tome se svi raduju, tako da tu ne treba puno komplikovati vec sto jednostavnije. Mozete otvoriti novu n-torku u VrstaUplate recimo donacija ili poklon.
[ nenadmarkoni @ 23.04.2012. 16:07 ] @
I opet...Hvala Vam Zorane! Ovde se baš ne bih snašao.
[ nenadmarkoni @ 27.04.2012. 18:26 ] @
Zasto mi Append query popuni UplataBankeID, a nece UplataInternaID?
[ Zoran.Eremija @ 27.04.2012. 21:01 ] @
Pomenuti Append Query-ji Vam nisu uopste potrebni. Upravo najveca blagodet Access-a je u najlaksoj i najjednostavnijoj realizaciji tipa veze Generalizacija-Specijalizacija, koje se simuliraju upitima QUplataBanke i QUplataInterna sto mozete videti u primeru.



Upravo ta dva upita dozvoljavaju da se u jednom prolazu popunjavaju podaci u 3 tabele.
[ nenadmarkoni @ 27.04.2012. 21:50 ] @
I mislio sam da treba 3 pojedinacne forme koje sam pokusao uraditi u primjeru 9, ali ste me sa primjerom koji ste dali u prethodnom postu malo zbunili te sam mislio da to treba rješiti Append Query-jima. Izvinjavam se na svojoj zbunjenosti. Valjda će sve ovo imati neko poučno dejstvo na ostale početnike. Ipak treba poprilično znanje i obrazovni nivo da bi se iole ozbiljno uradila neka aplikacija... Sumnjam da ću ovo moći privesti namjeni...., a i sramota me je više od Vaše svesrdne i neumorne pomoći! Najiskrenije Vam Hvala.
[ Zoran.Eremija @ 27.04.2012. 21:53 ] @
Kako kaze moj komsija i prijatelj Aco Pejovic "OPUSTENO". Idemo dalje.
[ nenadmarkoni @ 05.05.2012. 17:56 ] @
:-( PrenosInterneBlagajneID ,Jel treba Append ili Update, ili nista od toga?
[ Zoran.Eremija @ 05.05.2012. 20:24 ] @
Ne treba nista od toga :-)
[ nenadmarkoni @ 06.05.2012. 08:59 ] @
Aaaaaaa.... :-((( Napravio sam nesto u kodu, ali to nije to... prenese, ali jedno po jedno...
[ Zoran.Eremija @ 06.05.2012. 11:06 ] @
Mozete li da detaljnije opiste ulogu te vrste dokumenta "Prenos interne blagajne"?!?!?
[ nenadmarkoni @ 06.05.2012. 13:54 ] @
Iznos zaduzenja se moze uplatiti i u "Internu blagajnu", koja se na kraju mjeseca grupno( kao neka vrsta pazara, bez placanja bankarske provizije na uplatnice) prenosi na zajednicki racun zgrade.
[ nenadmarkoni @ 06.05.2012. 19:02 ] @
Jos jedno pitanje:
Napravio sam Datasheet Formu Obveznici_DS , gdje bi dvoklik na Naziv obveznika trebalo da otvori formu Partner gdje je PartnerID= Me.PartnerID, medjutim posto je to forma sa dva Tab Control-a ovo ne funkcionise?
[ Zoran.Eremija @ 06.05.2012. 20:18 ] @
Pogledajte PrenosIB, kao i Obveznici_DS.
[ nenadmarkoni @ 06.05.2012. 20:54 ] @
Ipak nije:
Citat:
Zoran.Eremija: Ne treba nista od toga :-)
:-)!Ipak je trebao Update Query.
Ok,
Moje "znanje" je ipak premalo, a ovo je ipak prejak projekat za mene... Moj konačan odgovor je "ODUSTAJEM!".
I onako sve sto je urađeno da valja u ovoj bazi djelo je Zorana.Eremije! Jos jedan dokaz njegove izdrzljivosti sa dosađivanjem početnika.
Zao mi je ako sam nekoga razocarao!!!
[ Zoran.Eremija @ 07.05.2012. 08:43 ] @
Kao sto vidite poslovni proces koji ste odabrali da bi naucili Access je dosta slozen. Obicno svi polaze od faze Access-a ili programiranja. U vasu temu sam usao onog tenutka kada ste prikazali model koji je bio uradjen u ERwin-u. Tim cinom ste ukazali da niste krenuli od faze Aplikativnog modeliranje vec od faze Informacionog modeliranja i jos koriscenjem jednog od poznatih CASE alata za informaciono modeliranje. Zbog slozenosti realnog sistema koji posmatrate, neophodno je da se vratite korak nazad i da napravite funkcionalnu analizu tj Funkcionalno modeliranje.

Da bi se jedan realni sistem koji je relativno slozen mogao aplicirati neophodno je da se prodju sve faze projektovanja. Takodje sam proces projektovanja ima svoje preduslove. Jedan od najvaznijih uslova je visegodisnje iskustvo u oblasti razvoja informacionih sistema, kao i zivotno iskustvo iz realnog sveta. Smatra se da se projektovanjem ne moze baviti neko ko ima manje od 35 godina starosti. Zadovoljenjem ovog preduslova svakako podrazumeva i zadovoljenje i iskustvo u primeni znanje iz razlicitih metoda i pravila.

Ako niste zadovoljili najvaznije uslove, to ne znaci da treba odustati, vec znaci da neka pravila koja su opet iskustvom stecena treba postovati i primeniti ih. Vi ste upravo tako i postupili, sto cinjenica za interesovanjem koriscenja literature to potvrdjuje.

Kada su pravila u pitanju tu nastaju izazovi. Razvoj automatizovanih informacionih sistema ili da budem malo jasniji primena racunara u oblasti apliciranja poslovnih funkcija, je realtivno mlada naucna disciplina (50-60 godina) i jos uvek ne postoji jasno definisana metodologija koja bi u potpunosti zadovoljila potrebe razvoja. Postoje vise pravaca koji se izucavaju na nasim fakultetima, kao i u svetu. Otuda potreba za iskustvom. Oni koji imaju iskustva primenjuju kombinaciju metoda iz vise metodologija u zavisnosti od samog problema realnog sistema.

Daklem, ako se vratite, neki fazni korak nazad to ne znaci gubitak vec sigurni dobitak.
[ nenadmarkoni @ 07.05.2012. 17:54 ] @
Hvala Vam na savjetima i podršci. Ipak ću prvo probati da uradim primjere iz knjige koju mi je preporučio @Zidar, i još po nešto pa ću tada opet pokušati. U suštini sam, u životu ,najbolje učio uz praktične primjere koji su mi trebali. Tako sam naučio koristiti dosta programa, pa sam i ovaj put pokušao na taj način, ali je Access malo zahtjevniji najprije zbog pomenutih "pripremnih" radnji. U svakom slučaju nisam trajno odustao, ali uz sve obaveze to malo teže ide. U svakom slučaju Vam Hvala!
[ nenadmarkoni @ 12.05.2012. 20:46 ] @
Dobar tekst koji sam pronasao na internetu
[ nenadmarkoni @ 31.10.2012. 18:51 ] @
Posle napornog ljeta evo mene opet sa pokusavanjem. Po savjetu @Zorana.Eremije , vratio sam se na funkcionalno modelovanje i pokusao napraviti model u BPWin-u. Fajl je u prilogu pa bih molio da pogledate.
[ Zoran.Eremija @ 01.11.2012. 20:07 ] @
Za pocetak je odlicno. Ja sam koliko mi je vreme dozvolilo malo Vam prekomponovao procese i dao u prilogu. Treba ispisati izvestaje i mozda ako neki termini i pojmovi nisu u skladu sa vasim realnim sistemom treba ih preformulisati. Za one koji mozda ne koriste CASE alat BPwin generisao sam funkcionalni model u PDF. Verzija BPwin-a koju koristim je 7.3.
[ nenadmarkoni @ 02.11.2012. 11:02 ] @
Zahvaljujem Zorane, i ocekivao sam slican odgovor i Vas drugaciji pogled na problematiku. Medjutim,iako vidim mnogo vecu logicnost Vaseg modela u odnosu na moj imam odredjene teorijske nejasnoce. Najprije nepostojanje ulaznih strelica na mnogim mjestima. Znam da se dozvoljava njihovo nepostojanje, ali po knjigama "kontrole uticu na aktivnost ali ne mogu biti upotrebljene ilu transformisane",kao i "Odgovoran, pod kontrolom od ulaza pravi izlaze". Ovo pitam naprosto da bih razumio ove teirijske navode. U ovom modelu su izostavljene evidencije 'Radnih akcuja' i 'Vodjenje djelovodnika, koje bih ja volio imati u buducoj aplikaciji .Da li ih vidite kao dio neke od navedenih aktivnosti pa ih namjerno niste ukljucili u model ili ste ih previdjeli?
[ nenadmarkoni @ 02.11.2012. 11:26 ] @
Za vikend cu se potruditi da napravim jedan Word dokument u kom cu pokusati da opisem posmatrani "realni sistem" sa osvrtom na primjenjivi i u praksi neprimjenjeni dio zakona. Pokusacu da prikazem i prateca dokumenta( Koja je zakon propisao kao i ona koja sam ja napravio i vodim ih u Excelu trenutno), kao i licnu viziju buduce aplikacije koja bi po meni vise trebala da prati realno stanje u ovoj oblasti(poprilicno haoticno),nego ono sto je opisano u zakonu.
[ Zoran.Eremija @ 02.11.2012. 11:56 ] @
Mozda sam neku ulaznu strelicu propustio, a principijelno po metodologiji sve strelice sem izlaznih su ULAZ pa i kontrole.
[ nenadmarkoni @ 02.11.2012. 13:07 ] @
Teorija vs. Praksa !
[ nenadmarkoni @ 02.11.2012. 18:20 ] @
Dodao sam i izmjenio par sitnica. Da li moze ovako?
[ Zoran.Eremija @ 03.11.2012. 13:42 ] @
Dodadoh i ja i malo sam pojmovno korigovao. Principijelno svaki proces-aktivnost-funkcija predstavlja cin radnje te se imenuje glagolski i uvek u jednini. Strelice su nosioci informacija i predstavljaju imenice. Gde god je to moguce i one se imenuju u jednini.
[ nenadmarkoni @ 03.11.2012. 22:26 ] @
Samo sam dodao još jednu strelicu na Evidentiranju zaduženja - Informacije od Agencije za stambeno poslovni fond, od koje smo se odvojili i koje se vodila evidencija. Takođe sam uklonio jednu strelicu koja je vjerovatno greškom bila postavljena na Evidentiranju zaduženja- Ugovor o saradnji. Mislim da je sve ostalo savršeno.
Sutraako uspijem postavljam obećani Word fajl sa dodatnim objašnjenjima.
[ nenadmarkoni @ 04.11.2012. 15:37 ] @
Obećani fajl i bp fajl( dodao sam na izvjestavanje mjesecni racun, iako bi se on mogao svrstati u finansijske izvjestaje).
Ne zamjerite ako nije lijepo napisano, ipak sam ja samo zanatlija!

[Ovu poruku je menjao nenadmarkoni dana 04.11.2012. u 17:10 GMT+1]
[ nenadmarkoni @ 04.11.2012. 16:56 ] @
Da li bi na osnovu ovog funkcionalnog modela trebalo nesta mijenjati u postojećem inforamcionom modelu?
[ Zoran.Eremija @ 04.11.2012. 20:05 ] @
Da cini mi se da je to. Ja imam neku verziju modela malo noviju od ove koju ste prikazali. Ne secam se sada detalja. Posto sam u drugim obavezama evo saljem Vam je pa pogledajte.
[ nenadmarkoni @ 05.11.2012. 21:45 ] @
Izmjene...Novi pokusaj... Javljam se kad stignem sa aplikacijom do nivoa na kojem je bio u prethodnom pokusaju
[ Zoran.Eremija @ 06.11.2012. 20:02 ] @
Malo sam korigovao model. Entitet Funkcija je u vezi sa entitetom FizickoLice preko mesovitog entiteta VrsilacFunkcije. U entitetu Partner izbacio sam atribut Upravnik. Povezao sa entitete FizickoLice i PravnoLice tako da se moze znati kojem pravnom licu pripada fizicko lice.
[ nenadmarkoni @ 06.11.2012. 21:39 ] @
Za vezu entiteta Funkcije ste potpuno u pravu, treba je vezati za entitet FizickoLice. Međutim, mislim da je u ovom slučaju veza između entiteta PravnoLice i FizičkoLice nepotrebna jer u realnom sistemu rijetko se desava da je evidentirani partner-fizičko lice pripadnik nekog partnera-pravnog lica(Obveznik, Saradnik ili Zakupac) a taj podatak nam nije mnogo bitan i upotrebljiv. Atribut Poslodavac u entitetu FizickoLice stavljen je jedino zbog navoda u eventualnom izvrsnom postupku kao podatak sudu.(u slucaju da je penzioner, u atributu Poslodavac bi bio FOND PIO).
[ Zoran.Eremija @ 06.11.2012. 22:20 ] @
Propustio sam da obrisem atribut Poslodavac u entitetu FizickoLice. Pravilo je kod preslikavanja relanog sveta u informacioni, da ako imate i samo jedan jedini slucaj neke pojave, da se smatra da je to opsta pojava i da se to mora uzeti u obzir. Pa i sami navodite slucaj penzionera. Slazem se da deluje komplikovano, posebno imajuci u vidu ko ce biti odgovoran i istrajan za odrzivost podataka u sistemu. Naravno odluku o ovome daje odgovor na pitanje "Koja je funkcija cilja posmatranog sistema?".
[ nenadmarkoni @ 07.11.2012. 08:55 ] @
Gospodine Zorane ,molim Vas da me ne razumijete pogresno. Sigurno je da ste u pravu, jer svaka vasa sugestija ima razlog koji je sigurno dokazan u Vasem dosadasnjem iskustvu. Moje sugestije se zasnivaju jedino na amatersko-laickom posmatranju konkretnog realnog sistema - Moje zgrade i zahtjeva vezanih za nju. Svemu tome doprinosi i to sto ste naveli - strah od dodatnog komplikovanja modela. Ono sto ja navodim je da da su,konkretno za moju zgradu, podaci koji su su vezani za Poslodavca odredjenog fizickog lica u dovoljnoj mjeri sadrzani u jednom jedinom atributu entiteta Fizicko lice- Naziv poslodavca.
[ nenadmarkoni @ 07.11.2012. 09:49 ] @
Iz istih razloga, razmisljajuci o stvarnim potrebama konkretno posmatranog realnog sistema - moje zgrade, sam uklonio na prethodno prikazanom modelu neke entitete i atribute. Entitet StavkeDokumenta i za nega vezane entitete, jer nema posebne potrebe za pojedinacnom evidencijom stavki placanja nekog rada ili troska (to ce svakako biti naznaceno u ulaznim dokumentima - fakturama saradnika),a kroz atribute entiteta Dokument u dovoljnoj mjeri ce biti opisano. Uklonio sam i datume na vecini zavisnih entiteta, jer se mogu za te potrebe iskoristiti datumski atributi entiteta Dokument. Zelio bih da kroz ovaj dijalog dodjemo do finalne verzije informacionog modela, da bih mogao razmisljati o sledecem nivou postupka realizacije -"pokusaju" pokrivanju modela formama i upitima i "pokusaju" crtanja Dijagrama aplikacije.
[ Zoran.Eremija @ 07.11.2012. 10:25 ] @
Moram da priznam da nisam detaljno pogledao model. Sva sreca da ste se bas uvukli u proces analize. Sto se atributa koji se ponavljaju u Generalizovanom entitetu i specijalizovanim entitetima u potpunosti ste u pravu. A sto se tice entiteta DokumentStavka, da li je potreban ili ne, pravi odgovor bih mogao da dam tek kada bih razumeo entitet VrstaZaduzenja, tj koja je njegova uloga i sta bi on sadrazavao, koje podatke?

[ nenadmarkoni @ 07.11.2012. 11:26 ] @
1. Redovno mjesecno zaduzenje
Ova vrsta zaduzenja je definisana kroz clan 10 Zakona o stanovanju i odrzavanju stambenih zgrada Crne Gore. Duznost je etaznih vlasnika, da kao akontaciju za troskove redovnog odrzavanja,hitnih i nuznih radova, na zajednicki racun uplacuju iznos koji se dobija mnozenjem kvadrature posebnih prostorija i iznosa bodova. Iznos boda odredjuje Skupstina vlasnika a zakon je propisao da ne moze biti manja od 0,20 Eura. Takodje je propisao da se za stanove obracunava 1bod/m2, a za poslovne prostorije 3boda/m2.
2.Vanredno zaduzenje
Ova vrsta zaduzenja nije jasno definisana u zakonu. U ovu grupu se mogu ubrojati : Zaostalo dugovanje koje je nastalo i evidentirano kod bivseg upravitelja- Agencije za stambeno poslovni fond; Eventualno kreditno zaduzenje kod poslovne banke, koje bi bilo podjeljeno zavisno od namjene koriscenja prema kvadraturi ili prema broju clanova domacinstva; Slucajevi kada je etazni vlasnik kriv za nastanak stete, a Skupstina po odluci i ugovoru rjesila problem zajednickimsredstvima koja bi vlasnik vracao kroz ovo zaduzenje...
Nadam se da sam objasnio :-D
Dosta toga sam opisao u Word fajlu koji je zakacen u prethodnim postovima, i u njemu dao prikaz nekih dokumenata koji se trenutno vode u Excelu.
[ nenadmarkoni @ 07.11.2012. 12:04 ] @
Sto se tice procesa analize, da i tu dam komenter. U proslom pokusaju sam "pretcao" ovaj dio, pa mi je na kraju pokusaja mozak dosao u stanje totalne konfuzije i blokade. Ovaj put cu pokusati prethodno da ,uz Vasu pomoc i pomoc ostalih clanova foruma ,uradim sve prethodne analize i nacrte prije nego krenem u pokusaj izrade aplikacije. Ne znam da li svi developeri to rade pri projektovanju aplikacije, ali AppDiagram koji je prikazao @Zidar u nekim temama je fenomenalna stvar.Ako na "papiru" ne uspijem osmisliti izgled buducih formi, njihovu povezanost i funkcionisanje buduce aplikacije, onda sigurno nece uspjeti ni njeno pravljenje u Access-u.
[ Zoran.Eremija @ 07.11.2012. 12:19 ] @
Citat:
nenadmarkoni:
1. Redovno mjesecno zaduzenje
2.Vanredno zaduzenje


Vec ova cinjenica govori da postoji vise od jedne vrste zaduzenja. U primeru dokumenta koji ste dali imate Racun iz kojeg se vide stavke gde se vidi da u stavkama postoje 4 pojavna oblika.

Zakljucak:
Vas Dokument bi u slucaju kada je VrstaDokumenta="Zaduzenje", imao vise stavki pa otuda potreba da se uvede slab egzistencijalno zavisann entitet DokumentStavka koji bi u sebi imao opisni atribut u kljucu PredmetPoslovanjaID kao strani kljuc iz entiteta PredmetPoslovanja u kojem bi se taj opis jednoznacno definisao u atributu NazivPredmetaPoslovanja.

ID NazivPredmetaPoslovanja
1 Redovno mjesecno zaduzenje
2 Vanredno zaduzenje
3 Prethodni dug
...

U tom slucaju entitet VrstaZaduzenja je suvisan i vrednosti koje ste naveli gore bi se nalazile u entitetu PredmetPoslovanja. Otuda potreba za entitetima DokumentStavka i PredmetPoslovanja
[ nenadmarkoni @ 07.11.2012. 14:12 ] @
Ok. Shvaceno, prihvaceno. Ovaj entitet ce ujedno biti najkomplikovaniji za rjesavanje u buducoj aplikaciji. Evo zbog cega:
obzirom da se redovno mjesecno zaduzenje sprovodi bez obzira na sve, osim totalne propasti zgrade, te da se izracunava na osnovu definisanog iznosa boda, kvadrature i vrste prostora , potrebno je programirati da se ovo odradi u jednom prolazu za sve obveznike, jer bi pojedinacno bilo besmisleno.
vanredno zaduzenje, ako se zaduzuje za sve obveznike takodje treba da se odradi u jednom prolazu, sa opcijama za raspodjelu po m2 ili broju clanova uz definisani broj rata.
Zatim pracenje preostalih rata, zaostalog duga...
Da ne spominjemo da obveznik moze platiti manje ili vise od iznosa na racunu...gdje tu sta i od ceza oduzeti... ali otom potom :'(
[ nenadmarkoni @ 07.11.2012. 16:37 ] @
Da zakljucimo, ovo je dakle finalni informacioni model za drugi pokusaj. Ako neko ima dodatnih sugestija samo izvolite.
[ Zoran.Eremija @ 07.11.2012. 22:36 ] @
Citat:
nenadmarkoni:
Ovaj entitet ce ujedno biti najkomplikovaniji za rjesavanje u buducoj aplikaciji. Evo zbog cega:
obzirom da se redovno mjesecno zaduzenje sprovodi bez obzira na sve, osim totalne propasti zgrade, te da se izracunava na osnovu definisanog iznosa boda, kvadrature i vrste prostora , potrebno je programirati da se ovo odradi u jednom prolazu za sve obveznike, jer bi pojedinacno bilo besmisleno.
vanredno zaduzenje, ako se zaduzuje za sve obveznike takodje treba da se odradi u jednom prolazu, sa opcijama za raspodjelu po m2 ili broju clanova uz definisani broj rata.
Zatim pracenje preostalih rata, zaostalog duga...
Da ne spominjemo da obveznik moze platiti manje ili vise od iznosa na racunu...gdje tu sta i od ceza oduzeti... ali otom potom :'(


Da do sada smo se bavili statikom sistema, a ovo navedeno je dinamika. Postoji resenje i za dinamiku, s time da se koliko god je moguce i ona izmodelira imajuci u vidu sva moguca pravila. Malo sam ovih dana u guzvi treba videti na koji nacin modelirati zaduzenje. Vec sada vidim da nedostaje entitet Mesec, koji je roditelj...
[ nenadmarkoni @ 08.11.2012. 06:03 ] @
...entiteta Zaduzenje. Ali nisam siguran da ce moci tako...moram malo da razmislim...
[ nenadmarkoni @ 08.11.2012. 11:26 ] @
Evo jedan Flowchart za Redovno mjesecno zaduzenje, napravicu i za ostale slucajeve...
Mala greska, ponovljeno je 2 puta "Dugovanje je u 1 kriticnoj tacki" , a trebalo je u 2. slucaju "2".

[Ovu poruku je menjao nenadmarkoni dana 08.11.2012. u 12:36 GMT+1]
[ nenadmarkoni @ 08.11.2012. 22:23 ] @
Jos jedan - Pripis zaostalog dugovanja kod bivseg upravitelja, Agencije za SPF
[ nenadmarkoni @ 09.11.2012. 11:05 ] @
Obzirom da je opet preskocena jedna aktivnost- Definisanje toka podataka, opet povratak na Bpwin, koji ce moguce dovesti do izmjene ER modela i uvodjenja novih entiteta. Je li tako?
[ Zoran.Eremija @ 09.11.2012. 22:33 ] @
Tako je, treba azurirati funkcionalni model u BPwin-u s time da Vam napomenem da je BPwin CASE alat koji u sebi ima implementiranu IDEF0 metodologiju koja predstavlja procesni tj. funkcionalni pristup i procesi se posmatraju paralelno za razliku od dijagrama toka podataka.
[ nenadmarkoni @ 09.11.2012. 23:10 ] @
Nisam bas razumio ovu napomenu? Trazio sam po forumu i internetu neki konkretan primjer DFD-a u BPwin-u ali nisam uspio pronaci, ako Vi znate za neki molio bih da me uputite.
[ Zoran.Eremija @ 10.11.2012. 16:34 ] @
U BPwin-u DFD metodologija se koristi tek na najnizem nivou dekompozicije ili kako kaze sama metodologija opisuje se primitivni proces DFD metodom. Koristim BPwin od samog pocetka negde od 1993. godine i probao sam da opisem neke slucajeve DFD metodom i zakljucio sam da je to gubitak vremena. Kada dodjem do primitivnog procesa obicno tada prelazim na koriscenje ERwin Data Modellar i prakticno kreiram Subject Area-u sa imenmo tog primitivnog procesa i modeliram. To Vam je i moj savet. Nijedna metodologija nije idealna pa ni ove i prakticno u praksi kako kartarosi kazu podvucem crtu (refu) i prelazim na drugu. Posebno kod nas jer ne postoji dovoljni nivo kulture razumevanja potrebe za projektovanjem vec svi krenu od slike forme kako oni koji nesto zele tako i mladje kolege programeri koji vole kodiranje.

U praksi ako je manji sistem tj manji zahtev onda direktno krenem u ERwin a ako je neki veci sistem ili veci zahtevi onda obavezno radim funkcionalnu analizu koriscenjem BPwin-a. Nazalost direktna veza izmedju BPwin i Erwin-a ne postoji (ima nesto uslovno), vec koristim logicku vezu da bih lakse vladao sa modelom podataka.
[ nenadmarkoni @ 10.11.2012. 22:12 ] @
Prateci rad korisnika Biske86 dosao sam do programa Enterprise Architect, pa cu (opet prateci njegov rad ) pokusati da primitivne procese obradim na način kako je to i on uradio. Nadam se da ce to na nesto da lici, he,he...
[ nenadmarkoni @ 11.11.2012. 21:34 ] @
Citat:
Zoran.Eremija: ... zakljucio sam da je to gubitak vremena. Kada dodjem do primitivnog procesa obicno tada prelazim na koriscenje ERwin Data Modellar i prakticno kreiram Subject Area-u sa imenmo tog primitivnog procesa i modeliram. To Vam je i moj savet.

Probao, i nesto slicno zakljucio...
Nije da nema svoju svrhu,ali mislim da ste 100% u pravu. Postavljam ERwin model sa SubjectArea-ma i za one koji nemaju ovaj alat PDF fajl. Entitet mjesec sam povezao sa entitetom Zaduzenje onako kako ja mislim da ce biti funkcionalno. Ima li koja greska, jel po Vasem misljenju treba jos nesto raditi na ovom modelu?

Upravo sam primjetio da sam bio raskinuo vezu izmedju entiteta Zaduzenje i Uplata.

[Ovu poruku je menjao nenadmarkoni dana 11.11.2012. u 22:44 GMT+1]
[ Zoran.Eremija @ 11.11.2012. 23:45 ] @
Ovo je vec dobar diplomski rad...:-)

Malo sam korigovao nazive subject area prema nazivima procesa iz funkcionalnog modela i obrnuto korigovao sam i funkcionalni model.
[ nenadmarkoni @ 12.11.2012. 09:14 ] @
Moracu i ja malo da "dotegnem".:-D U prethodnom postu sam dodao da sam greskom izbrisao neidentifikujucu neobaveznu vezu izmedju entiteta Zaduzenje i Uplata, pa ce Subject Area - Evidentiranje interne uplate,Evidentiranje uplate u banci ,s' tim u vezi dozivjeti izmjene. Opomene i utuzenja su u vezi sa evidentiranim dugovanjem,koje cemo dobiti upitom (zaduzenje-uplata), a medjusobno nisu u vezi, pa ce prema tome biti izmjenjena area Evidentiranje utuzenja.
[ Zoran.Eremija @ 12.11.2012. 09:51 ] @
Kada sve to usaglasite mislim da Vam postaje jasnija logicka veza izmedju funkcionalnog modela i informacionog modela (modela podataka). Ovakva analiza ima svoju upotrebnu vrednost, posebno kod slozenih sistema. Koriscenjem ERwin CASE alata sada prema predmetima rada izdvajate iz recnika entiteta ili globalnog repozitorijuma, one entitete koji su ucesnici u tom pogledu. U neku ruku slozeni repozitorijum buduce baze lako mozete ukrotiti i prakticno krenuti u realizaciju svakog modula funkcionalnosti.

U ERwin-u mozete se odrediti koji cete relacioni model koristiti od ponudjenih, eto mi smo na Access forumu pa je on pretpostavljen i mozete izgenerisati kompletan back-end sa svim pravilima relacionog modela. Takodje kasnije u zivotnom ciklusu Vaseg sistema ako dodje do neke promene tj. prosirenja funkcionalnosti mozete se vratiti u ERwin izmodelirati te promene i nad zivim relacionim modelom tj. nad vec milione unetih podataka izvrsiti promene koje ste definisali u vasem modelu.

Tek nakon ove faze pristupa se realizaciji aplikacija onim alatom u kome imate neka znanja, ako je neko pocetnik toplo preporucujem da krene prvo s Access-om na izradi Front-end objekata.
[ nenadmarkoni @ 12.11.2012. 21:58 ] @
Izmenjeno... mislim da je to to...
[ Zoran.Eremija @ 12.11.2012. 23:24 ] @
Vidim da ste doradili proces 5 IZVJESTAVANJE. dodao sam procese iz 5 IZVJESTAVANJE u ERwin i to bi bilo sada kompletirano.
[ nenadmarkoni @ 13.11.2012. 08:27 ] @
Zamolio bih ako moze neko da konvertuje u pdf ovaj zadnji fajl jer trenutno nisam pri kompjuteru.
[ Zoran.Eremija @ 13.11.2012. 08:49 ] @
Evo i PDF-a
[ nenadmarkoni @ 13.11.2012. 09:39 ] @
Zahvaljujem Zorane!
[ nenadmarkoni @ 13.11.2012. 20:32 ] @
Pokrivanje modela formama....za pocetak... vidjecemo koje ce jos trebati, idemo ispocetka u novi pokusaj, malo drugacije ...bice i dijagram aplikacije...
Sta mislite da li treba vratiti atribute sifra u sifarnicima u kojima nedostaju ( RadniOdnos, VrstaProstora...)?

Propustio sam entitet DnevniRed - DS.
[ Zoran.Eremija @ 13.11.2012. 21:15 ] @
Citat:
nenadmarkoni: Pokrivanje modela formama....za pocetak... vidjecemo koje ce jos trebati, idemo ispocetka u novi pokusaj, malo drugacije ...bice i dijagram aplikacije


Ovakvo razmisljanje je pravi put, nista se tada ne prepusta slucaju, moze da se planira i manajj je sansa da se nesto propusti iako i vrsnima se desi da propusti nesto.

Citat:
nenadmarkoni: Sta mislite da li treba vratiti atribute sifra u sifarnicima u kojima nedostaju ( RadniOdnos, VrstaProstora...)?


Mozda deluje naporno ali verujte da se uvek isplati biti dosledan. Svaki entitet koji je roditelj i ima ulogu sifre pozeljno je da je opisan sa min tri atributa:

ID
Sifra
Naziv

A sada ono glavno, model koji ste postavili predstavlja fundament celog sistema sa svim pravilima relacionog modela. Da bi realizacija bila uspesna u potpunosti ponekad se od takovog modela odstupa tj popusta i prilagodjava se efikasnijoj realizaciji. Kod Vas je to slucaj sa problemom zaduzivanja i mozda bi tu mogao model da se prosiri.

Eto malo za razmisljanje.
[ nenadmarkoni @ 13.11.2012. 21:34 ] @
Citat:
Zoran.Eremija:  Kod Vas je to slucaj sa problemom zaduzivanja i mozda bi tu mogao model da se prosiri.

Eto malo za razmisljanje.


...ne samo u zaduzivanju nego i u razduzivanju...
Slican problem je predstavljen u temama Caffe i Maloprodaja, ...pomalo prelistavam, razmisljam i trazim resenja... :-)
[ nenadmarkoni @ 14.11.2012. 07:59 ] @
Obzirom da postoji vise vrsta zaduzenja, koje se prikazuju kao stavke na racunu,te da su neke po logici stvari u rastu(redovno zaduzenje), a druge u stagniranju ili opadanju(zaostali dug,vanredno zaduzenje) trebalo bi i razduzenje(uplate) da kroz stavke uplate tacno ukazuju koje zaduzenje razduzuju. U djelu uplate uopste ,opet se javlja vise vrsta - uplata u internu blagajnu i uplata u banku. Pa i uplata u banku ima vise podvrsta: uplatu stanara, prenos po sudskom izvrsenju, spoljnu uplatu (kredit,donaciju, prenos sredstava od bivseg upravitelja, prihod od izdavanja zajednickog prostora...). Moguce rjesenje vidim jedino u dodavanju tabele koja bi ,uslovno, vezala stavke zaduzenja i uplate te na taj nacin uslovljavala pracenje razduzenja(stanje duga po stavkama)! Moguce je,mozda, dodati novi sifarnik koji bi "upario" vezane stavke zaduzenja i uplate u entitetu PredmetPoslovanja.
ps. Pomalo sam zbunjen :-D

[Ovu poruku je menjao nenadmarkoni dana 14.11.2012. u 09:31 GMT+1]
[ nenadmarkoni @ 14.11.2012. 08:49 ] @
Jos je jedno diskutabilno pitanje vezano za problen zaduzenje-razduzenje.
Primjer:
Stavke zaduzenja na racunu:
1.Redovno mjesecno zaduzenje = 7eura
2. Otplata zaostalog duga=4 eura
3. Otplata zajednickog kredita = 5 eura

Uplata koju izvrsi obveznik,recimo = 10 eura

Pitanje - Sta razduziti? ...i naravno pitanje kako ovo programirati kroz aplikaciju.
[ nenadmarkoni @ 14.11.2012. 08:58 ] @
Mozda za ovaj drugi problem ustanoviti posebnu tabelu gdje bi definisali prioritete pri razduzivanju stavki zaduzenja?...ili kao atribut dodati u Vezane stavke iz prethodnog posta...:|

[Ovu poruku je menjao nenadmarkoni dana 14.11.2012. u 10:16 GMT+1]
[ mkaras @ 14.11.2012. 09:27 ] @
Računovodstvo ne poznaje prioritete tipa važnije je vratiti ratu kredita
nego platiti tekući trošak za održavanje. Vreme dospeća valute (ili
zaduženja) je jedino merilo za određivanje redosleda razduženja. Nikakve
tabele prioriteta i slično.
[ nenadmarkoni @ 14.11.2012. 09:59 ] @
Po meni,onda treba ubaciti citavu jednu "podaplikaciju" izmedju entiteta Dokument stavka i PredmetPoslovanja. Za redovno zaduzenje tu je zahtjev da se u jednom unosu zaduze svi obveznici za odredjeni mjesec, a za vanredna zaduzenja koja se razdvajaju na rate potrebna je posebna tabela koja bi cuvala anuitete tog dugovanja, i append query koji bi razlozio ovo dugovanje i u pomenutu tabelu upisao iznos i datum dospjeca valute.???
A da, tu je i pitanje vansudskog poravnanja i sudskog izvrsenja koji,prakticno, grupisu sva dotadasnja zaduzenja u jedno koje se razlaze na rate.
ps. Jos vise zbunjen, he,he.....
[ srdrazic @ 14.11.2012. 10:14 ] @
Pa zar to još nije gotovo? Ubi me rss feed
[ nenadmarkoni @ 14.11.2012. 10:31 ] @
Pa zar to još nije gotovo? Ubi me rss feed[/quote]
Dosadni? ...e pa sta cemo... :-D
Izvinjavam se onima kojima jesam!
[ Zoran.Eremija @ 14.11.2012. 11:19 ] @
:-) Evo da jos malo iskomplikujemo...

[ nenadmarkoni @ 14.11.2012. 11:48 ] @
...sta reci...
mora biti dobro, majstor je majstor...
[ nenadmarkoni @ 14.11.2012. 13:15 ] @
Ovlas sam analizir'o i odusevljen sam. Vec vidim da ce biti 3 poveca programerska zadatka: petlja koja ce zaduziti sve obveznike u jednom prolazu, upit koji ce razdjeliti dugovanje na rate i obveznike , i kombinacija koja ce objediniti dugovanje pri utuzenju ili vs poravnanju. - forme za svaku... Bice ovde posla za preko zime :-D
[ Zoran.Eremija @ 14.11.2012. 13:24 ] @
Ako malo bolje proucite model shvaticete da Vam ne treba niti jedna petlja. Samo Query-ji INSERT, UPDATE... :-)

Kako rece kolega Zidar najbolja petlja je bez petlje (prevod citata "Najbolji kod je bez kodiranja" - @Zidar).
[ nenadmarkoni @ 15.11.2012. 09:03 ] @
da....entitet obracun ce tome sluziti...
[ Getsbi @ 19.11.2012. 08:15 ] @
Link do ove teme je dodat u Top temu: Kako da definišete projektni zadatak.
[ nenadmarkoni @ 26.11.2012. 22:12 ] @
Kako da pokrenem proceduru Proveri_JMBG, da bi izvrsila provjeru ispravnosti JMBG na PartnerFizickoLice? Probao sam na razne nacine ali nece!
I da li sam dobro napisao kod da mi automatski upise puni naziv poslodavca ako se izabere PravnoLiceID na formi?
[ SLOJ.1973 @ 27.11.2012. 07:03 ] @
Nisam bas pratio citavu temu,ali evo u primeru imas kako iskoristiti funkciju za proveru JMBG-a.Medjutim nisam bas odusevljen tom funkcijom,tj.formom za unos podataka iz nekoliko razloga.Trebalo bi uneti prvo sve podatke o partneru,ime,prezime,pol, datum rodjenja,grad itd pa tek onda JMBG,jer ovako moze ti se desiti da ti je JMBG tacan a stavio si pol recimo MUSKO,a JMBG je od neke ZENE.Probaj sa svojim pa ces videti.Takodje ,koliko sam ja upoznat JMBG je vezan za podrucje, regiju tj.mesto rodjenja.Tako da ti ovaj nacin provere nije bas najsrecniji.Medjutim,trazio si da vidis nacin kako da upotrebis funkciju pa evo ti .Pozdrav.
[ nenadmarkoni @ 27.11.2012. 07:37 ] @
Znam da bi najbolje bilo da se kontrola vrsi na nivou tabele,ali osim nula u Input mask ne bih umio drugo uraditi. A nisam nasao primjer te zastite. Hvala!
[ SLOJ.1973 @ 27.11.2012. 07:48 ] @
Nisam na to mislio vec na nacin kako se odredjuje JMBG.Imas na wikipedi-ji.JMBG.
[ nenadmarkoni @ 27.11.2012. 08:03 ] @
Razumijem, nasao sam mislim @banem-ov primjer provjere jmbg, ali za sad je i ovo dovoljno. Vec sam vidio odredjene probleme sa ovim kodom (ne bi trebalo da prihvati neispravan jmbg, bolje i bez njega nego da upise neispravan; u odredjenim slucajevima greske zablokira aplikaciju...), ali o tom potom. Hvala na odgovoru!
Probavao sam ja i sa ovom linijom koda, ali nisam bio ispraznio tabelu prethodno pa mi iz nekog razloga nije htjelo da proradi.

[Ovu poruku je menjao nenadmarkoni dana 27.11.2012. u 09:27 GMT+1]
[ nenadmarkoni @ 27.11.2012. 10:20 ] @
Nisam bio dobro napisao ni ovo za popunu poslodavca, ali sam rijesio
Me.Poslodavac.Value = DLookup ("[PuniNaziv]","PravnoLice", "[PravnoLiceID]='" &Me.PravnoLiceID &"'")
[ SLOJ.1973 @ 27.11.2012. 12:09 ] @
Evo kako da onemogucis dalji rad na formi dok se ne ukuca ispravan JMBG.Mislim da ce ti koristiti.
[ Zidar @ 27.11.2012. 17:52 ] @
POkusao sam da postavim kontrolu JMBG na nivo tabele i uspeo sam sledece:

1. KOntrolna cifra za JMBG se kontrolise u Validation Rule za kolonu
2. U Validation Rule na nivou tabele kontrolise se datumski deo i deo koji se odnosi na pol osobe

Zakaceni primer ima jednu tabelu koja dozvoljava NULL vrednosti u koloni JMBG, ali ne i duplikate (UNique index). Ako se JMBG unese, onda mora imati dobru kontrolnu cifru i podaci o datumu rodjejna i polu osobe moraju se slagati.

Evo i korisna funkcija pomocu koje generisete slucajni JMBG, koji mozete korsititi u tetsiranju.
Code:

Function Random_JMBG(datDatumRodjenja As Date, strPol As String, Optional intRegion As Integer = 0) As String
'---------------------------------------------------------------------------------------
' Procedure : Random_JMBG
' Author    : Zidar
' Date      : 27-Nov-2012
' Purpose   : generise JMBG za testiranje
' Uslovi    : strPol je ili "M" ili "Z"
'             datDatumRodjenja je izmedju 1 Jan 2015 i 31 Dec 2016
' Iz Wikipedia:
' The number is made up of 13 digits in a form "DD MM YYY RR BBB K" (whitespaces are for convenience; digits are written without separation) where:
'
' DD – day of birth
' MM – month of birth
' YYY – last three digits of the year of birth
' RR – political region [8] of birth (for persons born before 1976, political region where they were first registered)
' BBB - gender, 0-499 for Female, 500-999 for male
' K  - check digit = f (DD,MM,YYY,RR,BBB)
' Example: Random_JMBG (#05/25/1892#,"M",39) - musko dete rodjeno u hrvatskom Zagorju 25 O5 1892
'---------------------------------------------------------------------------------------
'
Dim JMBG As String
Dim CheckDigit As Integer
Dim M As Integer
Dim K As Integer


On Error GoTo Random_JMBG_Error
Randomize

If Not (strPol = "M" Or strPol = "Z") Then
Random_JMBG = ""
MsgBox "POgresno unesen POL, prihvataju se samo vrednosti M ili Z!"
Exit Function
End If

If datDatumRodjenja < #1/1/1850# Or datDatumRodjenja > #12/31/2099# Then
    Random_JMBG = ""
    MsgBox "POgresno unesen DatumRodjenja, prihvataju se samo vrednosti izmedju 1 Jan 1850 i 31 Dec 2099!"
    Exit Function
End If

'deo  DD MM YYY
JMBG = Format(Day(datDatumRodjenja), "00")
JMBG = JMBG & Format(Month(datDatumRodjenja), "00")
JMBG = JMBG & Right(Format(Year(datDatumRodjenja), "0000"), 3)

'Political region RR, randoly selected in range 10-19.
If intRegion = 0 Then
intRegion = 10 + Int((9 * Rnd) + 0)
End If

JMBG = JMBG & Format(intRegion, "00")
'I will choose Sarajevo, for tetsing purposes


'deo BBB
If strPol = "Z" Then
    JMBG = JMBG & Format(Int((499 * Rnd) + 0), "000")
Else
    JMBG = JMBG & Format(500 + Int((499 * Rnd) + 0), "000")
End If

Random_JMBG = JMBG
M = 11 - (7 * (Val(Mid([JMBG], 1, 1)) + Val(Mid([JMBG], 7, 1))) _
            + 6 * (Val(Mid([JMBG], 2, 1)) + Val(Mid([JMBG], 8, 1))) _
            + 5 * (Val(Mid([JMBG], 3, 1)) + Val(Mid([JMBG], 9, 1))) _
            + 4 * (Val(Mid([JMBG], 4, 1)) + Val(Mid([JMBG], 10, 1))) _
            + 3 * (Val(Mid([JMBG], 5, 1)) + Val(Mid([JMBG], 11, 1))) _
            + 2 * (Val(Mid([JMBG], 6, 1)) + Val(Mid([JMBG], 12, 1)))) Mod 11

If M >= 1 And M <= 9 Then
    K = M
    JMBG = JMBG & Format(K, "0")
    Random_JMBG = JMBG
    Exit Function
End If

If M = 1 Then
    K = 0
    JMBG = JMBG & Format(K, "0")
    Random_JMBG = JMBG
    Exit Function
End If

If M = 10 Then
    Random_JMBG = ""
    MsgBox "Problem! Izracunata kontrolna cifra = 10, sto ne sme da se desi! Greska je negde u ulaznim podacima!"
    Exit Function
End If


EXIT_HERE:
   On Error Resume Next
   Exit Function

Random_JMBG_Error:
  Select Case Err
  Case Else
    MsgBox "Error " & Err.Number _
          & " (" & Err.Description _
          & ") in procedure Random_JMBG of Module Module1"
  End Select
  Resume EXIT_HERE


End Function



[ nenadmarkoni @ 27.11.2012. 22:32 ] @
Nesta ne valja u ovom primjeru. Moj maticni broj prepoznaje kao zensko.
Pokusao sam i da ga ubacim u moju tabelu,ali mi daje poruku o gresci! Prilicno je maltretiranja oko JMBG, a to mi nije prioritet u slucaju ove aplikacije pa sam za sad ostavio ove prethodno upisane procedure iako pomalo zezaju.
Probao sam da pozovem proceduru za provjeru PIB-a ali izgleda da nista ne provjeri???
Ovaj amater ide dalje sa izgradnjom aplikacije a to za sada izgleda ovako....

[ Zoran.Eremija @ 27.11.2012. 23:23 ] @
Ima dosta resenja kada je provera JMBG-a u pitanju. Jedno je ono sto je pisac zamislio a drugo je realni zivot. Na prostoru bivse Jugoslavije bilo je dosta neispravnih JMBG-a kao i duplikata. U prilogu sam Vam odabrao funkciju provere JMBG-a koju sam usvojio i vrsi funkciju, takodje sam Vam ubacio i uzimanje pola i datuma rodjenja iz JMBG. Treba napomenuti da postoje slucajevi gde u JMBG stoji jedan datum rodjenja a u stvarnosti se datum rodjenja razlikuje...

Sto se PIB broja tice poreski identifikacioni broj se sastoji od 9 cifara a ne od 8 kako je u definiciji polja u tabeli PravnoLice stajalo.
[ SLOJ.1973 @ 28.11.2012. 06:27 ] @
Citat:
Zoran.Eremija
Sto se PIB broja tice poreski identifikacioni broj se sastoji od 9 cifara a ne od 8 kako je u definiciji polja u tabeli PravnoLice stajalo.

Nisam siguran,ali mislim da u Crnoj Gori PIB se sastoji od 8 cifara,a kolega nenadmarkoni je iz Crne Gore,tako da bi trebalo vratiti njegovu definiciju polja.Pozdrav i ne zamerite.
[ nenadmarkoni @ 28.11.2012. 08:08 ] @
@Sloj.1973 je u pravu. U Crnoj Gori PIB sadrzi 8 cifara. Mozete posjetiti sajt na ovom linku http://www.crps.me/index.php/me/pretraga-registra, i ukucati PIB 02830043 sto je npr. PIB Lovcen osiguranja. Ovlas sam jutros pogledao izmjene. Cini mi se da ne prijavljuje greske koje je prethodno javljalo. Hvala.
[ nenadmarkoni @ 28.11.2012. 08:25 ] @
Postoje i slucajevi kad se lice smatra pravnim licem, ali nije poreski obveznik pa nema PIB . Slucaj advokata,nvo, stambenih zgrada. U tom slucaju se uzima jmbg osnivaca kao maticni broj pravnog lica
[ Zoran.Eremija @ 28.11.2012. 08:56 ] @
Da da kolega @SLOJ.1973, moj previd je u pitanju. U tom slucaju funkcija ProveraPIB nije adekvatna.
[ captPicard @ 28.11.2012. 09:47 ] @
Ako smijem dati savjet. Imao sam dosta problema sa funkcijom za provjeru JMBG-a (duplikati, HMBG točno prepisan ali ne odgovara kontrolni broj), na kraju sam napravio da se korisniku samo javi poruka da JMBG nije ispravan, ali da korisnik može snimiti podatke, a ne da se korisniku onemogućuje snimanje ukoliko ne prođe provjera JMBG-a. Mislim da je to najbolje rješenje u praksi.
[ Zoran.Eremija @ 28.11.2012. 10:45 ] @
Da slazem se sa kolegom @captPicard samo upozorenje i to je to...
[ blingaro @ 28.11.2012. 15:55 ] @
Ja sam se u praksi susretao sa strancima kojima MUP dodeljuje privremene JMBG-ove, koji sigurno ne prolaze kontrolu.
[ nenadmarkoni @ 28.11.2012. 19:20 ] @
Treba mi pomoc oko Trim funkcije. Kako da za djelovodni broj dobijem sledece: ID-VrstaPrijemaID/Godina ; znaci djelovodni broj npr.: 1-1/2012 za prvi dokument u primljenim dokumentima
ili 1-2/2012 za prvi dokument u poslatim dokumentima...
[ SLOJ.1973 @ 28.11.2012. 20:04 ] @
Ako može mala sugestija prilikom postavljanja pitanja:Navedi gde treba da se nalazi željena funkcija,u tabeli,u upitu,na formi a takođe i naziv objekta,jer potroših dobrih 10-tak minuta da pronađem gde želiš da je upotrebiš.Nadam se da sam pogodio:u upitu qDjelovodnik. Kod je sledeći:
Code:
DjelovodniBroj: [ID] & "-" & [VrstaDokumenta]![VrstaPrijemaID] & "/" & [Godina]
.Pozdrav.
[ nenadmarkoni @ 28.11.2012. 22:52 ] @
Izvinjavam se na nepotpunom pitanju, i na kasnjenju sa odgovorom. Ne treba mi u upitu, vec na formi, kao vrijednost polja koje bi se na taj nacin samo popunilo ispravnim djelovodnim brojem. Nesto tipa Me.DjelovodniBroj.Value= Trim([ID]....
Na formi imaju sva tri polja (Iz njih uzima podatke i DokumentID)... dok malo sredim ovaj haos koji sam napravio praveci ostale forme pa cu okaciti aplikaciju sa tim djelom, u svakom slucaju hvala... ps.Sramota da okacim u ovom stanju u kojem je sad , he,he...
[ Zoran.Eremija @ 29.11.2012. 07:14 ] @
Citat:
nenadmarkoni: Izvinjavam se na nepotpunom pitanju, i na kasnjenju sa odgovorom. Ne treba mi u upitu, vec na formi, kao vrijednost polja koje bi se na taj nacin samo popunilo ispravnim djelovodnim brojem. Nesto tipa Me.DjelovodniBroj.Value= Trim([ID]....
Na formi imaju sva tri polja (Iz njih uzima podatke i DokumentID)... dok malo sredim ovaj haos koji sam napravio praveci ostale forme pa cu okaciti aplikaciju sa tim djelom, u svakom slucaju hvala... ps.Sramota da okacim u ovom stanju u kojem je sad , he,he...


Pre ovog pitanja trebalo bii da se razresi prethodno pitanje, a to je uloga Dokumenta. Entitet Dokument je izmedju ostalog generalizovan zbog zadovoljenja funkcionalnosti "4.2 VODJENJE DJELOVODNIKA DOKUMENATA". On zbog toga ima dodeljene osobine preko VrstaDokumenta, a ona i VrstaPrijema, DjelovodniBroj i Godina i sa svim tim osobinama u potpunosti preslikava funkcionalnost 4.2.
Podaci u tabeli VrstaDokumenta kako ste definisali nije dobra



Ona treba da izgleda za sada ovako



Na ovaj nacin vec unapred imate definisane osobine te na osnovu njih tada mozete da se bavite dodeljivanjem vrednosti polja DjelovodniBroj na isti nacin kako smo to ranije uradili za DokumentID.
[ nenadmarkoni @ 29.11.2012. 08:26 ] @
Zbunjen! :-(
Entitet VrstaPrijema je uveden jedino zbog vodjenja djelovodnika, ne zbog ostalih "dokumenata". U sustini po meni je logicnije entitet VrstaPrijema vezati direktno za entitet Dokument preko neobavezne neidentifikujuce veze a u VrstaDokumenta dodati atribut Djelovodnik.
[ nenadmarkoni @ 29.11.2012. 08:40 ] @
Greska. Ne atribut vec zapis. Znaci kao jos jednu vrstu dokumenta.
[ Zoran.Eremija @ 29.11.2012. 09:21 ] @
Citat:
nenadmarkoni:
Zbunjen! :-(


U mojoj praksi vecina je bila zbunjena. Moze se model postaviti kako ste rekli. Na taj nacin bi se model popustio, a ako zelite cist uredjen sistem onda je bolje vrstu prijema dodeliti vrsti dokumenta i prema mojim saznanjima postoje 3 vrste prijema. Vrsta dokumenta predstavlja kolekciju istih slucajeva dokumenata ili bolje receno klasu i bolje bi bilo da je razradite prema mogucim varijantama. Stambena zgrada kao realni sistem moze imati ogranicenu kolekciju vrste dokumenata i to sigurno nije velika kolicina. Primera radi jedna pisarnica opstine ili lokalne samouprave ili pisarnica suda prema nekim mojim istrazivanjima nema vise od 1400 razlicitih vrsta dokumenata s time sto je poslovanje pisarnice regulisano kategorizacijom predmeta i njihovom dodatnom klasifikacijom i u proseku je odnos bio 3:1 sto znaci 3 vrste dokumenta u istoj kategoriji.

Da zakljucim Buduci da sam bio zapisnicar Skupstine stambene zgrade preko 5 godina, nisam se susreo sa velikim broje vrste dokumenata, mozda maksimalno 30. Zbog toga u predlogu Vaseg modela nisam uvodio i dodatnu kategorizaciju vrste dokumenata vec sam smatrao d aje dovoljno razraditi tih 30-tak vrsta dokumenata i njima dodeliti unapred kojoj vrsti prijema pripadaju. Ako malo razradite videcete da necete doci do cifri koje ima jedna lokalna samouprava ili pisarnica suda.
[ nenadmarkoni @ 29.11.2012. 09:44 ] @
Problem je u tome sto nam se pogledi na realni sistem pomalo razlikuju, a samim tim vjerovatno i zamisao buduce aplikacije. Cini mi se da ni funkcionalni model iz kog sam generisao bazu nisam sredii kako treba. Opet cu se vratiti unazad da to sredim, pa da nacrtam AppDiagram jer ovako samo srljam.
[ nenadmarkoni @ 29.11.2012. 21:20 ] @
Izmjene...
[ Zoran.Eremija @ 29.11.2012. 21:40 ] @
Znaci kao sto sam komentarisao moze se model postaviti tako kao sto ste ga postavili i to je to s time sto nam je promaklo u entitetu Dokument, DatumEvidencije jer ako je to dokument kojem je VrstaPrijema "Prijem" onda se datum evidencije moze razlikovati od datuma dokumenta koji na sebi nosi.
[ nenadmarkoni @ 29.11.2012. 22:02 ] @
Da li se u tom slucaju DatumOvjere moze iskoristiti za evidentiranje datuma koji nosi na sebi?
Kad malo razmislim, mislim da treba maci iz SubjectArea-e Evidentiranje utuzenja entitet VrstaPrijema. Najbolje da ovo ostane striktno vezano za djelovodnik.
[ Zoran.Eremija @ 29.11.2012. 22:08 ] @
Hmmm ... Malo sam zatecen, ovog puta ne mogu da se setim slucaja, ali ako svaki prijem nema kasnije overu onda bi moglo:-)
[ nenadmarkoni @ 29.11.2012. 22:12 ] @
Ako uspijem za vikend cu pokusati da uradim AppDiagram onako kako ja zamisljam funkcionisanje aplikacije pa cemo komentarisati.
[ nenadmarkoni @ 02.12.2012. 16:46 ] @
Nacrtao sam "nesto"...
Nije kompletirano...,nisu upisani izvori podataka i glavne naredbe jer nisam siguran pa da ne lupetam( mislim da sam na prvom diagramu lupetao .. ).
U prilogu su i fajlovi u Visio-u, pa ako neko ima vremena i znanja mogao bi mi dopisati te podatke.
Ako sam nesto lose zamislio ne zamjerite...
[ nenadmarkoni @ 02.12.2012. 19:59 ] @
Ovaj dio treba da izgleda ovako
[ nenadmarkoni @ 04.12.2012. 19:26 ] @
Shvatio sam da nisam uradio nista sa tim sto sam promjenio mjesto VrstePrijema, u sustini sve je ostalo skoro isto , a ono sto sam ja imao namjeru da uradim prikazano je sad. Znaci da odvojim Djelovodnik od ostalih vrsta evidencije(Dokumenata) kao zasebnu cjelinu.
U zip fajlu je primjer sta se desava kad neko nema znanja i ne zna da gleda u model, pa napravi i doda ne samo nepotreban atribut vec i cijelu tabelu...., ,
P.S Pa uz to jos raskine referencijalni integritet izmedju tabela da bi forma radila, he,he...
Forma PromjenaObveznika je u pitanju.


[Ovu poruku je menjao nenadmarkoni dana 04.12.2012. u 20:48 GMT+1]
[ Zoran.Eremija @ 04.12.2012. 20:36 ] @
Citat:
nenadmarkoni: Shvatio sam da nisam uradio nista sa tim sto sam promjenio mjesto VrstePrijema, u sustini sve je ostalo skoro isto , a ono sto sam ja imao namjeru da uradim prikazano je sad. Znaci da odvojim Djelovodnik od ostalih vrsta evidencije(Dokumenata) kao zasebnu cjelinu.


Ipak zbog drugih, ne bih se slozio s ovakvim pogledom jer i ostale vrste dokumenta su takodje akta, dokumenta i takodje se evidentiraju i imaju svoju osobinu VrstaPrijema (vrsta zaprimanja), tako da sa izdvajanjem entiteta Djelovodnik opet nista se ne dobija. Vise bi pristajalo da je recimo entitet Dokument dobio ime Djelovodnik, ali tada bi entitet VrstaDokumenta zbunjivao posmatraca ovog sistema.
[ nenadmarkoni @ 04.12.2012. 21:38 ] @
Ok. Iznio sam svoje vidjenje stvari, a naravno slusacu Vas. Ono sto mene zbunjuje je npr. Ako posaljem neki zahtjev prema recimo JP Vodovodu, trebam taj dokument zavesti u djelovodniku kao VrstuPrijema SLANJE. Ako bih poslije nekog vremena trebao da nadjem taj dokument on bi bio medju ZADUZENJIMA, OPOMENAMA,UTUZENJIMA i PLACANJIMA. Kada bih primio odgovor od njih trebao bih ga zavesti kao PRIJEM, a bio bi smjesten medju UPLATE. To je ono sto mene buni. Ne zamjerite na ovoj polemici.
[ Zoran.Eremija @ 04.12.2012. 22:12 ] @
Citat:
nenadmarkoni: Ne zamjerite na ovoj polemici.


Taman posla o zamerkama, sada sam shvatio sta vas muci. Eeee to je vec druga prica. Vasu potrebu za delovodstvom nisam bas najozbiljnije shvatio. U tom slucaju morali bismo model jos detaljnije da opisemo u zavisnosti koji model delovodstva zelite. Ja sam se susretao sa vise razlicitih. Ako cete se opredeliti za najprostije tada bi dovoljno bilo da u entitetu Dokument dodate slobodan atribut koji je tipa Text po imenu Veza.

[Ovu poruku je menjao Zoran.Eremija dana 04.12.2012. u 23:49 GMT+1]
[ nenadmarkoni @ 05.12.2012. 08:42 ] @
Jos kad bih ja to rezumio...Nevezan atribut a zove se Veza . Vjerovatno ce u njega da se preslikava neka vrijednost? Moram priznati da ne razumijem na koji nacin ovaj atribut rjesava problem... Jedino sto mogu da pretpostavim da treba formirati povratnu vezu gdje bi ovaj atribut bio nadredjen entitetu dokument.

[Ovu poruku je menjao nenadmarkoni dana 05.12.2012. u 10:13 GMT+1]
[ Zoran.Eremija @ 05.12.2012. 09:57 ] @
Citat:
nenadmarkoni: Nevezan atribut a zove se Veza


Nisam rekao Nevezan nego slobodan atribut po imenu Veza. Ovaj atribut bi sluzio da se u njega upisuje s kojim brojem dokumenta Vas dokument je u vezi. Namerno sam rekao slobodan atribut iz tog razloga sto sam predlozio najprostije resenje.




Sledece kompleksnije resenje je da se napravi rekurzivna veza izmedju entiteta Dokument i Dokument i toj vezi dodelite ulogu (RoleName) NadredjeniID.

[ nenadmarkoni @ 05.12.2012. 11:57 ] @
Mozda grijesim, ali opet dodje na isto. Opet je Zahtjev medju Zaduzenjima, Opomenama..., u najmanju ruku opet treba Djelovodnik Prijem, Djelovodnik slanje...
Ovo za Nevezani atribut je bila sala...
U realnom sistemu 'Moja zgrada' Djelovodnik je skup istampanih obrazaca gdje se upisuje redni broj dokumentq za tekucu godinu/ godina; datum prijema-slanja;Opis dokumenta- Naziv; Naziv posiiljaoca ili primaoca. I to je to...
Mozda bi najbolje bilo da tako ostane i u ovom modelu, bez razdvajanja i entiteta VrstaPrijema
PS. U slucaju da se zavodi dokument vezan za neki prethodni stavi se podbroj npr. 1/2012 ,a vezani dokument 1-1/2012

[Ovu poruku je menjao nenadmarkoni dana 05.12.2012. u 13:16 GMT+1]
[ nenadmarkoni @ 05.12.2012. 14:08 ] @

Moze li se izvesti ovako:
Uvesti slobodni atribut Veza, pretvoriti ga u kombo da iscitava djelovodni broj za odabrani nadredjeni dokument.
Uvesti Djelovodnik kao zapis u VrstaDokumenta.
Na formama staviti skriveno polje koje ce citati najveci ID broj za VrstaDokumenta=Djelovodnik.
Ovo polje bi se koristilo pri dodjeli djelovodnog broja dokumenta u kombinaciji sa Godina, pod uslovom da nije nista izabrano u atributu Veza, a ukoliko jeste da tom broju pridoda podbroj (Ovo se vjerovatno moze izvesti u pisanju koda). Entitet VrstaPrijema izbrisati ili Djelovodniku pridruziti za VrstaPrijema= 3(Interno).
Da dodam i ovo
Ukoliko je popunjen djelovodni broj trebao bi vjerovatno i Append query koji bi dodao u djelovodnik novi zapis.



[Ovu poruku je menjao nenadmarkoni dana 05.12.2012. u 15:26 GMT+1]
[ Zoran.Eremija @ 05.12.2012. 22:01 ] @
Jedno od resenja je i to :-)
[ nenadmarkoni @ 08.12.2012. 22:24 ] @
Nisam imao puno vremena...
[ nenadmarkoni @ 09.12.2012. 22:10 ] @
Ako moze jedna pomoc :
na formi Imenovanja treba mi kod na FizickoLiceID AfterUpdate da provjeri u tabeli VrsilacFunkcije da li postoji taj FizickoLiceID uz uslov da taj zapis u polju DatumRazrjesenja nema vrijednost da poruku "Lice koje ste odabrali je već vrsilac funkcije, molim odaberite drugo lice" ,ponisiti unos i da fokus opet na FizickoLiceID
[ Zoran.Eremija @ 09.12.2012. 22:38 ] @
1. Moze li recimo FizickoLiceID="201200100001" da bude u periodu DatumImenovanja=#09.12.2012#, DatumRazresenja=#10.12.2012# na funkciji FunkcijaID=1, pa nakon odredjenog perioda da opet bude na istoj toj funkciji?

2. Moze li recimo FizickoLiceID="201200100001" u istom periodu biti na vise od jedne funkcije?

Ako je odgovor DA ili na ptanje 1. ili na pitanje 2. onda bi model morao da se promeni.



Buduci da ste formu nazvali Imenovanje cini mi se da ce Vam odgovor biti potvrdan. Sto znaci da Entitet VrsilacFunkcije treba obrisati a kreirati Entitet Imenovanje koji je vrsta dokumenta tj. specijalizacija entiteta Dokument.

[Ovu poruku je menjao Zoran.Eremija dana 09.12.2012. u 23:57 GMT+1]
[ nenadmarkoni @ 09.12.2012. 23:18 ] @
Organi upravljanja se biraju na 4 godine, a mogu se opozvati i ranije po odluci skupstine ili ako daju ostavku. U isto vrijeme jedno lice ne moze biti na vise funkcija, znaci odgovor pod 2. je NE. Medjutim moze se imenovati i privremeni upravnik od strane Lokalne uprave( sto se rijetko desava) pa nisam stavio uslov da vrsilac funkcije treba biti Obveznik-FizickoLice a sto je najcesci slucaj.
Isto lice se moze izabrati na istu ili drugu funkciju, te moze nastaviti i drugi mandat, i treci.... , ali u tom slucaju nema potrebe da se opet uvodi imenovanje jer se to vidi po DatumuRazrjesenja koje je duze od 4 godine... Znaci odgovor pod 1. je DA.

Model treba promjeniti ovako kako ste ga Vi zamislili! Razlog? Pri imenovanju stampa se odluka kojom se ovlascuje imenovani Upravnik da se moze upisati u evidenciju Upravnika stambenih zgrada koje se vode kod jedinice lokalne uprave.
Stvarno me mrzi da opet ispravljam model...AAAAAAAAAAA... ali ovo stvarno jeste najbolje rjesenje...
Sto se tice mog pitanja ostaje jer se nece imenovati isto lice koje je vec vrsilac te funkcije, a u slucaju da nastavlja mandat nece se opet upisivati Imenovanje... Hvala Zorane
[ nenadmarkoni @ 10.12.2012. 08:26 ] @
Mada,...mozda bi i trebalo novo imenovanje, cisto da se zna da je odrzana sjednica na kojoj je vrsiocu duznosti produzen mandat :-/...
[ Zoran.Eremija @ 10.12.2012. 10:38 ] @
Kao sto postoji dogadjaj Imenovanje i dokument Imenovanje, tako mora postojati Razresenje.



Kao sto vidite iz gornjeg modela, ostavio sam entitet VrsilacFunkcije, koji se puni prilikom overe Imenovanja a prazni prilikom Razresenja u zavisnosti koja je Funkcija u pitanju. Upravo ovaj entitet ce Vam posluziti da razresite problem koji ste naveli. Generisao sam Vam model u bazu i poceo da definisem elemente forme Imenovanje. Ostaje da je dovrsite i zategnete.
[ nenadmarkoni @ 10.12.2012. 11:21 ] @
hmmm....u pravu ste. Vrsilac funkcije moze biti razrjesen i prije imenovanja novog vrsioca. Ukoliko u tom periodu uleti Inspekcija stanovanja ( koja, uzgred receno, ne sluzi nicemu osim da primaju platu) imala bi po zakonu pravo da kazni zgradu zbog toga sto nisu formirani organi upravljanja...ali realno moze se desiti ovaj slucaj. sad mene zanima da li ovo mijenja funkcionalni model?
[ Zoran.Eremija @ 10.12.2012. 11:34 ] @
Evo malo sam doradio formu Imenovanje...

A sto se tice BPwin, tj funkcionalnog modela svakako da treba identifikovati ta 2 procesa IMENOVANJE i RAZRESENJE...
[ nenadmarkoni @ 10.12.2012. 11:47 ] @
Nazalost trenutno nisam pored racunara pa ne mogu vidjeti prilog, vidjecu popodne...
U Bpwin modelu uvesti ovo dvoje pod 2.3.3 i 2.3.4 , jel tako? Da li treba uvesti i funkcionalnost 1.5 Donosenje odluke o razresenju organa upravljanja?

[Ovu poruku je menjao nenadmarkoni dana 10.12.2012. u 13:02 GMT+1]
[ nenadmarkoni @ 11.12.2012. 22:42 ] @
Baguje na sve strane...:-(
Doradio sam modele, pa hajd jovo nanovo...
[ nenadmarkoni @ 12.12.2012. 17:22 ] @
Mislim da je ovo ispravnije...mislim, ...da li je?
[ Zoran.Eremija @ 12.12.2012. 17:51 ] @
Da Funkcionalni model je koliko sam video dobar a model podataka sam korigovao imate u prilogu.
[ nenadmarkoni @ 12.12.2012. 18:27 ] @
Ne moze da otvori neke forme, na primjer kad se zeli otvoriti ParnerFizickoLice daje gresku
[ Zoran.Eremija @ 12.12.2012. 18:56 ] @
Nisam azurirao Query QPartnerFizickoLice a s njime i formu... :-(
[ nenadmarkoni @ 12.12.2012. 21:03 ] @
Ja sam cak i pokusao azurirati sporne upite ali mi je opet javljalo greske, ko zna sta sam ja radio... sad sve radi
[ Zoran.Eremija @ 12.12.2012. 23:12 ] @
Nije mi samo jasan onaj crveno ispisan tekst "VEOMA VAZNO...", cemu to ??!?!?!
[ nenadmarkoni @ 12.12.2012. 23:28 ] @
Kad prije ugrabiste da skinete to, hehehe, a odmah sam izbrisao.... evo drugo
Izvinjavam se na mom glupiranju...
[ nenadmarkoni @ 13.12.2012. 16:51 ] @
Obzirom da postoje dva pojavna oblika PromjeneObveznika:
1. U slucaju nasledjivanja, novi Obveznik nasledjuje i obaveze prethodnog Obveznika
2. U slucaju kupo-prodaje , novi Obveznik ne nasledjuje obaveze prethodnog Obveznika vec se on duzi do namirenja dugovanja ili njegovog otpisa od strane Skupstine vlasnika.
Prema tome je doradjen model i dodate jos 2 tabele
Takodje je izmjenjena i osobina veze izmedju tabele Obveznik i ObveznikRazduzenje iz Delete-Cascade u Delete-Restrict
Molio bih Zorana da pogleda da li je ovo dobro i da li ovako treba biti?
[ nenadmarkoni @ 14.12.2012. 07:54 ] @
Vidim da nisam dobro uradio. Mislim da treba relacija Obveznik ka Stari Obveznik biti 1 prema vise jer moze biti vise prethodnih vlasnika. Mozda treba uvesti u tblStariObveznik i datumsko polje u koje bi se upisao DatumPromjeneObveznika ili PromjenaObveznikaID da bi se moglo pratiti sta je koji Obveznik zaduzivao i placao.Malo kompikovanija stvar. Kako ovo postici? :-(
[ Zoran.Eremija @ 14.12.2012. 11:30 ] @
Prvo sam korigovao Funkcionalni model dodao sam proces 31 EVIDENTIRANJE PROMJENE OBVEZNIKA.

Zatim sam azurirao model podataka tako sto sam promenio StariObveznik u ObveznikStari i dodao Subject Areu 31 EVIDENTIRANJE PROMJENE OBVEZNIKA sa novim entitetima i korigovanim vezama. Veza izmedju entiteta Partner - Obveznik i Partner - ObveznikStari je u odnosu 0-1. Zatim sam dodao entitete ObveznikStariZaduzenje, ObveznikStariRazduzenje. Njihova uloga je da prilikom promene obveznika sve n-torke iz ObveznikZaduzenje i ObveznikRazduzenje se prebace. Tako da cete imati istoriju.

[ nenadmarkoni @ 14.12.2012. 12:26 ] @
Sta znaci znanje i iskustvo. Ja sam dobijao ideje da promjenim u vezi Obveznik-ObveznikZaduzenje u update-cascade na strani Obveznik.Da u tabele Obveznik i StariObveznik dodam datumska polja, gdje bi se uObveznik popunjqlo prilikom vezivanja Partnera i Prostora, a u Stari prilikom Promjene obveznika. Tako bi se svo zaduzenje i razduzenje vodilo uz trenutnog Obveznika,a pregled da dobijem upitom prema ovim datumskim poljima. Nisam probao, i ne znam da li bi funkcionisalo a tu je i pitanje preuzimanja i nepreuzimanja obaveza izmedju starog i novog obveznika prema OsnovPromjene. Jos bi problem u svemu tome bilo i to sto stari obveznik moze nastaviti da otplatom dugovanja i nakon sto prestane biti obveznik....


[Ovu poruku je menjao nenadmarkoni dana 14.12.2012. u 14:01 GMT+1]
[ nenadmarkoni @ 14.12.2012. 13:19 ] @
Mislim da je model konacno kompletan, i trenutno ne mogu da vidim da neki poslovni proces i pravilo nije pokriveno modelom. Znam da je medju posjetiocima koji prate ovu temu dosta onih kojima je takodje potrebna ovakva aplikacija, pa bi mogli da se ukljuce sa konstruktivnim predlozima ako smo nesta previdjeli.
[ Zidar @ 14.12.2012. 14:57 ] @
Da li mi se cini, ili tabele ObveznikZaduzuje i ObveznikRazduzuje nisu u nikakvoj vezi? Znaci li to da neko moze da razduzuje nesto sto nije zaduzio? Ako sam u pravu , verujem da ovo moze da se doda na nivou tabela, bez mnogo prepravki u samoj aplikaciji. Ako sma nesto promasio, molim da ignorisete primedbu.

[ Zoran.Eremija @ 14.12.2012. 16:22 ] @
Mozda smo se malo terminoloski rasplinili. Tabela ObveznikZaduzenje je tabela cinjenica u kojoj se konstatuje dokumentom Zaduzenje s cime se Obveznik duzi. Pravo zaduzenje se vrsi na taj nacin da se na osnovu te tabele cinjenica vrsi mesecni obracun i to se konstatuje u tabeli GodinaMjesecObracun. Tom prilikom se konstatuje kakva je situacija u tabeli ObveznikRazduzenje i ako ima duga tada se u obracunu dodaje stavka prethodno dugovanje s iznosom. U tabeli ObveznikRazduzenje se iz mesecnog obracuna otvara n-torka sa ukupnim iznosom zaduzenja. Evidentiranjem uplata te tabele zatvara se krug... Napravio sam pogled nad modelom koji sam nazvao Zaduzi Razduzi i dao u prilogu.

[ nenadmarkoni @ 14.12.2012. 22:50 ] @
Evo da i ja dodam ono sto mislim da nedostaje za potpun model. Molim Zorana da prekontrolise!
Primjetio sam da sam u tabeli RadniNalog bespotrebno uveo PartnerID, on vec ima na tabeli Dokument..

[Ovu poruku je menjao nenadmarkoni dana 15.12.2012. u 09:31 GMT+1]
[ nenadmarkoni @ 15.12.2012. 09:11 ] @
Evo i generisana baza. Primjetio sam da su moderatori promjenili naziv teme i izbrisali dio "u pokusaju".
[ Zoran.Eremija @ 15.12.2012. 10:06 ] @
Prvo treba dati odgovor na pitanja u modelu procesa 4.4



A model podataka ce od toga zavisiti s time sto VrstaRadova je isto PredmetPoslovanja i predmet poslvanj ase po pravilu klasifikuje. Klasifikacija je najcesci problem u mnogim firmama i mnogi se time ne bave i imaju problema. O tome sam pisao vec u nekoliko tema i davao primere.

Entitet RadnaSnaga sam prekrstio i dao mu ime RadniNalogRadnaSnaga iako mi je ovaj Entitet malo nejasan obrazlozite ga sta ste zeleli s njim, posebno je nejasan atribut Prezime?!?!? Cije je to prezime?
[ nenadmarkoni @ 15.12.2012. 10:59 ] @
Odgovor na prvo pitanje: Baza je namjenjena jednoj stambenoj zgradi koja samostalno brine o odrzavanju zajednikih djelova stambene zgrade. Izvrsnu vlast, da je tako nazovem, vrsi upravnik zgrade koji u periodu mandata snosi svu odgovornost i sprovodi u djelo odluke Skupstine. Prema tome odgovoran je bukvalno za sve. Ova aplikacija je zamisljena kao potpora u laksem vrsenju te duznosti. Uglavnom je Upravnik zgrade to lice koje kreira i unosi sve podatke, pa tako i podatke o evidentiranom kvaru i prema njemu formira prazan radni nalog koji upucuje Saradniku(izvrsiocu radova). Saradnik u taj radni nalog upisuje utrosak materijala i upotrebu radne snage(Ime i Prezime angazovanih radnika, koliko su sati rada utrosili na uklanjanju kvara, cijenu kostanja njihovog rada- sto narod kaze:"Koliko za ruke?")Radnici mogu raditi npr. 3 dana po 2 sata. Po zavrsetku posla Saradnik podnosi Upravniku zgrade popunjeni radni nalog, ako je on saglasan da podaci u Radnom nalogu odgovaraju stvarnom stanju Saradnik podnosi Racun koji se placa kroz PlacanjeRada, a Upravnik u aplikaciji dopunjuje podatke radnog naloga radi elektronske evidencije, kada se i StatusKvara mijenja u Rijeseno... Kvar moze prijaviti stanar zgrade ili se na sjednici skupstine moze donijeti odluka da se izvrse neki radovi. Tako sam makar ja zamislio...

Na RadnomNalogu u subformama se unose podaci o Materijalu i Radnoj Snazi. Mozda je trebalo napraviti jedan query za subformu RadnaSnaga, koji bi kombinovao Ime i Prezime Radnika, Datum Izvodjenja Radova sa stavkama tabele DokumentStavka.
Ne znam otkud je kod Vas atribut Prezime , kod mene je PrezimeIme, a trebalo bi PrezimeImeRadnika, DatumIzvodjenjaRadova, CijenaRadnogSata, Kolicina

Vidim da trebaju izmjene...
Klasifikacija bi se prije mogla vezati uz VrstaPredmetaPoslovanja kao nadredjena

[Ovu poruku je menjao nenadmarkoni dana 15.12.2012. u 13:02 GMT+1]
[ Zoran.Eremija @ 15.12.2012. 13:46 ] @
Da li ima smisla da Upravnik vodi evidenciju imena i prezimena nekih tamo radnika koji uopste ne pripadaju sistemu Stambena zgrada i koliko je koji pojedinacno radio i sta je taj pojedinac uradio? Mislim da je za sistem Stambena zgrada dovoljno da se zna koliko je utroseno sati rada i sa time koliko kosta jedinica sata. Ovo je po meni dovoljno i ako je to tako onda je entitet RadniNalogRadnaSnaga suvisan jer njegovu ulogu moze preuzeti entitet DokumentStavka koji u sebi ima PredmetPoslovanjaID koji moze biti npr: Farbanje, jedinica mere = sat, i CenaPredmetaPoslovanja = 2 jevrica..., a ako bas zelite da imate jos dodatne informacije o imenu i prezimenu dovoljno vam je da se u DokumentStavka doda atribut Primedba i u njemu upisite sve vezano za tu stavku.

Sto se klasifikacije tice, uvodjenjem tog objekta umanjuje se vrednost objekta VrstaPredmetaPoslovanja ili bolje receno on je i suvisan za Vas sistem, kod drugih slozenijih sistema potrebno je da postoji VrstaPredmetaPoslovanja. Klasifikacija se nikada ne odnosi na VrstaPredmetaPoslovanja vec je osobina entiteta PredmetPoslovanja.

Buduci da ste naveli da Prijava kvara moze nastati na osnovu prijave stanara, a i na osnovu odluke na sednici, predlazem Vam da ovu vezu generalizujemo tako sto ce entitet Dokument dobiti osobinu DokumentNadredjeniID i ostvariti vezu sam sa sobom.

Ostalo je jos nerazjasnjeno pitanje PartnerID koji postoji u entitetu Dokument i u entitetu RadniNalog ?!?!?

[ nenadmarkoni @ 15.12.2012. 15:05 ] @
U prethodnim postovima, mada kao Izmjenu poruke sam zakacio "Zakon o stanovanju i odrzavanju stambenih zgrada", i iz njega je ideja o klasifikaciji : Hitni radovi, Nuzni radovi i Radovi na redovnom odrzavanju. Cisto da bi se kasnije mogao dobiti pregled koliko je novca otislo na koju grupu/klasu.
Svaki od ovih ima skup radova vezanih za sebe, a svaki taj rad se sastoji od vise radnji npr.Krecenje- Priprema i skidanje starog sloja, gletovanje, premazivanje podlogom, krecenje. Majstori svaku od ovih radnji tarifiraju ili u zavisnosti od njih povecavaju cijenu po m2...
Radni nalog sam ubacio na osnovu dokumenta koji je nekada podnosila Agencija za SPF a koji dajem u prilogu, s tim sto su oni imali monopol da sve radove izvrsavaju oni(nestrucno). Sada je to odgovornost zgrade,odn. Upravnika ko ce biti angazovan na radovima. Ovo za radne sate zbog toga sto nije ista dnevnica jednog inzinjera i jednog elektircara, ali ako se zapali zgrada bice odgovoran Upravnik, a on ne zna ko je bio angazovan za taj posao, plus stanari kojima je potrosen novac pitaju sta je on toliko placao a on ni to ne zna...:-(
Ponavljanje PartnerID sam odmah rijesio i uklonio, a i tu napomenu sam dodao kroz Izmjeni poruku pa Vam se vjerovatno nije prikazalo.
U prilogu Zakon o stanovanju, slika Radni nalog
[ Zoran.Eremija @ 15.12.2012. 19:16 ] @
Ipak sam vratio na osnovu objasnjenja entitet RadniNalogRadnaSnaga i doradio model.
[ nenadmarkoni @ 15.12.2012. 21:38 ] @
Mislim da je konacno i definitivno definisan svaki aspekt upravljanja stambenom zgradom, i usaglasen sa zakonskim pravilima i realnim zivotom. Funkcionalni i informaciono modeliranje je zavrseno. Imam jedno pitanje, sto se tice pravila i redosleda radnji u Aplikativnom modeliranju: Definisanje upita, Dizajniranje formi, Izrada makroa, Dizajniranje izvjestaja, Kodiranje.
U prakticnom radu,pri izradi aplikacije, da li se ove radnje ciklicno ponavljaju za svaki modul aplikacije te ih tako treba i izvrsavati ili se ove radnje preplicu?
Sto se tice mog ucesca, ove nedelje cu biti malo manje aktivan... ide slava
[ Zoran.Eremija @ 15.12.2012. 22:07 ] @
Citat:
nenadmarkoni: Imam jedno pitanje, sto se tice pravila i redosleda radnji u Aplikativnom modeliranju: Definisanje upita, Dizajniranje formi, Izrada makroa, Dizajniranje izvjestaja, Kodiranje.
U prakticnom radu,pri izradi aplikacije, da li se ove radnje ciklicno ponavljaju za svaki modul aplikacije te ih tako treba i izvrsavati ili se ove radnje preplicu?


Zivot nosi svoje, principijelno je tako, s tim sto je moj princip izbeci kodiranje koliko god je to moguce. Ponekad u tome se toliko zanesem da je nekada brze i lakse iskodirati i resiti problem :-)
[ nenadmarkoni @ 17.12.2012. 22:17 ] @
Napravio sam klasifikatore. Promjenio sam KlasifikacioniBroj iz Text(50) u Integer...
[ Zoran.Eremija @ 17.12.2012. 23:26 ] @
Ne znam da li ste pogledali primer koji sam postavio na ovom linku http://www.elitesecurity.org/t303936-1#2548275, koji pokazuje paralelni sistem oznacavanja predmeta poslovanja, gde predmet poslovanja ima ID, Sifru, NazivPredmetaPoslovanja, KlasifikacioniBroj.

U primeru sa gornjeg linka videcete sustinu klasifikacije. Vas primer ne pokazuje ne ukazuje na klasifikaciju, vec mi se cini da su nazivi klasifikacije u stvari nazivi predmeta poslovanja, a nadredjeni su u stvari Vrste predmeta poslovanja koji se odnosi samo na radove i namena mu je da odvoji radove po prioritetu. Daklem moguce je da smo se terminoloski razisli kada je pojam klasifikacija.
[ nenadmarkoni @ 18.12.2012. 08:45 ] @
I mislio sam da nije u pitanju Vas previd kad ste stavili tip text, i da se KlasifikacioniBroj dobija kombinacijom nekih cinilaca. Ranije sam nailazio na ovu temu, ali nisam dublje zalazio u sustinu (mada nisam imao ni potrebnog predznanja da bih shvatio). Za sad mi se cini da treba ostati pri klasifikaciji, s tim sto treba drugacije formulisati sadrzaje klasifikatora, ali nisam siguran. Sada nemam vremena, ali cu se potruditi da posle nedelje malo dublje udjem u sustinu ove problematike i pokusam da je shvatim. Da je bilo terminoloskog razilazenja, definitivno jeste, zahvaljujuci mom neznanju. Cini mi se da citav ovaj dio u vezi predmeta poslovanja nisam najjasnije shvatio.
[ nenadmarkoni @ 21.12.2012. 19:50 ] @
Mislim da treba vratiti i VrstaPredmetaPoslovanja jer Vrsta predmeta poslovanja moze biti kao i u navedenom primjeru:
Proizvod, Masina, Materijal, Usluga, Rad, Inventar, Protivpozarno sredstvo...
Nabrojani radovi , kao i sve ostale VrstePredmetaPoslovanja, se klasifikuju kao sto sam i prikazao pa je potreban i Klasifikator
Pokusacu da doradim posle nedelje. U medjuvremenu sam uradio primjer koji sam nasao na internetu nad simple bazom Nortwind, da bih shvatio kako se pravi treeview, kao i kod koji ga prati.
[ nenadmarkoni @ 25.12.2012. 22:48 ] @
Nesta sam "švarao"... U DokumentStavka sam uveo atribut koji bi trebalo da rijesi moje nedoumice "OpisniNazivStavke", jer kako sam naveo svaki od ovih radova ima vise stavki..., vratio sam VrstaPredmetaPoslovanja ali sam zadrzao i Klasifikator... iskoristio sam primjer koji ste mi dali ali nesta nisam bas dobro uradio, pa mi na frmKlasifikator dugme Pregled ne radi ono sto treba...
[ Zoran.Eremija @ 26.12.2012. 08:41 ] @
Model koji ste poslali nije u skladu s bazom koju ste poslali.



Sada sam zbunjen, da li ste generisali model iz ERwin-a u Access bazu?!?!?

KlasifikacioniBroj je posebna vrsta broja i zbog toga je dobro njega definisati kao Text tip podatka, kao sto stoji u modelu.

Dogadjaj na dugme Pregled u formi Klasifikator podrazumeva da je KlasifikacioniBroj tip podatka Text i zbog toga ne radi u Vasem primeru.

[Ovu poruku je menjao Zoran.Eremija dana 26.12.2012. u 10:45 GMT+1]
[ nenadmarkoni @ 26.12.2012. 10:56 ] @
Jesam! :-D ...ali sam izgleda tu bazu promasio, i ostalo radio na onoj prosloj verziji...he,he,he... Moja greska, izvinjavam se zbog zabune
Jedno pitanje.. kada odredjeni klasifikator ima npr. 20 podklasifikatora kako se formiraju njihovi klasifikacioni brojevi? Primjer:
1 Glavni Klasifikator
11 Klasifikator
111 Podklasifikator1
112 Podklasifikator2
...
119 Podklasifikator9..
da li je sledeci 1110?
[ Zoran.Eremija @ 26.12.2012. 11:11 ] @
Kada imate takvu nedoumicu, tj ako Vam broj klasa prelazi vise od 10, tada se postavlja pitanje "Da li mozete da ih grupisete u podklase?" U mnogim projektima na kojim sam radio, imao sam takav slucaj pitanja koje ste Vi postavili i mojim kontra pitanjem se uvek doslo da je to moguce... :-) Daklem mozete definisati da vam klasa jednog nivoa nosi dvocifrenu oznaku, ali se onda postavlja pitanje svrsishodnost klasifikacije.
[ nenadmarkoni @ 28.12.2012. 23:08 ] @
Zasto nece da mi osvjezi formu ProstorLista kada se unosi novi prostor a hoce kada se napravi izmjena?
[ Zoran.Eremija @ 28.12.2012. 23:16 ] @
Odgovor sledi u samom pitanju... Treba osveziti prilikom pristupa.


Private Sub Form_Activate()
Me.Requery
End Sub
[ nenadmarkoni @ 30.12.2012. 23:08 ] @
Hvala Zoranu na prethodnoj pomoci!
Malo sam opet mjenjao. Izbacio sam atribut Veza iz Dokumenta, jer je napravljena rekurzivna veza koja ce sluziti umjesto toga. Ali bas me ona slomi! :-( Na koji nacin se rjesava ovaj tip veze? Pokusao sam nesta da napravim sa formom Djelovodnik, ali kad izaberem neki Nadredjeni dokument, daje mi gresku.
[ Zoran.Eremija @ 31.12.2012. 09:44 ] @
U ovom slucaju potreban je mali trik a to je da se u QDjelovodnik uvede kolona koja ce se videti, a u ComboBox polju DokumentNadredjeniID postaviti uslov da ne daje samog sebe.
[ nenadmarkoni @ 31.12.2012. 10:58 ] @
Hvala Bogu da postoje ovakvi forumi. Juce sam cijeli dan pokusavao da rijesim problem i shvatim u cemu je greska, trazio, prepravljao...na internetu vrlo malo ili bolje reci nimalo o rekurzivnim vezama u access-u. I sta je bio glavni problem? To sto je DokumentNadredjenId vracao i tekuci zapis? Jel' tako? Naravno, hvala Bogu da postoje i ljudi kao sto je Zoran koji nesebicno dijele svoje znanje!
[ nenadmarkoni @ 02.01.2013. 23:34 ] @
Srećna Nova godina svim clanovima foruma!
Malo sam opet mijenjao. Uveo sam novi atribut u Dokument-"DID", da bi mi pomogao pri dodjeli djelovodnog broja. Ne znam da li je bas dobro rjesenje ali radi posao. U formi Sjednica imam mali problem, funkcija BU mi nije bas odgovarajuca. Kad treba da predje na unosenje podataka u subformu izbacuje definisanu poruku. Ja bih da zadrzim tu kontrolu ali posto se unesu svi potrebni podaci.
[ nenadmarkoni @ 05.01.2013. 16:20 ] @
Sta nisam dobro uradio u proceduri koju sam napisao na sfrmUcesniciSjednice_Exit?:
Private Sub sfrmUcesniciSjednice_Exit(Cancel As Integer)


If Me.BrojUcesnika >= Me.BrojObveznika \ 2 + 1 Then
MsgBox "Ispunjen je kvorum za donosenje odluka", vbInformation, "Obavjestenje"
Exit Sub
Else
MsgBox "Nije ispunjen kvorum za donosenje odluka", vbCritical, "Upozorenje"
MsgBox "Zelite li da otkazete sjednicu?", vbYesNo, "Otkazivanje sjednice"
If vbYesNo = Yes Then

Me.Opis.Value = "Sjednica je otkazana"
Me.cmdClose.SetFocus
Else
Me![sfrmUcesniciSjednice].Form![PartnerID].SetFocus
End If
End If
End Sub
[ Zoran.Eremija @ 05.01.2013. 18:51 ] @
Pitanje je nejasno mozete li ga pojasniti primerom, tj sta zelite dobiti i na osnovu cega?

Takodje nije jasna potreba imati dugme "Sacuvaj" i "Zatvori formu"?
[ nenadmarkoni @ 05.01.2013. 19:48 ] @
Da bi se odrzala sjednica potrebno je imati kvorum. Kvorum je ispunjen ako je prisutno vise od polovine vlasnika. U slucaju da nije prisutno dovoljno ljudi sjednica se otkazuje. Ovde ostavljam mogucnost eventualne greske, pa sam zato stavio poruku sa izborom Da/Ne. Ali bih volio da ako se izabere ne fokus vrati na PartnerID u subformi.
Sacuvaj mi ne treba. Umjesto njega ce biti dugme za stampanje Zapisnika, a Zatvori cisto estetski.
Ne zamjerite ako brljam u kodu...
[ Zoran.Eremija @ 05.01.2013. 22:26 ] @
Ja bih resio tako sto bih uveo entitet StatusSjednice "0-OTKAZANA", "1-ODRZANA" i proverio bih Kvorum u upitu QSjednica.
[ Zoran.Eremija @ 06.01.2013. 13:57 ] @
Malopo sam doradio kontrolu Ucesnika i broja glasova...
[ nenadmarkoni @ 06.01.2013. 19:02 ] @
Evo i ja sam malo dodao da bi zadovoljilo ono sto sam ja zamislio i da se to odvija koliko toliko automatizovano. Nek ostane za sad ovako. Nek ostane i dugme zatvori za sada, lako ga je maci ako ne bude imalo potrebe za njim na kraju. Dodao sam forme za Promjenu namjene prostora, i dodao jos jedan atribut u tblProstor, da bi vuklo podatak o bivsoj namjeni prostora. Medjutim....Kada se pritisne dugme Promjeni izbaci poruku upozorenja koju ja prvi put vidim... zasto ovo izbacuje i da li se moze ukloniti?
[ Zoran.Eremija @ 06.01.2013. 22:40 ] @
Bolje je da se u objektu promena cuvaju informacije Staro i Novo. Sto znaci da u entitetu PromjenaNamjeneProstora sam dodao atribut VrstaProstoraStaraID, a u entitetu Prostor sam obrisao. Upravo je zbog toga bilo problema jer Query QPromjenaNamjeneProstora nije bio dobar i nije dozvoljavao izmenu podataka.
[ nenadmarkoni @ 07.01.2013. 17:16 ] @
Uradio sam formu ZakupProstora.
Imam jedno pitanje. Citajuci knjigu koju mi je preporucio @Zidar, od Allison Balter primjetio sam da referenciranje na polje tekuce forme takodje pise sa Znakom uzvika!, a ne sa tackom (npr. Me!NekoPolje) Jel' to pravilnije? Moze li zbog stavljanja tacke kasnije doci do nekih gresaka?
[ Zoran.Eremija @ 07.01.2013. 21:09 ] @
Citat:
nenadmarkoni: Uradio sam formu ZakupProstora.


Malo sam Vam korigovao formu ZakupProstora, kao i QZakupProstora, Takodje sam Vam korigovao formu PromjenaNamjeneProstora u kojoj sam aktivirao upotrebu polja DatumOvjere tako da vidite kako bi trebalo kod svih ostalih vrsta dokumenata. Zatim sam Vam primera radi napravio formu ProstorNamjena koju sam kao podformu ubacio u formu Prostor gde se moze videti za neki prostor istorija promena. Po tom principu bi mogle sve ostale istorije po prostoru da se naprave.

A sto se drugog pitanja tice
Citat:
nenadmarkoni: Citajuci knjigu koju mi je preporucio @Zidar, od Allison Balter primjetio sam da referenciranje na polje tekuce forme takodje pise sa Znakom uzvika!, a ne sa tackom (npr. Me!NekoPolje) Jel' to pravilnije? Moze li zbog stavljanja tacke kasnije doci do nekih gresaka?


Najbolji odgovor cete dobiti od autora i zarad drugih Vam dajem link http://office.microsoft.com/en...ession-syntax-HA010131581.aspx
[ nenadmarkoni @ 07.01.2013. 21:54 ] @
Hvala Zorane! Takodje sam uvidio da mi ne trebaju neke forme koje sam pravio : _SW i DS
Umjesto toga sam prepravio malo formu VrstaDokumentaLista, ali ce morati da se prepravlja kasnije...
[ Zoran.Eremija @ 07.01.2013. 22:07 ] @
Pogledajte u ovoj temi http://www.elitesecurity.org/t435284-1#2944359 u primeru kako je definisana forma PromenaBrojila u slucaju kada je novi zapis i kada je promena izvrsena...
[ nenadmarkoni @ 08.01.2013. 10:16 ] @
Zorane, pogledajte sada da li sam dobro uradio formu PromjenaNamjeneProstora i da li je to to!?
Izmjenio sam i upit iz kojeg vuce podatke. Nadam se da sam makar ovo dobro uradio!
Nije mi jasno jedino ponavljanje AllowDeletions u kodu? Da li je dozvola brisanja vezana za prioritete u grupama korisnika ili...?
[ Zoran.Eremija @ 08.01.2013. 15:54 ] @
U principu to je to, s time sto sam korigovao sitnih detalja, polja Nadredjeni, Prostorija i VrstaProstoraNova su polja koja se vide kada je DatumOvjere dat i u kodu sam ispravio mesto Locked u Visible, a ta polja su po defaultu Locked.

Drugo prebacio sam nevidljiva polja iz hedera u detalje, kaoo i dugmice odozdo gore, s time sto i dalje mislim da nema smisla imati dugme za zatvaranje forme. Takodje sam promenio font u Arial i velicine 10 po mom nekom iskustvu je optimalno resenje.

A silne AllowDeletions... mora da sma bio popio koju vise (a inace ne pijem) :-) ...
[ nenadmarkoni @ 12.01.2013. 11:49 ] @
Mozete li pogledati formu PromjenaObveznika i upite koje sam napravio vezano za nju. Zasto nece na VrstaDokumentaLista-Novi Dokument ( za PromjenaObveznika) da mi otvori ovu formu kao novi unos?
Da li sam na QObveznikZaduzenjeNasledjePrepisi trebao da vrijednost koju ce upisati u StatusZaduzenjaID stavim u zagradi ili mozda uz navodnike?
Zaboljela me glava ! :-((
[ nenadmarkoni @ 12.01.2013. 13:11 ] @
Vjerovatno opet treba promjene cuvati u PromjenaObveznika , pa prema tome ni upit ne valja
Treba promjeniti model opet?
[ Zoran.Eremija @ 12.01.2013. 13:43 ] @
Upit QPromjenaObveznika nije dobar iz tog razloga sto taj upit mora biti editibilan a on to nije mogao biti jer su postojale referencijalne veze sa upitom koji je needitibilan a to je QPartnerUnija. Pogledajte sta sam uradio tj kako se ovakav problem moze prevazici.

Buduci da obaveze dugovanja preuzima naslednik tada je potrebno izvrsiti prezaduzenje i u tom slucaju korigovao sam Vam oba upita QObveznikRazduzenjeNasledjePrepisi i QObveznikZaduzenjeNasledjePrepisi.

Nisam video upravo je kolega @Getsbi u ovoj temi dao odgovor na pitanje editabilnosti ili needitabilnosti http://www.elitesecurity.org/t...o-ponistiti-odabir-kombo-polja
[ nenadmarkoni @ 15.01.2013. 22:42 ] @
Pokusavao sam ali nisam uspio... .Kako da dobijem sledece: da mi pri zatvaranju forme na kvardratic X zatvori formu bez pamcenja zapisa vec samo da izda poruku da nece nista biti sacuvano, kao neko dugme za odustajanje od zapisa, a da mi za pamcenje zapisa i izvrsenje pozadinskih komandi(Sacuvaj i Promjeni) sluze ova dugmad?
Probao sam na On Unload, pokusavao sa Dirty, Undo.... nista. Nesta postignem ali nije to to... :-( .
U ovom stanju dugme sacuvaj nema potrebnu svrhu... Mozda malo lupetam, ne mogu sve da pohvatam...

Dodao sam i Prijavu kvara ali nisam zavrsio.Kad uradim RadniNalog po snimanju forme PrijavaKvara treba da mi otori RadniNalog sa vec upisanim podacima koji ce stajati na "blanko Radnom nalogu" i samo da se izabere izvodjac prije stampanja naloga koji ce se uputiti Saradniku.
[ Zoran.Eremija @ 15.01.2013. 23:38 ] @
Probajte ovo

Private Sub Form_Close()
DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70
End Sub
[ nenadmarkoni @ 16.01.2013. 23:23 ] @
Probao. Radi. Medjutim... Ja bih zelio da korisnik kada odustane na X dobije jedino definisanu poruku da podaci nece biti sacuvani i nista vise. Kao i da moze odustati u bilo kojem dijelu unosa. Probao sam da nesto uradim sa presretanjem gresaka, i pokusao da uradim tabelu i proceduru za presretanje i obradu gresaka ali ni to ne radi kako treba.
[ nenadmarkoni @ 16.01.2013. 23:32 ] @
Zbog toga sam i htio da imam polje Zatvori. To bi bilo mnogo lakse odraditi .
[ nenadmarkoni @ 26.01.2013. 16:05 ] @
Srusio mi se sistem pa sam morao da ga reinstaliram. Medjutim sada mi se desava greska sa TreeView kontrolom. Sta treba da uradim?
[ nenadmarkoni @ 27.01.2013. 20:59 ] @
Iskljucile su se reference. Opet sam ih ukljucio i opet sve radi.
[ nenadmarkoni @ 30.01.2013. 21:45 ] @
Moze li neko da mi da rjesenje za datumska polja DatumRada i DatumZatvaranja na formi RadniNalog, koji ne mogu biti manji od DatumaDokumenta. Ja sam nesta radio ali ne mogu da vratim fokus na ovo datumsko polje.
[ Zoran.Eremija @ 30.01.2013. 22:16 ] @
Da li ste ovo zeleli?
[ nenadmarkoni @ 30.01.2013. 22:45 ] @
To je to . Sad moze kume...,He,he
Zasto mi pokazuje Microsoft Visual Basic: "Error in loading DLL" kada sam pokusao da otvorim Vasu bazu ? Opet nesto nisam ukljucio?
[ Zoran.Eremija @ 30.01.2013. 22:56 ] @
Udjite u neki modul i u meniju Debug izaberite Compile, videcete da ce vam izbaciti nekoliko gresaka koje ukazuju na nedovrseni kod u par If - then - endif, kao i pogresno referenciranje na polja u formi. To sam nasao a grsku koju pominjete ne prijavljuje mi?!?!??!
[ Dexxxl @ 30.01.2013. 22:57 ] @
I kod mene isto, a Nenadovu otvara bez problema
[ Zoran.Eremija @ 30.01.2013. 23:04 ] @
Onda da ponovo probamo mozda je greska u pakovanju... S time sto sam korigovao ranije ukazane greske.
[ Dexxxl @ 30.01.2013. 23:08 ] @
Sad je kod mene OK
[ nenadmarkoni @ 31.01.2013. 16:14 ] @
Nisam bio dobro uradio racunanje Iznosa. Kod u DokumentStavka koji sam bio postavio sam uklonio i stavio samo da se osvjezi nadredjena forma, jer ce se DokumentStavka koristiti i u drugim formama.Ispravio sam postojece greske na mojoj verziji.
[ nenadmarkoni @ 05.02.2013. 09:19 ] @
Trenutno pokusavam napraviti report Zapisnik za formu Sjednica. Kako da dobijem u subreportu UcesniciSjednice da mi pofaci budu prikazani u obliku:
Prisutni: Nenad Markoni, Janko Jankovic, Petar Petrovic.... . Znaci da mi podaci budu u jednom redu?
[ Zoran.Eremija @ 05.02.2013. 10:20 ] @
Pogledajte QSjednica i kolonu Prisutni...
Ta kolona koristi funkciju ConcatRelated(), te i nju pogledajte u modulu Konkatenacija.
[ nenadmarkoni @ 05.02.2013. 21:24 ] @
Hvala na pomoci! Nesta sam malo prepravljao i dodavao. Napravio nekoliko izvjestaja koliko sam umio. Ima jos dosta gresaka i stvari koje treba ispraviti u ovome sto je do sada uradjeno, da se malo logicki slozi prije nego se usudim krenuti u rjesavanje onog najvaznijeg i najtezeg dijela vezanog za finansije.
[ nenadmarkoni @ 10.02.2013. 12:15 ] @
Napravio sam nekoliko izvjestaja po uzoru na prilozene dokumente. Malo doradio Sjednicu, zamjenio formu PartnerSW sa PartnerLista gdje sam vezao filter forme za filtar izvjestaja, doradio Imenovanje ... Valja li ovo ista?
[ Zoran.Eremija @ 10.02.2013. 23:04 ] @
Citat:
nenadmarkoni: Valja li ovo ista?


Temelji su postavljeni, a sada cepanje drva :-) Dosta jos posla predstoji, a valja li ?!?!?! Svakako da valja, a i tolika posecenost ovoj temi ukazuje da je interesantna. U velikoj meri je prikazan metodoloski pristup razvoju IS za jedan delovalo je prost poslovni proces. Model baze je konceptualno postavljen tako da svakako moze biti mnogima primer kako se definise model slozene baze. Jedna od vrednosti je modeliranje baze primenom CASE alata. Sigurno cete doradjivati model nadalje, pazite da ne padnete u zamku izmene modela u bazi vec to uvek uradite u ERwin-u pa tu izmenu izgenerisite. Na taj nacin cete imati uvek azurnu dokumentaciju. Posebno je to vazno kod velikih projekata.
[ nenadmarkoni @ 11.02.2013. 08:22 ] @
Bas kada moralno pokleknem Vi mi svojom podrskom opet ulijete dodatnu energiju! Najvise me nervira kada zavrsim neku formu i shvatim da ima konceptualnu gresku. Npr. u formi imenovanje za Predsjednika skupstine i zapisnicara se ne stampa dokument, te se i ne zavodi pa prema tome ne treba dodjeljivati ni djelovodni broj. Isfiltrirane podatke sa pomenutih formi nije bas moguce odstampati po svakom kriterijumu itd... Sad kad sam reinstalirao operativni sistem Erwin koji sam instalirao mi prijavljuje greske i ne moze da se nakaci na bazu...
Ali kao sto Vi rekoste na pocetku teme:"Idemo dalje..." ;-)
Nenad
[ Zoran.Eremija @ 11.02.2013. 08:33 ] @
Citat:
nenadmarkoni: Isfiltrirane podatke sa pomenutih formi nije bas moguce odstampati po svakom kriterijumu itd...


Ovo nisam razumeo?!?!?!?

Ja koristim verziju ERwin-a 4.1.4 sp5
[ nenadmarkoni @ 11.02.2013. 09:50 ] @
Npr. Ako na formi partner lista filtrirate podatke odabirom "filtriraj po ovom kriterijumu" desnim klikom misa na polju npr.Pravno lice, necete moci odstampati izvjestaj jer je u kriterijumu filtera ukljucen lookup, te ce dati gresku. Treba presresti ove greske... Htio sam ispitati sve moguce postupke buducih korisnika (ako ista bude od baze), pa cisto napomenuh sta sqm primjetio...
[ Zoran.Eremija @ 11.02.2013. 10:03 ] @
Hmm kod mene radi bez problema...?!?!?!?
[ nenadmarkoni @ 27.02.2013. 19:39 ] @
Pozdrav forumasima! Vrijeme je da se nastavi sa radom,nisam odustao vec sam bio sam sprijecen zbog bolesti jedno vrijeme. Primjetio sam jos nekih suvišnih elemenata u bazi , kao sto su atributi Osnov i Opis. Osnov nam nije potreban sada kada imamo Nadredjeni dokument, a za Opis se moze iskoristiti atribut Komentar... ali za sada necu to mijenjati vec cu pokusati da krenem sa pitanjem finasijskog dijela aplikacije. Naravno da moje znanje ne dozvoljava samostalan rad pa ocekujem da ce mi iskusniji forumasi i dalje pomagati, prije svih gospodin Zoran.
Napravio sam formu Zaduzenje onako kako se meni to cinilo logicnim, obzirom da me je Zoran u ranijem postu uputio da mi trebaju Insert i Update upiti, pretpostavljam da se tabela ObveznikZaduzenje treba puniti Append query-jem na osnovu dokumenta Zaduzenje. Da li je trebalo ovako ili na osnovu upita Zaduzenje gdje su ukljuceni atributi iz tabele ObveznikZaduzenje napraviti formu u kojoj bi se odmah prepisivali podaci u atribute te tabele?
Uzgred da pohvalim Zidarev predlog i MZ tolls dodatak Access-u koji je predstavio u temi Upravljanje investicionim projektima , jako dobra stvar
[ nenadmarkoni @ 07.03.2013. 18:33 ] @
Napravio sam odredjene izmjene nad modelom, u entitetu Zaduzenje sam umjesto BrojUgovora stavio BrojMeseci, koji ce nam sluziti da u entitetu ObveznikZaduzenje prepise BrojRata, povezao sam PlacanjeRada i RadniNalog,Izbacio sam Opis i Osnov iz Dokument-a; Pošto je pola bila ijekavica a pola ekavica promjenio sam da sve bude ekavica.Takodje podatke cu unositi na ekavici. Dodao sam neke atribute u PodaciZgrade. Finansijski dio aplikacije radi lakseg snalazenja cu pokusati da radim u praznoj bazi. Za pocetak pitanje Zaduzenja. Kao sto sam vec ranije rekao ima vise vrsta.
Ja sam identifikovao sledece:
-Redovno mesecno zaduzenje ( Povrsina * VrstaProstora.Koeficijent * PredmetPoslovanja.JedinicnaCena gde je PredmetPoslovanja = Redovno mesecno zaduzenje).
-Vanredno zaduzenje za jednog Obveznika
-Vanredno zaduzenje svih Obveznika prema kvadraturi
-Vanredno zaduzenje svih Obveznika prema broju clanova
-Rastavljanje ukupnog duga na rate, gdje treba obezbediti da se tim dokumentom izmire sva dotadasnja dugovanja, a formira jedno zaduzenje koje je zbir svih zaduzenja koja su izmirena tim dokumentom.

Zaduzenje treba da prenese podatke u tabelu ObveznikZaduzenje, na osnovu koje ce se vrsiti Obracun.
[ nenadmarkoni @ 07.03.2013. 21:09 ] @
Pokusao sam da napravim formu Obveznik za koju bi se vezala forma ObveznikZaduzenje, medjutim primjetio sam problem u modelu. Sta kada je Obveznik vlasnik 2 prostora? Cini mi se da Zaduzenje i Razduzenje treba vezati i za Prostor i za Obveznika, ili samo za Prostor? Ovde mora Zoran da pomogne.
[ nenadmarkoni @ 08.03.2013. 20:14 ] @
Ovo je moje vidjenje kako bi trebalo da se postavi model. Izmjenio sam i dio Podaci Zgrade,Racun i Uplata

Zaboravio sam da povezem Racun i Placanje. I to treba dodati kad sam vec vezao Racun i Uplatu

[Ovu poruku je menjao nenadmarkoni dana 08.03.2013. u 21:52 GMT+1]
[ nenadmarkoni @ 08.03.2013. 21:05 ] @
Nisam dobro uradio entitet Racun, mislim da je ovako bolje
[ Zoran.Eremija @ 09.03.2013. 09:47 ] @
Nisam vec duze vreme u toku zbog obaveza. Ima potreba za korekcijom modela, ali pre toga imam nekoliko pitanja.
Nije mi jasan entitet Racun. Da li je to u stvari evidencija broja tekuceg ili ziro racuna za poslovne partnere?!?!
Takodje entitet OsnovniPodaciZgrade, da li se odnosi na zgradu nad kojom je formirana skupstina? Ako je ova tvrdnja tacna, a znamo da je skupstina zgrade pravno lice tada bi entitet ja bih ga krstio kratko Zgrada bio ujedno i pravno lice plus sa podacima koji su specijalni za Zgradu.

Takodje ima jedan tehnicki problem prilikom koriscenja ERwin-a. Ovaj CASE alat sistem gleda kroz logicki i fizicki nivo.
On ima osobinu da ako ste definisali na logickom nivou naziv entiteta ili atributa na jedan nacin onda na fizickom nivou ako nazive promenite imacete sledecu situaciju.
Na logickom nivou imate entitet "OsnovniPodaciZgrade", a na fizickom nivou "PodaciZgrade" i kada se generise model u bazu entiteti na fizickom nivou prelaze u tabele sto znaci da u bazi cete imate tabelu po imenu "PodaciZgrade".



Ova osobina ERwin-a nije greska jer neki relacioni modeli imaju ogranicenja pa se na logickom nivou koriste blagodeti ERwin-a radi opisivanja entiteta i atributa, a na fizickom se prilagodjava relacionom modelu. Kada je u pitanju Access-a ili SQL Server, za ovim nema potrebe pa je pozeljno da nazivi entiteta i atributa budu isti i na logickom i na fizickom nivou, sto znaci da prilikom kreiranja ili promene naziva entiteta i atributa uvek i samo uvek radite na logickom nivou.
[ nenadmarkoni @ 09.03.2013. 11:04 ] @
Entitet Racun bi trebalo da vodi evidenciju racuna koji Zgrada ima kod Banke(Banaka), a trebalo bi da se veze sa uplatama ,prenosom interne blagajne i placanjima da bi se znalo koliko ima novca na kom racunu, na osnovu kojih uplata, prenosa i placanja koji se vrse sa tog racuna.
PodaciZgrade jesu podaci za zgradu nad kojom je formirana skupstina. I ja sam razmisljao o ovom vezanju, mada sam ostavio ovako da bi podaci korisnika sistema(Zgrade) ostali ipak za koriscenje na dokumentima na laksi nacin. Po meni logicnije bi mi bilo vezati, kao nadredjeni entitet , entitet "Zgrada" sa entitetima Partner i Prostor u odnosu jedan prema vise.Obzirom da se ovo pravi za jednu zgradu nisam ni to vezao.
Ovo u erwinu nisam znao i nisam ni primjetio da postoji greska. Hvala.
[ Zoran.Eremija @ 09.03.2013. 15:52 ] @
Ispravio sam razlike logickog i fizickog nivoa, ali na verziji modela koju ja imam a ne na Vasoj (lakse mi je bilo :-( ).



Na gornjem modelu sam Vam predlozio kako da definisete podatke o zgradi, na osnovu potvrde moje pretpostavke. Zgrada je pravno lice i uveo sam Vam entitet VrstaPravnogLica gde za sada imate Zgrada, Banka ...

Pogledajte model u subject areji "3 MESECNI OBRACUN". Proucite malo, a vidim i da ste i Vi dosli do istog zakljucka da prilikom obracuna treba voditi obracun u preseku Godina, Mesec, ProstorID, ObveznikID, PredmetPoslovanjaID.


[Ovu poruku je menjao Zoran.Eremija dana 09.03.2013. u 17:06 GMT+1]
[ nenadmarkoni @ 09.03.2013. 17:14 ] @
Hvala Zorane!
Doradicu malo da sve bude na ekavici, i mislim da je sada model kompletan (Tako sam isto rekao prije nekog vremena )
Pocecu sa izradom finansijskog dijela aplikacije. Znam da pocetnici kao sto sam ja ne mogu ispratiti ovaj model pa cu objavljivati ono sto sam uradio parcijalno uz objasnjenja. Izvinjavam se iskusnim clanovima foruma ako im je naporna ova tema i ceste poruke, ali kada dodjemo do kraja aplikacije stvarno mislim da ce mnogima koristiti. Zoran mi je u privatnim postovima jako pomogao da ne bude da sad ja kao nesto znam... .
Kao sto sam prethodno rekao poceo sam sa zaduzenjem i identifikovao oblike zaduzenja.
Redovno mjesecno zaduzenje krece onoga trenutka kada se Partner veze uz Prostor, tj. postane Obveznik. Isto tako prestaje kada Obveznik , kroz formu PromenaObveznika prestane biti vlasnik prostora. Zavisno od OsnovaPromeneObveznika njegova dotadasnja zaduzenja ili se prepisuju ili se prebacuju u Tabele ObveznikStariZaduzenje i ObveznikStariRazduzenje a njegov ObveznikID se prebacuje u ObveznikStari. Ovde se omogucuje da ukoliko je razlog PromeneObveznika = Prodaja, ObveznikStari nastavi sa otplatom svog zaduzenja a buduce obaveze se pripisuju Partneru koji je NoviObveznik,a u slucaju nasledja moze se pratiti sta je ObveznikStari zaduzivao i placao. Ove radnje i popunjavanje tabela izvrsavace Append, Update i Delete Query, u momentu kada se desavaju pomenute radnje.
Za preostale vrste zaduzenja ja cu napraviti posebne forme, mada bi moglo da se rijesi kroz jednu formu sa dodavanjem check box atributa u entitet Zaduzenje koji bi odredili ponasanje forme.
Na ovaj nacin pocetnici ce moci da prate sta se desava i kako funkcionise model, a iskusni clanovi foruma mogu sugerisati na pojavu gresaka.
Jos jednom da se zahvalim Zoranu i izvinim za ometanje.
[ nenadmarkoni @ 11.03.2013. 22:48 ] @
Uz konsultacije sa Zoranom izmjenjen je model u dijelu ObveznikRazduzenje
[ nenadmarkoni @ 13.03.2013. 10:20 ] @
Pokusao sam da napravim formu za Vanredno zaduzenje jednog obveznika,iz koje bi se Append query-jem prenijelo zaduzenje u tabelu obveznik zaduzenje, medjutim ovaj upit nije radio pa sam napravio od njega select query QZaduzenjePrikaz da vidim sta se desava. U polju ProstorID mi formira neki hieroglif??? Ne mogu da provalim zasto?

[ Zoran.Eremija @ 13.03.2013. 10:57 ] @
Pogledajte kako bih ja napravio Upit koji bi mi sluzio da se izvrsi novo zaduzenje "QZaduzenjePrikazZE". Oslonac upita bolje je da je tabela ili neki drugi upit jer tada podatak sigurno postoji. Imao sam i ja takvih problema ali ne secam se kako sam ih resio. Zato se drzim ovog principa.
ps: Konvertovao sam Vam bazu u verziju 2003.
[ nenadmarkoni @ 14.03.2013. 09:00 ] @
Pitanje redovnog mesecnog zaduzenja i vanrednog zaduzenja za jednog obveznika je rijeseno. Uveo sam novi entitet VrstaZaduzenja koji ce nam trebati da bi se omogucio pristup formama za zaduzenje kroz vec postojecu formu DokumentLista.Mislim da je ovo poslednja izmjena modela. Pitanje Zaduzenja svih obveznika prema povrsini i prema broju clanova je mozda i najkomplikovaniji slucaj u cijeloj aplikaciji. Najprije moramo evidentitati zaduzenje koje se rasporedjuje (grupno zaduzenje), za koje se nece vezati PartnerID. Pri izvrsenju ovog zaduzenja pokrenuce se Append query koji ce izvrsiti rasporedjivanje ovog zaduzenja na Obveznike i njihove prostore u zavisnosti od izabranog nacina raspodjele zaduzenja. Ovi query-ji ce izvrsiti popunjavanje tabela Dokument, Zaduzenje i ObveznikZaduzenje, i formirace onoliko zaduzenja koliko ima prostora u tom trenutku. Nadredjeni dokument za ova zaduzenja ce biti grupno zaduzenje po kom se evidentira iznos grupnog zaduzenja. Iznos zaduzenja u podredjena dokumenta koja ce nastati djelovanjem Append query-a odredice : Iznos nadredjenog zaduzenja / Ukupna povrsina(Ukupan broj clanova) * Povrsina prostora(Broj Clanova). Broj rata ce se prenijeti sa nadredjenog na podredjena dokumenta.
Krecem u pokusaj rjesavanja.
[ nenadmarkoni @ 14.03.2013. 13:00 ] @
Prvi pokusaj neuspjesan.
Kako da postavim formulu da mi povecava DokumentID ?
[ Zoran.Eremija @ 14.03.2013. 13:27 ] @
Pojasnite pitanje?!?! Gde i u kojem trenutku?!?!?
[ nenadmarkoni @ 14.03.2013. 13:43 ] @
Pokusao sam napraviti Append upite koji bi na AfterUpdate forme za zaduzenje svih obveznika podjelilo ovo zaduzenje i napravilo nova zaduzenja na osnovu njega. Upiti se izvrse samo za prvo zaduzenje, jer imaju podatak za formiranje DokumentID, a ostale ne. Nisam pored racunara, mislim da je upit QZaduzenjePodeli
[ nenadmarkoni @ 14.03.2013. 19:44 ] @
Probajte da izvrsite zaduzenje formom ZaduzenjeSvihPovrsina , a onda pogledajte tabele Dokument, Zaduzenje i ObveznikZaduzenje.

Treba da dobijem ovakvo izvrsenje .(-s tim sto ovakva postavka ne valja-)
Trebam nekako da dobijem povecanje DokumentID u Append query-ju. Trenutno sam iskoristio ProstorID posto su poredjani od 1 do 4.
[ Zoran.Eremija @ 14.03.2013. 22:48 ] @
Ako sam Vas dobro razumeo, pogledajte u upitu "QDokumentRaspodelaPovrsinaDodaj" kolonu ID: CInt(Nz(DMax("ID","QZaduzenje")+RecNum([ProstorID],False))).
Funkcija RecNum prakticno daje Brojac koji inkrementalno raste za 1 s time sto se pre pokretanja ovog upita mora varijabla Brojac koja je Public resetovati na 0 sto mozete videti uvodjenjem dugmeta Overa u formi "ZaduzenjeSvihPovrsina".
[ nenadmarkoni @ 15.03.2013. 10:13 ] @
Ne moze na ovaj nacin. Ako u istom upitu na 2 mjesta upotrebim ovu funkciju ono ce na oba mjesta ukljuciti brojac pa se dobija uvecanje za 2 a ne za 1, a npr u "QDokumentRaspodelaPovrsinaDodaj" bi trebalo da se uvecaju polja DokumentID kao i ID. Pokusao sam sa dodavanjem nevezane tabele RedniBroj( koja sadrzi samo cifre od 1 do x) koju sam pokusavao da ogranicim brojem povrsina u tabeli , ali nisam uspio. Treba samo da se dobije jedno polje u upitu koje bi bilo od (1 do x, gdje je x = Broj ProstorID) :-(
Resice se to nekako...
[ Zoran.Eremija @ 15.03.2013. 10:27 ] @
Da da da u pravu ste i evo novog resenja

Napravio sam dva upita

QProstor - kojim se iskljucuju prostori koji nemaju PratnerID
QProstorZaduzenje - U kojem se racuna redni broj

Korigovao sam upit QZaduzenjeRaspodela

I napravio novi upit QZaduzenjeSvihPovrsinaDodaj koji objedinjuje dva prethodna
QDokumentRaspodelaPovrsinaDodaj, QZaduzenjeRaspodelaDodaj
[ nenadmarkoni @ 15.03.2013. 11:37 ] @
Svaka cast. Resenje je bilo da da se stavi brojac na prostore. Dodao sam jos jednu liniju koda, jer je potrebno sacuvati zapis prije izvrsenja Append query-ja da bi imali sa cime da rade, i napravio Append koji ce dodati zaduzenje u ObveznikZaduzenje.

[ nenadmarkoni @ 15.03.2013. 21:16 ] @
Uradio sam i formu za Zaduzenje svih obveznika prema broju clanova, izmjenio sam upit UkupnaKvadraturaIBrojClanova da uzima takodje podatak samo za useljene prostore, dodao sam i ispravku u upite QZaduzenjeSvih... , u polju Iznos da sortira Iznose >0, jer necemo nikoga zaduziti sa nulom.
Zadnja varijanta zaduzenja je Sporazumno rastavljanje duga na rate, ali njega cemo ostaviti za malo kasnije jer nisam siguran sta sve treba da obuhvati, a svakako ce biti zasnovano na tabeli GodinaMesecObracun.
Krenucu da rjesavam dio MesecniObracun, pa cemo se kasnije vratiti na pitanje promene statusa.
Uklonio sam i dugme Overi. Polje DatumOvere neka ostane kao podatak za dokumenta koja se overavaju kod drzavnih i drugih organa. Na formi nisu vidljiva polja NazivDokumenta i DatumDokumenta iako su u tabelama postavljeni sa svojstvom Required. Ova polja ce se popunjavati automatski na osnovu podataka sa forme i datuma unosa dokumenta. Na BeforeUpdate sam postavio kod koji ce provjeriti da li su ispunjena sva polja koja su neophodna za dati dokumnent, a izvrsenje upita na AfterUpdate. Na ovaj nacin je osigurano da se podaci nece zapamtiti ako nisu uneseni svi potrebni podaci. Na Form Current event odredjeno je da ukoliko se radi o novom zapisu prihvati mjenjanje podataka a ukoliko se pregleda neki vec uneseni zapis onemoguci izmjene i brisanje. I ostale forme za druga dokumenta cu kasnije promjeniti da funkcionisu na slican nacin. Ovo pricam zbog ljudi koji su pocetnici da bi razumjeli funkcionisanje, jer i ja do skoro nisam imao znanja da ovo shvatim.
[ nenadmarkoni @ 16.03.2013. 11:33 ] @
Pokusavam napraviti formu Obracun. Forma sadrzi podformu GodinaMesecLista kojoj je izvor podataka upit QObracun. Poenta je da kada se otvori forma Obracun, pokrene se Append Query QGodinaMesecDodaj koja bi trebala da napravi 12 dokumenata Obracun za mesece u godini koja je obiljezena na formi Obracun. Medjutim nesta ne funkcionise. Ja opet ne mogu da pronadjem gresku. :-(
Forma je inace iz baze podataka koju mi je Zoran poslao kao primjer funkcionisanja aplikacije.

Pronasao sam gresku. Nisu bila slozena polja kako treba, i polje DatumDospeca na tabeli Obracun bilo je postavljeno na Required.

[Ovu poruku je menjao nenadmarkoni dana 16.03.2013. u 13:33 GMT+1]
[ nenadmarkoni @ 16.03.2013. 20:05 ] @
Napravio sam upite koji bi trebali da izvrse mesecni obracun. Medjutim nesta ne funkcionise. :-(
[ Zoran.Eremija @ 16.03.2013. 20:41 ] @
Ovako na brzinu uocio sam par gresaka...

Forma "GodinaMesecLista" na dugme Obracun ...

BrojRata = DCount("[ProstorID]", "QObveznikZaduzenje", "StatusServisaID=1 AND Year(DatumVracanjaStatusaZaduzenja) <=" & Me.GodinaObracuna & " AND Month(DatumVracanjaStatusaZaduzenja) <=" & Me.Mesec)

BrojRata = DCount("[ProstorID]", "QObveznikZaduzenje", "StatusZaduzenjaID=1 AND Year(DatumVracanjaStatusaZaduzenja) <=" & Me.GodinaObracuna & " AND Month(DatumVracanjaStatusaZaduzenja) <=" & Me.Mesec)


QObveznikZaduzenjeObracunServiseDodaj -> QObveznikZaduzenjeObracunZaduzenjaDodaj

' Me.Napomena = DLookup("[NapomenaZaRacun]", "System")
[ nenadmarkoni @ 16.03.2013. 21:35 ] @
Jedno slovo i odmah nece ....
To je bilo to... radi!
Za danas dosta...
[ nenadmarkoni @ 17.03.2013. 16:26 ] @
Takodje je bilo gresaka u zarezima u funkcijama polja upita npr ..."ProstorID ='"&[ProstorID]&"'" Trebalo je "ProstorID="&[ProstorID] , ili tako nesto, uglavnom nije se radilo o string-u nego o number-u pa je pravilo greske. Mislim da sam ispravio
[ nenadmarkoni @ 18.03.2013. 17:04 ] @
Sa Zoranom sam se u privatnim porukama konsultovao u vezi atributa Kamata. Nakon toga sam malo istrazivao i ispalo je da je pitanje zakonske zatezne kamatne stope komplikovana stvar. Obracun se vrsi na malo komplikovaniji nacin da se ne bi obracunavala kamata na kamatu, sto je protivzakonito i neustavno. Obzirom da je stanje u sektoru koju ova tema obradjuje i onako u haoticnom stanju bolje je pitanje kamate ostaviti po strani tako da cu ovaj atribut za sada izbaciti iz entiteta Obracun. Zakon ne propisuje nista po pitanju odobravanja popusta, to je pravo Skupstine da donese odluku da li ce i koliko odobriti popust redovnim platisama. Vazno je samo da postoji odluka u pisanoj formi. Propisani nacin obracuna zatezne kamate je u prilogu.
[ nenadmarkoni @ 23.03.2013. 22:12 ] @
Lagano idemo dalje. Preuredio sam malo forme i dodao par novih. Stanje koda nije kako bi trebalo biti. Ima ovde jos masu,masu posla...
Ako ima neko zainteresovan da malo proceslja po kodu i ostalom. Po malo se gubim u svemu ovome...
Dizajn formi koje su dodate je takodje po ugledu na model Zorana Eremije.
[ nenadmarkoni @ 25.03.2013. 20:11 ] @
Imam problem sa reportom MesecniRacun. Negdje postoji greska a ja ne mogu da je nadjem. Kad se pokusa otvoriti trazi PredmetPoslovanjaID, i GodinaMesecObracun... Iznos mesecnog racuna; Ukupan dug i Ukupno za placanje pokazuje "0"?
Please ... :-(
Zaboravih i to sto mi ne odredi Datum dospeća kako treba :-(
[ Zoran.Eremija @ 25.03.2013. 23:04 ] @
Korigovao sam upite

QGodinaMesecObracun
QMesecniRacunStavka
QMesecniRacunStavkaUkupno

Zatim u Repotima MesecniRacun i MesecniRacunStavka polja Mesec
Kao i izraze u poljima
MesecnoZaduzenje
NeizmireneObavezeIzPrethodnogPerioda
[ nenadmarkoni @ 26.03.2013. 08:00 ] @
Veliko hvala Zorane.Kao sto vidita jos uvjek mi nisu do kraja jasna pravila prilikom formiranja upita, narocito onih sa vecim brojem informacija . Na brzinu sam samo jutros pogledao i vidim da nisam trebao koristiti QObracun vec posebno tabele Dokument i Obracun. Popodne cu malo dublje analizirati greske koje sam napravio. Hvala jos jednom. Da naglasim i da je dizajn izvestaja MesecniRacun Zoranovo djelo.
[ nenadmarkoni @ 27.03.2013. 16:59 ] @
Napravio sam malu izmjenu na modelu. Uveo sam ProstorID u entitete UplataBanke i UplataInterna da bi se moglo pratiti sta je ko platio za dati prostor i iz toga raditi knjizenje u ObveznikRazduzenje.

Mala ispravka, trebalo je vezati ProstorID na entitet Uplata.

[Ovu poruku je menjao nenadmarkoni dana 27.03.2013. u 18:13 GMT+1]
[ Zoran.Eremija @ 27.03.2013. 17:38 ] @
Bas lep primer za pokazati smisao generalizacije i specijalizacije. Kao sto se vidi na slici imamo generalizovan entitet "Uplata" i specijalizovane entitete "UplataBanke" i "UplataInterna".



Ako opisni atribut ProstorID ide u opis i jednog i drugog specijalizanta, onda se taj opisni atribut seli u opis generalizovanog entiteta u Vasem slucaju Uplata

[ nenadmarkoni @ 27.03.2013. 20:25 ] @
Odmah sam uocio i ispravio gresku. Neiskustvo. Pokusao sam da napravim varijantu forme gdja bi mogla da se izvrsi vise varijanti uplate ali nisam uspio pa ce za uplate ipak trebati vise formi. Pravim sutra. :-D
Sto se tice knjizenja mislim da ce UplataID u ObveznikRazduzenje biti suvisam. Provjera da li ima dovoljno uplacenih sredstava za razduzenje ce se vrsiti kroz upit i bice uslovljeno kolicinom uplacenih sredstava po Obvezniku i Prostoru.
[ Zoran.Eremija @ 28.03.2013. 07:05 ] @
Citat:
nenadmarkoni: Pokusao sam da napravim varijantu forme gdja bi mogla da se izvrsi vise varijanti uplate ali nisam uspio pa ce za uplate ipak trebati vise formi.

Da mnogo je lakse napraviti onoliko formi koliko specijalizanata ima, manje je programiranja. Problem realizacije specijalizacije je najvise u tome sto nijedan realcioni model ne poznaje oblik veze Generalizacija-Specijalizacija, pa se takav oblik veze mora simulirati. Odavno sam uocio uradivsi komparativnu analizu poznatih relacionih modela (Oracle, RDB, DB2, INFORMIX, Access, SQLServer, MySQL...) da jedino Access pravljenje upita - Query-ja i nad njima Forme, se jednostavno simulira jedinstvenost veze Generalizacija-Specijalizacija, za razliku od svih drugih relacinih modela realizacija aplikacije nad pomenutim tipom veze je teza.
Citat:
nenadmarkoni: Sto se tice knjizenja mislim da ce UplataID u ObveznikRazduzenje biti suvisam. Provjera da li ima dovoljno uplacenih sredstava za razduzenje ce se vrsiti kroz upit i bice uslovljeno kolicinom uplacenih sredstava po Obvezniku i Prostoru.

Ova veza je denormalizujuca, ali ima smisla s aspekta kontole, sta je izazvalo promenu zaduzenosti, tako da se ne bih odricao te veze.
[ nenadmarkoni @ 28.03.2013. 16:04 ] @
Citat:
Zoran.Eremija: Ova veza je denormalizujuca, ali ima smisla s aspekta kontole, sta je izazvalo promenu zaduzenosti, tako da se ne bih odricao te veze.

Ne moze da skodi,a cim ne skodi znaci da koristi.
Kasnijom analizom , koliko to moje znanje dozvoljava, sam shvatio da ce ovaj atribut imak biti od koristi , narocito kod razduzenja bivsih Obveznika. Nisam ni primjetio da sam izmjenu napravio na starijoj verziji erwin dokumenta. Evo aktuelne varijante, i formi za uplatu.
[ nenadmarkoni @ 31.03.2013. 15:54 ] @
Još malo dorađeno. Napravio sam i jednu malo vezu između PredmetaPoslovanja i Plaćanja Rada.
Uglavnom je sve što valja rađeno po Zoranovom modelu. U reportima SpisakObveznikaZaOpomenu i SpisakObveznikaZaUtuzenje imam mali problem- StatusUgovoraID . Posto je prerađen Zoranov izvještaj. U prilogu je i font da bi mogao da radi bar-kod.
[ Zoran.Eremija @ 31.03.2013. 18:24 ] @
Kada se nesto preradjuje zna da se desi slican problem. Gde je ostala informacija "StatusUgovoraID" ne nadjoh ali da cudo bude jos vece sistemom eliminacije objekata iz Report-a uocio sam da kada se ukloni objekat "SifraStatusaPartnera" ne daje gresku. Jednostavnim brisanjem i ponovnim prevlacenjem tog objekta iz liste polja problem je nestao.

Drugi problem je bio u tome sto je u Properties Report-a ostao u osobini Filter neki prethodni filter "(QObveznikProstor.UkupanDug>0) AND (QObveznikProstor.BrojMeseciDuga>3)". Brisanjem toga u potpunosti se razresio problem.
[ nenadmarkoni @ 31.03.2013. 18:29 ] @
Ja sam ubacio taj filter. Za dugovanja preko 3 meseca spisak obveznika za opomenu i oni koji kasne preko 1 godinu za utuzenje.
Nije mi jasno gdje je i zašto ostalo taj uslov koji je pravio gresku. Sve sam pokusavao ali se vraćalo.
[ nenadmarkoni @ 01.04.2013. 09:20 ] @
Ubacena Switchboard forma, cisto da se dobije utisak kako ce sve funkcionisati. Ima jos posla
[ nenadmarkoni @ 01.04.2013. 20:34 ] @
Tek sam shvatio da pola funkcija od ranije ne funkcionise jer su vršene izmjene na modelu. Aaaaaaaaa.....
"Ajd' Jovo na novo"!
:-( , :-( , :-(
[ nenadmarkoni @ 02.04.2013. 08:02 ] @
U erwin modelu su se potkrale greske pa su ostali neki atributi koji ne bi trebali biti tu gdje jesu. Npr.BrojRata i OdobrenPopust u ObveznikStariZaduzenje... :-/
[ nenadmarkoni @ 04.04.2013. 11:34 ] @
Evo jos po nesta dodato, i izmenjen erwin model
[ Zoran.Eremija @ 04.04.2013. 15:11 ] @
Radi onih koji su se ukljucili u ovu temu i prate je a i onih koji prvi put vide, samo da se podsetimo prvog posta kojim se zelelo nesto uraditi http://www.elitesecurity.org/t443445-0#3024930. Tada je korisnik @nenadmarkoni napisao sta zeli, a kao sto se vidi danas je Kolega @nenadmarkoni moze se vec reci usao u svet primene racunara u nekoj oblasti...

Svakako da ima jos seckanja drveta, ali temelji su postavljeni i sada se svaka funkcionalnost sminka. Ima tu jos dosta toga. Idemo dalje i srecno!
[ nenadmarkoni @ 04.04.2013. 16:00 ] @
Daleko sam ja od statusa "Kolege", ali hvala Vam u svakom slučaju. Ova tema ponajviše dokazuje kolika je izdržljivost vođa ovog foruma u nesebičnoj pomoći onima koji žele da uče. Ova aplikacija je nastala zahvaljujući forumu i vlasništvo je foruma pa će i potpunu funkcionalnost doživjeti ovde na forumu i biće dostupna svima kojima je potrebna. Pored toga pokušaću da , kada bude gotova, u aplikaciju i uz aplikaciju, dodam što više objašnjenja i pratećeg sadržaja da bi sam princip funkcionisanja aplikacije bio razumljiv i potpunim početnicima. I sam KOD će se mjenjati jer ono što sam ja dodavao nije baš najsjajnije riješeno i napisano, moze to mnogo bolje. Hvala Vam na podršci...
[ Zidar @ 04.04.2013. 22:09 ] @
Cestitam i zahvaljuejm i Zoranu i nenadu :-)

Cik pronadjite temu ne tehnickim forumima koja ima vise od 20,000 pregleda u ovako kratkom roku. Mislim da je ovo najposecenija tema na forumu. Svaka cast i samo napred.
[ nenadmarkoni @ 05.04.2013. 08:12 ] @
Zahvaljujem @Zidar-u na podrsci. Moze biti da je ovolika posecenost uslovljena velikim brojem odgovora (>300), mada sam dobijao privatne poruke i mislim da prilican broj posjetilaca ceka da baza bude gotova, jer je sve vise stambenih zgrada koje samostalno upravljaju odrzavanjem. Cak mislim da ce sama finalna verzija dozivljvati razne promjene, te da se tema duze vremena nece "gasiti". Zamolio bih samo one koji izvrse neku izmjenu, ili bazi dodaju neku funkcionalnost u buducnosti da tu promjenu i resenje objave ovde na forumu. Sama tema prati razvoj jedne aplikacije i prikazuje put od zelje do izrade. Prikazuje vaznost faznog pristupa izrade kroz funkcionalno, informaciono i aplikativno modeliranje kao i vaznost normalizacija. Na kraju krajeva, dokazuje vrijednost ovog foruma jer sam licno kroz pomoc i uputstva "gurua" ovog foruma, i kroz praktican rad , vise naucio nego iz svih knjiga koje sam prethodno procitao. Hvala vam na tome. Zaboravio sam da dodam i da tema dokazuje ono sto je @Zidar na pocetku teme rekao:" Nije to ni malo ni potpuno jednostavno...", i pokazuje i dokazuje pravu vrijednost znanja i umjeca, te koliko truda treba uloziti da bi napravili jednu aplikaciju.Ovo za one koji ne vrednuju i omalovazavaju rad ljudi koji se bave ovim poslom

[Ovu poruku je menjao nenadmarkoni dana 05.04.2013. u 09:25 GMT+1]
[ nenadmarkoni @ 06.04.2013. 23:57 ] @
Evo jos sam malo nesta dodao. Prenos interne blagajne.
Nisam mislio da ce pitanje Opomena i Utuzenje biti komplikovano, ali prevario sam se. Razmišljajući kako je najbolje da se rijese opomene dosao sam do sledećeg: Izmjenio sam entitet Zgrada time sto sam dodao atribute preko kojih bi korisnik imao mogućnost da sam odredi broj mjeseci za rok opomene i utuzenja. Zamislio sam 2 oblika opomene. Opomena- na računu ; Opomena predutuzenje – Dokument
Sad je pitanje kako rjesiti ovaj dokument? Moja zamisao: Kada se izvrsi Obracun, program izbaci formu Obracun obveznik lista. Kada se izvrsi stampanje Racuna da se provjeri da li ima kandidata za opomenu, pa ukoliko ima da prikaze obavestenje da postoje i nakon toga formu za Opomenu - OpomenaLista. Prije forme trebalo bi da Append Query – OpomenaDodaj, a na osnovu ProbaAppendZaOpomenu(Promjeniću naziv kasnije) napravi i doda ova dokumenta koja će se prikazati. Hoće li ovo ovako funkcionisati? Dosao sam u stanje blokade! I ovde nam treba nesto sto ce dati "redni broj" koji bi uvećavao DokumentID. Da li moze resetovanje RecNum da se izvrsava na otvaranje i zatvaranje forme? Nisam znao kako da dodam Mesec u formu OpomenaLista pa sam improvizovao, ne znam hoce li i ovo raditi.
[ nenadmarkoni @ 07.04.2013. 10:03 ] @
Definitivno ovako nece moci. Obzirom da su i Opomena i Utuzenje uslovljeni mesecnim stanjem dugovanja opet cu izmjeniti model vezom ovih entiteta sa entitetom Mesec. Kao i kod Zaduzenja najprije ce trebati upit koji ce izdvojiti one koji imaju dugovanja za Opomenu, tj. Utuzenje pa u drugom upitu dodati redni broj. Kod Utuzenja se mora voditi racuna da ne daje dugovanja za koja je vec pokrenuto Utuzenje. ...mozda opet lupetam, ne zqmjerite...:-/
[ nenadmarkoni @ 07.04.2013. 20:20 ] @
Uspio sam da nešto riješim u vezi sa Opomenama:-D
Ako moze neko da mi doda filtar , kada se sa dvoklikom na OpomenaLista_DS klikone da mi u subformi filtrira samo taj zapis.
Hvala unaprijed.
Za Utuzenje će biti malo komplikovanije, jer se mora voditi računa o tome da se ne uputi Utuzenje dva puta po istom dugovanju.
Sadrzaj sifarnika StatusZaduzenja treba da se mijenja jer nema veze sa Utuzenjima,Otpisima... , tada to nisam znao kada sam ga popunio. Status zaduzenja odlucuje ili UplataID, ili DokumentRazduzenjaID.
Malo odmora i pauze, za mene je ovo jakooooo, jakooooooo naporno.



[Ovu poruku je menjao nenadmarkoni dana 07.04.2013. u 21:36 GMT+1]
[ Zoran.Eremija @ 08.04.2013. 09:48 ] @
Nisam siguran da li sam sve dobro razumeo, ali mislim da je greska u 2 stvari.
Prva je uslov, a druga je sta ce otvoriti.

Kako je:
stLinkCriteria = "[Godina]=" & Me![Godina] & " AND [Mesec]=" & Me![Mesec]
stDocName = "Opomena"

Kako mislim da treba:
stLinkCriteria = "[OpomenaID]='" & Me![DokumentID] & "'"
stDocName = "OpomenaLista"
[ nenadmarkoni @ 08.04.2013. 11:01 ] @
Mislim da ce to biti rjesenje. Blokada mozga, :-D.
[ nenadmarkoni @ 09.04.2013. 10:59 ] @
Nesta je malo radjeno po pitanju Utuzenja. Nije ispitano , ne znam da li ce funkcionisati. Da li sam dobro napisao upit ObveznikRazduzenjeUtuzenjeDodaj koji treba da dopise DokumentRazduzenjaID i DatumPromene u ObveznikRazduzenje??
[ nenadmarkoni @ 09.04.2013. 23:11 ] @
Dodao sam izvestaj Utuzenje, testirao, imam problem sa QObveznikRazduzenjeUtuzenjeDodaj. Treba da doda kao Dokument RazduzenjaID, DokumentID - UtuzenjeID pod kojim je pokrenuto utuzenje.
[ nenadmarkoni @ 10.04.2013. 22:42 ] @
Ne uspjevam doci do rjesenja. Ne uspjevam upisati u ObveznikRazduzenje - DokumentRazduzenjaID i DatumPromene.
Uglavnom u entitetu ObveznikRazduzenje , nakon pokretana forme Utuzenje, treba da dobijem stanje koje trenutno prikazuje upit QObveznikRazduzenjeUtuzenjeDodaj.
Sta mi treba da bih ovo dodao????
Probao sam sve vrste upita na sve načine. Da li uopšte može pomoću upita da se ovo uradi? U cemu grijesim nije mi jasno? :-(

[Ovu poruku je menjao nenadmarkoni dana 10.04.2013. u 23:55 GMT+1]
[ Zoran.Eremija @ 11.04.2013. 09:36 ] @
Upit QUtuzenjeLista nije dobar za ovu namenu, zbog toga sto je napravljena vestacka veza preko izvedenog podatka za ProstorID. Treba napraviti prirodnu vezu koja je vec definisana u modelu izmedju Partnera i Prostora.

[ nenadmarkoni @ 11.04.2013. 18:22 ] @
Mislim da treba uvesti ProstorID u entitete Utuzenje i Opomena.
Evo i novo rešenje

[Ovu poruku je menjao nenadmarkoni dana 11.04.2013. u 20:24 GMT+1]
[ nenadmarkoni @ 13.04.2013. 21:04 ] @
Dodao sam izostavljeno pitanje osvezavanja statusa zaduzenja. Imam neku greskicu na otvaranju forme StatusZaduzenja iz ObveznikPregled. Za ObveznikStari sam postavio samo stampanje uplatnice umesto racuna. Na MesecnomRacunu takodje postoji neka greska, za obveznika Jovanovic Jelena ne prikazuje Uplatnicu na MesecnomRacunu???
Postavio sam i formu RastavljanjeDugovanjaNaRate, ali nisam zadovoljan njenim funkcionisanjem, jer treba najprije da se potpise "Ugovor o priznanju i dinamici izmirenja duga"(koji jos nisam napravio), pa tek da se razdjeli dugovanje.
Nisam jos uradio report RadniNalog. Da bi njega uradio treba da se unesu testni podaci.
Otvoren sam za sugestije gdje i sta treba mjenjati.
I da.....dodao sam formu kojom se mogu brisati DodatnaRedovnaZaduzenjaSvihObveznika
[ Zoran.Eremija @ 16.04.2013. 13:09 ] @
Citat:
nenadmarkoni: Imam neku greskicu na otvaranju forme StatusZaduzenja iz ObveznikPregled.


Greska je u zaostalom parametru kriterijuma

Forms(stDocName).Caption = "Istorija statusa zaduzenja" '& UCase([NazivZaduzenja])

koji sam stavio u komentar

Citat:
nenadmarkoni: Na MesecnomRacunu takodje postoji neka greska, za obveznika Jovanovic Jelena ne prikazuje Uplatnicu na MesecnomRacunu???


Ovo se desava kada preuzimate neki objekat iz neke druge aplikacije. On u sebi sadrzi u polju Filter poslednji filter koji je bio u prethodnoj aplikaciji, sto kod vas taj filter nema smisla. Na donjoj slici vidite selektovano, koje treba obrisati.

[ nenadmarkoni @ 16.04.2013. 21:29 ] @
Zahvaljujem. Jos malo dodato, ispravljene neke greske.
[ nenadmarkoni @ 21.04.2013. 15:28 ] @
Pokušao sam da unosim zaista prave podatke iz svoje arhive koje sam vodio u excel-u, i totalno sam se razočarao u rezultat. Mnogo, mnogo toga ne funkcioniše. Pravi takve greske da je to... , da ne kazem nesto teze , ali iritirajuće u najmanju ruku. :-(
Dosta toga treba da se prepravlja i dodaje. Dosta toga mora da se osmisli na drugačiji način....
Kreće ljeto , a ja tada imam malo slobodnog vremena.... biću malo manje aktivan . Ako neko zeli da se zanima oko ovoga moze nastaviti ....
[ Zoran.Eremija @ 23.04.2013. 17:52 ] @
Krojacki zanat nije lak. Ako se na pocetku uzme pogresna mera to dovodi do toga da je jedan rukav duzi a drugi kraci ili da budem jos slikovitiji da su sasivena dva leva rukava na sakou. Osnov uspesnosti je dobro i precizno preslikavanje realnog sveta. Cesto mi se desavalo u praksi da se preslikavanje krenulo od nekih postojecih podataka ili da se preslikavanje krenulo ne uzimajuci u obzir postojece podatke. Najbolji metod je reinzenjering a to znaci sve sto ima staviti na radni sto i sve zivo konsultovati. Zatim treba intervjuisati onog ko stvarno - istinski dobro poznaje realni sistem. I tada kada se sve ovo zadovolji opet promakne nesto sto deluje sitno a moze znacajno uticati na promenu modela procesa i naravno modela podataka, a samim tim i na promenu vec tada razvijene polazne aplikacije. Bolno jeste, ali je tako. Vracanjem nazad se otklanjaju problemi i to je jednini put. Postoji danas mnogo metoda razvoja IS ali nijedna nije sveobuhvatna i svaka ima svoje prednostii i mane. Zbog toga se smatra da analiticar sistema ne moze biti osoba mladja od 35 godina. Sta da Vam kazem, sem da taj gorak osecaj koji imate ijhaaa haj puta sam okusio i zato napred i ne odustajte.
[ nenadmarkoni @ 23.04.2013. 18:15 ] @
Modeliranje je dobro urađeno,i sto se toga tiče zaista se radi o sitnicama.Pravi problem je u mom neznanju i nedovoljnom poznavanju samog Access-a, i VBA programiranja. Forme ne funkcionišu na odgovarajući način; Nije omogućeno unošenje starih podataka na jednostavan način; Treba omogućiti direktno rasknjižavanje dugovanja Uplatom; Možda na neki način omogućiti unos podataka o dugovanju,pri naplati, jednostavnim unosom PozivaNaBroj, (Kad je već na računu)....
Zatim što se tiče programskog koda nije to urađeno da valja, zatim ErrorHandler....
Mogu Vam reći da me je dobro umorilo ovo, a malo je slobodnog vremena trenutno, ako ne preuzme niko, reinzenjering na jesen
Pozdrav!
Evo malo reinzenjeringa, za pocetak.
Na modelu sitne izmjene, ono bitnije je da sam ubacio DatumIzrade u Dokument (DatumDokumenta će biti datum koji će omogućiti dodavanje starih podataka), i vezao Prostor sa Zgrada( zbog lakše upotrebe podataka Zgrade u dokumentima). Šifarnik je prebačen u Menu Bar. Dodata ErrorLog tabela i promjenjen ErrorHandler po primjeru iz teme Investicija.

[Ovu poruku je menjao nenadmarkoni dana 23.04.2013. u 21:11 GMT+1]

[Ovu poruku je menjao nenadmarkoni dana 23.04.2013. u 22:15 GMT+1]
[ nenadmarkoni @ 26.04.2013. 19:12 ] @
U pokušaju reinzenjeringa. Molio bih iskusne forumaše da mi odmah na početku ukažu na ono što ne valja. Trenutno su obrađene samo forme vezane za Partnera(ne potpuno), Zgradu, Šifarnici i Delovodnik( koji sam odvojio od ostalih dokumenata ). Uklonio sam šifarnik VrstaPrijema i ubacio tabelu DelovodnaKnjiga - to je ono sto sam zelio dobiti kad je u pitanju delovodnik dokumenata
[ Zoran.Eremija @ 28.04.2013. 17:56 ] @
Delovodnik je knjiga koja sluzi da se evidentiraju svi dokumenti koji se pojavljuju u sistemu. Vidim da Vas to od samog pocetka zbunjuje. Predlozio sam Vam da osnovu delovodnika u stvari cini entitet Dokument. No dobro ako Vam je lakse da shvatite ceo model ok ajmo da kazemo idemo reinzenjering dosadasnjeg. Ubacili ste entitet Delovodnik u redu, ali ako se uzme u obzir prethodno receno sta je to delovodnik ili deleovodna knjiga onda veza koju ste napravili izmedju Dokumenta i Delovodnika u direktnoj suprotnosti. Veza koju ste postavili je tipa generalizacije/specijalizacije, gde ste postavili da je entitet Dokument generalizovani objekat-entitet, a Delovodnik specijalizovan objekat-entitet.

Sta kaze metodologija kada je u pitanju oblik veze Generalizacija/Specijalizacija? Generalizovani entitet je stariji entitet i predstavlja "Roditelja", a specijalizovani entitet je entitet "Dete", sto znaci da ne moze nastati zapis u entitetu Delovodnik sa svojim ID, a da taj isti ID ne postoji u entitetu Dokument. Ovo bi bilo OK kda ne bi bilo drugih specijalizanata, a posto ih ima onda definicija veze Generalizacija/Specijalizacija ide dalje, a to je da uvodi novu osobinu a to je "Diskriminator" koji je matematicki operator tipa "ILI", sto znaci ako je neka n-torka u entitetu Dokument diskrimisana atributom VrstaDokumentaID, taj diskriminator kaze da ta n-torka moze biti samo i samo u jednom od specijalizanata, sto znaci da ako je to u vasem slucaju VrstaDokumentaID=12 "UPLATA" to znaci da se ID broj te n-torke moze pojaviti samo i samo u entitetu Uplata, a nikako se ne moze pojaviti "I" u entitetu Delovodnik, sto je pak u suprotnosti sa ulogom realnog dokumenata delovodnik.

Zakljucak:

Entitet Delovodnik nikako ne moze biti speciajlizovani entitet od entiteta Dokument. Ranije sam o tome pisao ali mozda nisam bio jasan. u neku ruku Delovodnik i Dokument su entiteti istog nivoa i znacaja. Prakticno mogu biti jedan te isti. Mozda sam nespretno dao ime entitetu Dokument- Dokument, mogao se zvati i Delovodnik. No nije bitno to ime toliko iako je veoma teska uloga imenovanja objekata, bitnije je da taj entitet u stvari ima sve one osobine koje ima jedan generalizovani dokument i sve osobine koje ima delovodnik. Ako bas i zelite da odvojite te osobine jedne da se nalaze u entitetu Dokument a druge u entitetu Delovodnik, moze se to uraditi ali tada veza izmedju ta dva entiteta je sasvim drugacija a nikako kao sto ste postavili. U prilogu sam postavio sliku kako ste posatvili i kako bi u tom slucju trebalo biti.

A da se ja pitam ukinuo bih entitet Delovodnik i sve njegove osobine preneo u entitet Dokument.



[Ovu poruku je menjao Zoran.Eremija dana 28.04.2013. u 19:57 GMT+1]

[Ovu poruku je menjao Zoran.Eremija dana 28.04.2013. u 20:00 GMT+1]
[ nenadmarkoni @ 29.04.2013. 21:19 ] @
Naravno da se pitate!
Citat:
Zoran.Eremija

A da se ja pitam ukinuo bih entitet Delovodnik i sve njegove osobine preneo u entitet Dokument.


Malo sam "raduckao " i promjenio par stvari. Pored toga počeo sam uporedo sa tim da crtam flowchart-ove za module aplikacije.
Izmjenio sam i formu Sednica.
Ovde ću se zaustaviti dok ne dovedem ovo što je napravljeno do pravilnog funkcionisanja.
[ nenadmarkoni @ 02.05.2013. 21:56 ] @
Forma Sednica malo "dotegnuto".Odprilike prati realni sistem odrzavanja sednice. Međutim, nisam ubacio atribute : VremeOdrzavanja i MestoOdrzavanja tako da...opet izmjene.
[ nenadmarkoni @ 05.05.2013. 20:27 ] @
Definitivno JA ovo ne mogu odraditi valjano do kraja. Hvala Zoranu na nesebičnoj pomoći.
Zaista sam se trudio!!! :-(
[ Zoran.Eremija @ 05.05.2013. 22:34 ] @
Hmmm... Kako kaze ona "Dao 1 dinar da udje, a 2 da izadje" ... :-) Pouka: dzaba se ne moze izaci ... :-)

Naravno da se salim, ali da vidimo sta je to sto Vas je dovelo do ove odluke. Pokusajte da se malo presaberete i da opisete sta je presudilo da sada odustanete.
[ nenadmarkoni @ 05.05.2013. 23:20 ] @
Pokusao sam sa „prekrajanjem“ baze. Izludjela me je forma Sednica. Pokusao sam da je uredim da prati realni sistem odrzavanja sednice, a to ide ovako otpirlike:
- na osnovu usmenih predloga i primjedbi , ili po redovnom postupku Predsjednik Skupstine odlucuje da treba sazvati Sjednicu
- zakazuje Sjednicu (obicno Nedeljom), i predlaze dnevni red na osnovu naprijed navedenog i mjesto odrzavanja( obicno u stanu nekog stanara ako zgrada nema prostorije za odrzavanje Sednice)
- stampa Obavestenje o zakazanoj sednici i objavljuje na oglasnoj tabli
- stanari se sakupljaju u zakazano vreme na zakazanom mestu
- ako je ispunjen Kvorum za donosenje odluka počinje sa sednicom
- ako nije ispunjen Kvorum sednica se odlaze i zakazuje nova( rijetko se desava)
- usvaja se predlog tacki dnevnog reda, i ako ima potrebe dodaju se nove tacke dnevnog reda
- rasprava po tackama , glasanje , usvajanje ili neusvajanje
- donosenje odluke
- zakljucivanje sednice
- stampanje zapisnika
- potpisivanje zapisnika od ucesnika( ovo nije obavezno)
- stampanje odluke
- Obavestenje, Zapisnik i Odluka se arhivira
- objavljuje odluke na oglasnoj tabli
- za sednicu na kojoj se bira Upravnik odluka se overava i zavodi u Opstini

pokusao sam da napravim formu koja bi ovo pratila, ali nisam uspio. Pored toga forme treba da omoguće unosenje dokumenata iz arhive. Primjetili ste vjerovatno da su forme malih dimenzija. Aplikaciju radim na netbook-u , i na njemu ce se i koristiti, pa nema sirine za vece subforme vec se moraju otvarati u istom prozoru.
Baza je za mene preobimna da bih sve radio iz pocetka. I kada bih to pokusao svakako ne bi ispalo da valja jer nemam iskustva u dizajniranju formi. Vaša baza koju ste mi poslali kao primjer zahtjeva minimalni napor korisnika, sto kod mene nije slucaj. Kada sam probao da prepakujem forme dobijam neke greske koje ne mogu da pronadjem, ne znam sta nije u redu pa lutam i gubim vreme ( i zivce)....i kada zavrsim opet ispadne da nesto hvali....
Ma nisam odustao, ja to ne umijem! :-( Samo sam preumoran. A imam zelju da ovo ispadne dobro....


[ nenadmarkoni @ 08.05.2013. 13:49 ] @
Iz knjige prof. Alempija
[ Zidar @ 08.05.2013. 18:26 ] @
E kad bi samo u zivotu sve bilo pravolinijski i sekvencijano kao u knjizi... Nije kriv profesor, sve su knjige takve, na svim jezicima, za sada, i tako ce ostati sledecih 20-30 godina, nazalost.

Problem pracenja sednice i svih dogadjaja u vezi sa sednicom je mnogo isuvise slozen da bi se resio jednom formom. Zasebna baza sa desetak tabela je potrebna da se na zadovoljavajuci nacin resi ovaj problem. U tom procesu stvorice se neki dokumenti (odluka o odrzavanju, poziv na sednicu, dnevni red, odluke o tackama dnevnog reda, zapisnik) i moraju da se obave neke radnje - kako si lepo naveo u opisu. Sistem koji podrzava ovu aktivnost - uptavljanje sednicama - treba da omoguci registrovanje radnji, stampanje dokumenata i na kraju prosledjivanje dokumenata glavnoj bazi- onoj koju si pravio svih ovih meseci. Mozes da imas dve baze za pocetak, jednu koaj s ebavi sikljucivo sednicaam, i iz koje prosledjujes dokumente u glavnu bazu, da se tamo cuvaju kroz Delovodnik i ostalo. A mozes i celu grupu tabela koje se bave sednicaam da cuvas u istoj bazi gde je delovodnik, kao nekakvu pod-shemu, ako zelis, ali se bojim da ces se izgubiti u moru tabela.

Pokusaj da razmisljas na taj nacin - divide at conquere - razbij problem na manje probleme od kojih je svaki resiv za sebe, nezavisno od rugih. Ja ne mogu da ti poazem oko toga, jos uvek dugujem Davoru pomoc oko pracenja investicija, ali sam siguran da ce Zoran moci nesto da smisli. Zoran je tu od pocetka i ne bi bilo pamethno da se sad menja stil rada, sto bi se neumitno desilo ako se neko drugi ukljuci u ovoj fazi.
[ nenadmarkoni @ 08.05.2013. 21:20 ] @
Svaki savjet je za mene velika pomoć.
Kao što Vi rekoste u temi sa kojom sam ušao u svijet Access-a: "Ne vredi da ti kazemo sta ne valja, ako ti ne kazemo kako valja. A to ne moze za kratko vreme. Zato sam preporucio ucitelja. Veruj mi, toliko toga ne valja da treba mnogo papira i vremena da se sve napise. Nema svrhe poceti od toga sta ne valja, treba poceti od toga kako valja. Ni u osnovnoj skoli nas nisu ucili prvo kako se ne pise, nego su nas ucili odmah kako se pise."
Zoran se velikodušno ponudio u ovoj temi da ,ne samo meni, već i svim drugim početnicima na ovom forumu pokaže kako "valja". To što aplikacija ovaj put nije doživjela uspjeh ne čudi, ovo je preveliki zadatak za jednog početnika. Ali i velika škola. Stekao sam znanja koja na početku teme nisam imao, razumijem stvari koje tada nisam razumio(iako sam mislio da razumijem). Zbog svega naprijed navedenog, i po Zoranovom savjetu, vraćam se na sami početak. Znam da sam mnogim iskusnim forumašima već poprilično dosadan pa neću mnogo daviti sa porukama ovaj put.
[ Zidar @ 09.05.2013. 16:05 ] @
Nemoj da se obeshrabris. Meni ne izgleda da ono stop je uradjeno "ne valja". Samo je fizicki veoma i treba mnogo detalja da se razresi na aplikaciji. Pokusaj da promenis strategiju. Nemoj sve odjednom da resavas. Parce po parce je lakse. U kapitalizmu sam naucio termin 'impact assessment', a prevodi se kao 'koja bi od svih nabrojanih funkcija dala njaveci efekat/ucinak na pocetku'. Iz iskustva, ono sto je developeru najvaznije i najinteresantnije, uglavnom nije interesantno korisniku. Korisnik ovde ne znaci onaj ko sedi za tastaturom i kuca, u tvom slucaju to je kucni savet. Koja je to funkcija koju moze sistem da automatizuje a ostavila bi najjaci utisak na kucni savet. Iz iskustva, bas ono sto si pomenuo na kraju - pracenje sednica i sastanaka. Ako aplikacija podrzi:
- unos osnovnih podataka o sednici (datum, gde se odrzava)
- unos stavki dnevnog reda
- stampanje poziva koji ce se kaciti na oglasnu tablu
- stampanje pojedinacnih poziva koji ce se postom ili e-mailom poslati svima koji se pozivaju
- upisivanje prisutnih/odsutnih
- upisivanje beleski o stavkama dnevnog reda (vodjenje zapisnika)
- upisivanje konacnih odluka po stavkama dnevnog reda
- slanje zapisnika na overu, ako je potrebno, onima koji treba da overe
- slanje overenog zapisnika kome treba
- kopiranje podataka o sednici, stavkama, zapisnicima u onu lepu veliku bazu koju si sa Zoranom napravio
ti si na konju. Kad clanovi kucnog saveta pocnu da dobijaju e-mailom pozive za satanke, i da primaju zapsinike i doluke kao PDF attachments, svi ce ozbiljnije shvatiti celu stvar.

Posle mozes napraviti podsistem za pracenje opravki u zgradi, ili placanje zajednickih dazbina i slicno, za sta vec imas tabele u bazi. Sad napravis aplikaciju koaj radi jednu relativno prostu funkciju. Na kraju zavrsis sa desetak aplikacija, koje sve napadaju istu bazu. Dotle ces imati dovoljno iskustva da procenis koje se aplikacije mogu spakovati u jedna paket, i dovoljno znanja da to i uradis. I eto posla do penzije :-)
[ nenadmarkoni @ 11.05.2013. 08:22 ] @
Da li sam nešto previdio?
Naravno da jesam. Mozda je ovo bolje resenje....

[Ovu poruku je menjao nenadmarkoni dana 11.05.2013. u 12:46 GMT+1]
[ nenadmarkoni @ 29.05.2013. 11:57 ] @
Malo reinzenjeringa. Parcijalno.
Novi model.
[ Zidar @ 30.05.2013. 21:21 ] @
Primecujem jednu stvar koju ne razumem: Tabela StatusSednice:{StatusSedniceID, SifraStatusaSednice,NazivStatusaSednice} Kakva je razlika izmedju zancenja StatusSedniceID i SifraStatusaSednice? Imas mnogo tabla sa itim problemom, sifra i ID postoje zajedno. Ako je nesto sifra, verovatno je jedinstvena, pa zadovoljava uslov za UNIQUE ili PRIMARY key. Dodavanje jos jednog ID samo komplikuje stvar nepotrebno.

Primedbu mnogu da prosirim i na postojanje tabela tog tipa uopste. Realna tabela je Sednica. OK. Na tu jednu realnu tabelu imas dva look-upa, TipSednice, StatusSednice. To pretrpava model. Isto se moze postici sa validacijom na nivou kolne. Recimo, TipSednice IN ('Redovna','Vanredna'). Nema nikakve posebne prednosti u koriscenju koda 1,2 i dodavanju lookup-tablele koje koja prevodi 1,2 u 'redovna','vanredna'. Mnogi ce reci ' a sta ako moramo da dodamo novi tip sednice'. Nista. Sa lookup labelom cemo samo dodati nopvi red. Ali, za svku tabelu nam treba forma, pa dugme da tu formu pozovemo. Znaci, ulazemo rad u formu i dugme da bi mozda nekad u buducnosti na jednostavan nacin dodali novu vrednost. Iskustvo sa sifranicima tipa 'vrsta sednice' pokazuje da se oni retko ili nikada menjaju, pa je mozda prihvatljivo reskirati da jednom u deset godina moramo da u validaciji kolone dodamo jos jednu vrednost, i u nekom combo boxu uradimo isto. Time cemo na duzi rok utrositi siti rad, ali necemo za uzvrat uloziti rad unapred. Ako bi prihvatili tu logiku, ponudjeni model bi imao 60% tabela manje i bio bi citljiviji i razumljiviji. Ne bi trosili vreme u programiranje prevodjenja sifri u citljive reci, ne bi pisali kod za odrzavanje silnih look-up tabela. Rad bi ulozili u resavanje problma 'sta ako se doda nova vrednost' onda kad se to desi.Oslobodjeno vreme mogli bi da upotrebimo da osnovne delove sistema nateramo da rade kako smo zamislili i akko treba.

Sifriranje brojevima vuce korene iz vremena busenih kartica, kada je bilo lakse busiti ,1,2, nego 'redovna','vanredna' i kad je prostor na disku i u RAM memoriji bio jako skup. Danas sve to ne vazi. A i integer i=1 uzima 8 bajta najmanje, a string 'redovna' uzima 7 bajta, jedan manje nego integer. Upotreba kodova podrazumeva prevodjenje kodova u citljive pojmove, pa i taj rad treba uzeti u obzir.

Ne kazem da treba menjati postojeci model, samo da je moguce malo pojednostaviti celu stvar i posmatrati iz istog, samo malo drugacijeg u
gla. Pri tome imamo istu garanciju integriteta podataka, na jednostavniji nacin - umesto FK upotrebili bi CHECK constraints.

[ nenadmarkoni @ 31.05.2013. 08:55 ] @
Kao što znate , ja sam u fazi početnika sa "osnovnim" znanjem. Sifriranje sa ID i Sifra, sam usvojio od Zorana, i po njegovom savjetu sve sifarnike odradio na taj nacin. To je valjda sistem paralelnog označavanja koje dozvoljava da se promjeni sifra a da ID ostane kao nesto sto se ne mijenja. Da se ne bi bilo greske koja bi uticala na buduci rad programa , i da bih lakse unosio tacne podatke,cak sam i sifarnike ogranicio da prakticno sami unesu osnovne sifre koje se javljaju. Sigurno da nije dobro, i sigurno da moze mnogo bolje ali za sada je tako. Model iz prethodnok posta je opet promjenjen, ali i na ovome ima jos dosta gresaka. Razdvojio sam po fazama i lagano, koliko to vrijeme dozvoljava pokusavam da to sredim. Problem je sto ima dosta stvari koje se ne daju razdvojiti. U moj BE unosim stvarne podatke tako da ga ne mogu ovde zakaciti, pa kacim praznu kopiju.
Erwin mi pravi neke greske pri prebacivanju podataka u Access, pa su moguće greske na ovom BE kojih inače nema u ER modelu. Trenutno pokusavam osmisliti forme za Sednicu i Odluku. Odluka je razdvojena od sednice. Moze postojati i kao zaseban dokument, ali moze biti donijeta i na Sednici pa je i model tako napravljen. Stampace se posebna odluka za svaku tacku dnevnog reda. To daje mogucnost da se pisanom saglasnošću(potpisivanjem na odluku) donese odluka.

[Ovu poruku je menjao nenadmarkoni dana 31.05.2013. u 10:29 GMT+1]
[ nenadmarkoni @ 31.05.2013. 09:41 ] @
Mogu da zakacim pdf sa prikazanim subject area-ma pa da zajedno raspravimo i dođemo do konačnog modela, obzirom da kako ste rekli da ne koristite Erwin. Ukoliko imate vremena meni nije problem.
[ Zoran.Eremija @ 31.05.2013. 10:52 ] @
Citat:
Zidar:
Primecujem jednu stvar koju ne razumem: Tabela StatusSednice:{StatusSedniceID, SifraStatusaSednice,NazivStatusaSednice} Kakva je razlika izmedju zancenja StatusSedniceID i SifraStatusaSednice? Imas mnogo tabla sa itim problemom, sifra i ID postoje zajedno. Ako je nesto sifra, verovatno je jedinstvena, pa zadovoljava uslov za UNIQUE ili PRIMARY key. Dodavanje jos jednog ID samo komplikuje stvar nepotrebno.

Pokretac teme je dao odgovor na ovo Vase zapazanje, ali da dodam.
Nacelno se model baze definise primenom metode resavanja goruceg problema ili primenom Projektovanja. Ako je metod resavanja goruceg problema slazem se pitanje svrsishodnosti uvodjenja paralelnog sistema oznacavanja, da je to gubitak vremena, a sam zahtev da se nesto goruce brzo resi to ne dozvoljava. Buduci da smo se ranije slozili da je ova tema u neku ruku edukativna zbog drugih korisnika, primenjen je model projektovanja te sam savetovao pokretaca teme da primeni model paralelnog sistema oznacavanja i kao sto vidim pokretac teme je uspesno usvojio i savladao pravila.

Tacno je da ako neki atribut kada projektant uoci da ima dodatno tumacenje te sam sebi postavi pitanje da li ce prerasti u entitet, jedan od kriterijuma je koliko n-torki ce taj entitet imati i ako uoci da je taj broj n=2 eventualno 3 pitanje svrsishodnosti, proglasiti ga dodatnim entitetom. No u praksi kada se projektije model, ipak sam pristalica da se iako je broj n-torki jednak 2, taj atribut prosiri dodatnim entitetom iz vise razloga npr. Pol, znamo da je broj n-torki jednak 2 ("MUŠKO","ŽENSKO"), ako bi zeleli izvestaje po tom atributu kasnije ne bismo morali dodatno da tumacimo vec je tumacenje evidentirano u bazi, a iskoristio bih isti primer i za SifruPola ("M","Ž"), zgodno je prikazivati u nekim pregledima i po skracenom tumacenju koje je opet azurirano u tabeli.
Ako uzmemo pretpostavku edukativnosti opet takvo preslikavanje atributa u entitet je dobro iz razloga analitickog pogleda gde je u ovom slucaju atribut Pol prerastao u entitet Pol a on sada ima osobinu dimenzije kao jednu od osnovnih osobina OLAP.
[ Zidar @ 31.05.2013. 15:23 ] @
Da se razumemo, i ja radim ove iste stvari koje dovodim u pitanje Potpuno je u skaldu sa teorijom da se dodaju novi entiteti koji definisu domen iz koga neki atribut moze uzeti vrednosti. Ja vidim potencijalni problem u dodavanju vestackog kljuca ID, kad vec postoji sifra. Posmatrajmo primer iz Zoranovog posta, (Musko, Zensko). Ovo je ono sto ocekujemo u bazi:
Code:

CREATE TABLE Pol
(
Pol varchar(6) UNIQUE -- varchar je istoi sto i text u Accessu
, SifraPola char(1) UNIQUE
, IdPola int PRIMARY KEY
)
;
-- Ovo se normalno ocekuje u atbeli Pol:
INSERT INTO Pol VALUEs ('Musko','M',1)
INSERT INTO Pol VALUEs ('Zensko','Z',2)
;
-- Evo sta imamo u tabeli Pol
SELECT * FROM Pol
;
Pol    SifraPola      IdPola
------ --------- -----------
Musko  M                   1
Zensko Z                   2

(2 row(s) affected)


Recimo da imamo tabelu Osobe, gde prenosimi IdPola iz tabele Pol. Tabela Osobe mogla bi d aizgleda ovako:
Code:

Osoba           IdPola
---------- -----------
Zivorad              1
Aleksandar           1
Zeljka               2
Anka                 2


Nenad kaze
Citat:
To je valjda sistem paralelnog označavanja koje dozvoljava da se promjeni sifra a da ID ostane kao nesto sto se ne mijenja. Da se ne bi bilo greske koja bi uticala na buduci rad programa , i da bih lakse unosio tacne podatke,cak sam i sifarnike ogranicio da prakticno sami unesu osnovne sifre koje se javljaju.

Zamislite sada da dodje nova direktorka, koja hoce da promeni ID, pa da musko bude 2 a Zensko bude 1. jednim potezom pera Zivorad i Aleksandar postaju zensko. Ovako nekako:
Code:
Pol    SifraPola      IdPola
------ --------- -----------
Musko  Z                   1
Zensko M                   2

nemojte misliti da se ovakve stavri ne dogadjaju. Hocu da kazem da ponekad zaboravimo st u stvri radimo i budemo poneseni procedurama i pravilima, pa dobijemo suprotan efekat. Kljucni deo Nenadove recenice je
Citat:
.. koje dozvoljava da se promjeni sifra a da ID ostane kao nesto sto se ne mijenja. ..
Ja sam upravo to uradio, jer je sistem dizajniran da mi upravo to dozvoljava, i sve muskarce sam proglasio zenama i obrnuto.





[Ovu poruku je menjao Zidar dana 31.05.2013. u 17:57 GMT+1]
[ nenadmarkoni @ 31.05.2013. 15:58 ] @
Koliko sam ja razumio sistem, ID je nesto na sta korisnik nema uticaja-Programski formiran AutoNumber. Korisnik moze da mijenja Sifru i Naziv. Da bilo sta promjeni u njima to nece imati uticaja na rad programa. Moze da stavi da Zivorad bude Z(Zensko) ali i dalje ce biti ID=1.
Mada sam kroz programski kod sifarnika i to zabranio.
Eventualno moze u Zivoradovim podacima da promjeni pol u Z(Zensko) :-)
Moze jedino u formi FizickoLice gdje je evidentiran Zivorad da izabere Pol = Zensko, ali to je već odgovornost onoga ko unosi podatke.
Kao sto neko rece:"Racunar je mašina koja će uvjek dati tačan rezultat netačnih podataka"
[ nenadmarkoni @ 31.05.2013. 18:51 ] @
Citat:
Zidar:  Ja sam upravo to uradio, jer je sistem dizajniran da mi upravo to dozvoljava, i sve muskarce sam proglasio zenama i obrnuto.

:-)

Ako ste probali preko Sifarnika i forme Pol , ovo niste mogli promeniti. :-)
Obzirom da sam i ja razmisljao sta ako.... pa sam zakljucao unos i promenu. Mozda je to glupo ali tako sam odradio
[ Zidar @ 31.05.2013. 20:01 ] @
Citat:
Moze da stavi da Zivorad bude Z(Zensko) ali i dalje ce biti ID=1.
U tome i jeste problem. Meni nista ne znaci sto je Zivorad i dalje ID=1, ako sam promenio znacenje. Sad SVI rkordi u tabeli Osobe koji su ID=1 su zensko, a bili su musko. Znaci, SVE podatke u tabeli Osobe ucinio sam potpuno pogresnim, a da pri tome nisam ni pipnuo tabelu Osobe. Tvoju aplikaciju nisam ni otvorio, dobro je da imas u kodu nesto sto sprecava korisnika da pravi ovakve greske. Ali nista ne sprecava programera. I sta ako idem direktno u tabele? Uvek ima skorisnika koji znaju malo vise, ali ne dovoljno da ne bi pravili greske koje se tesko otkrivaju. Naravno da uvek mogu da kazem da je Zivorad zensko, u samoj tabeli Osobe, ali ta je greska u pojedinacnim rekordima i tu nema leka. Ovde se radi o promeni u drugoj tabeli, koju je tesko primetiti, a koja je SVE podatke u vaznoj tabeli ucinila potpuno pogresnim. A tu promenu smo omogucili upravo uvodjenjem kolone PolID koja je nezavisna i otporna na promene. Znaci, grsku smo ugradili u sistem. Tu vrstu promena treba uciniti sto tezom.

Bez lookup tabele, a sa validacijom u tabeli Osobe, kolona Pol IN ('m','z') ili cak Pol In (1,2) mnogo je teze okvariti SVE rekorde. Mozete pojedinacnim rekordima dodeliti pogresan pol, ali da jednim potezom pokvarite celu tabelu, to nije tako lako.

Bazu ne cinimo vise relacionom ako dodamo sto vise relacija. Radi se o tome da se podaci zastite od namernih ili nenamernih losih promena. Postavljanje relacija je lepa stvar, ali nije resenje za sve i treba paziti da ne unesemo vise problema nego sto resavamo.

U svakom slucaju, ovo je samo za razmisljanje. Nastavi i dalje sa radom, nista lose ne cinis, to je sve 'standardna' praksa, ali treba biti pazljiv.

Necu vise da komentarisem, nisam imao nameru da kritikujem, samo sam se setio nekih sopstvenih iskustava i patnji nastalih iz razloga koje sam opisao.
[ nenadmarkoni @ 31.05.2013. 22:41 ] @
Ne bih volio da prestanete komentarisati moje objave, naprotiv.
Po meni forum je i mjesto na kom treba razmjenjivati različite stavove. Ako sam išta naučio ,naučio sam od Vas i od gospodina Zorana - dva velika stučnjaka sa različitim pristupima načinu izrade aplikacije. Nadam se da sam do sada, a da ću i u buduće usvojiti od vašeg znanja i iskustva ono najbolje. Kao što uvažavam i poštujem Zoranovu, tako isto uvažavam i Vašu 'školu'. Sa Vašim primjerom izrade aplikacije za magacin sam i počeo učiti Access i baze podataka. Nemalo puta do sada ste dokazali koliko je ispravna stvar validacija na nivou tabela. Usvojio sam ovaj Vaš savet, i sigurno ću ga upotrebiti, ako ne na ovoj onda na nekoj budućoj bazi. Kao što vidite ni u ovom novom pokušaju reinženjeringa nisam do kraja došao do konačnog informacionog modela. Volio bih kada bih mogao dobiti Vaša mišljenja, jer mi kao početniku i sa mojim neiskustvom misli lutaju što se osjeća i na izradi ove aplikacije, a realni sistem u oblasti koju oslikava aplikacija nije do kraja dobro definisan pa to stvara još veći problem. Ako sam išta pogrešio javno se izvinjavam, a za savjete se od sveg srca zahvaljujem.
[ nenadmarkoni @ 30.06.2013. 10:38 ] @
Evo mene opet. Unešene su određene izmjene u informacionom i aplikativnom dijelu. Forme su malo ljepše urađene ali i na njima ima određenih grešaka koje nisam umio riješiti. Trenutno sam na dijelu 14 Donošenje odluke o formiranju organa upravljanja, tj. održavanju prve - konstitutivne sjednice. Ubacio sam novu tabelu PredlozenaTacka koju koristi tabela DnevniRed. Tu imam jedan problem.Forma Sednica, subforma DnevniRed. Ne mogu da dobijem ispravan redni broj tačke dnevnog reda. Probao sam na razne načine da formulišem polje Broj itd., ali nikako da dobijem ispravan podatak. Stalno dobijam "1".U čemu griješim?
Takođe sam izbacio tabelu StatusSednice.
[ Zoran.Eremija @ 30.06.2013. 20:27 ] @
Greska je bila u sintaksi dodeljivanja sledeceg rednog broja i nije Vam radila funkcionalnost On Not In List (Ova funkcionalnost je najbolje objasnjena na sledecem linku http://support.microsoft.com/default.aspx?scid=kb;EN-US;q197526). U prilogu su itklonjeni problemi.
[ nenadmarkoni @ 02.07.2013. 20:30 ] @
Opet, Hvala Zoranu!
Tek sam primjetio da nisam postavio ispravan INFORMACIONI MODEL u PDF formatu. Izvinjavam se.
[ nenadmarkoni @ 14.07.2013. 22:26 ] @
Postoji li mogućnost da se u tijelu email poruke dobije isti tekst kao i u obaveštenju? Forma Sednica.
Malo sam ispravio oko cmdOdluka. Evo ispravljeni fajl.
Ukoliko je datum sednice manji od tekućeg datuma moze se poslati email poziv i odstampati Obavestenje, u suprotnom ce se vidjeti cmdRasprava i cmdOdluka.
Znaci ako se ne vide komandna dugmad za Obavestenje i Email povecajte datum sednice.


[Ovu poruku je menjao nenadmarkoni dana 15.07.2013. u 00:01 GMT+1]
[ nenadmarkoni @ 15.07.2013. 07:56 ] @
Uspio sam nešta da osmislim, još ostaje da nekako uguram primaoce?
[ nenadmarkoni @ 15.07.2013. 16:00 ] @
Uspio sam i to da uguram. Slanje emaila sa jednom linijom koda. Da li ovo valja? Molio bih vas da testirate i da mi sugerišete na napravljene greške. Treba još ograničenja da se uvede...
Nazalost ni ovo ne valja. Problem nastaje kada se unese sledeća sednica i njen dnevni red... stampa i ono prethodno i ono novo,,, :-(

[Ovu poruku je menjao nenadmarkoni dana 15.07.2013. u 18:51 GMT+1]
[ nenadmarkoni @ 15.07.2013. 18:51 ] @
Moze li recordset-om ili nečim da se izdvoji samo izveštaj koji je vezan za tekuću sednicu? Ovo bi bio najlakši način za slanje maila ako to moze. Ja sam pokušavao ali ne umijem to uraditi. :-(
[ Zidar @ 15.07.2013. 22:17 ] @
Citat:
Problem nastaje kada se unese sledeća sednica i njen dnevni red... stampa i ono prethodno i ono novo,,, :-(


OutputTo cita iz definicije reporta sta treba da bude na reportu i ne mozes da dodas WHERE kao sto bi uradio u DoCmd.OpenReport. Jedan od nacina je da neposredno pred slanje promenis record source za sam report. Moglo bi ovako nekako (takoo je kod mene uradjeno):

Napravi zaseban kveri koji sluzi smo da pokupi podatke za ivestaj koji s esalje emailom i ni za sta drugo.
Pre nego sto izdas OutputTo komandu, promeni definiciju kverija, ovako nekako:

dim db as DAO.database
dim qdef as DAO.querydef
set db = getcurrentdb
set qdef = db.querydefs("qryIzvestajZaSlanje") 'kveri koji sluzi iskljucivo da definise report source za izvestaj koji se salje
qdef.sql = "SELECT * FROM negde WHERE IdSednice = " & (me!SednicaID) 'ovim si promenio record source za izvestaj

Docmd.OutputTo ......


srecno :-)
[ nenadmarkoni @ 17.07.2013. 18:45 ] @
To je to. Veliko Hvala!!!
[ nenadmarkoni @ 03.12.2013. 10:54 ] @
Ovo je definitivno odustajanje od izrade ove aplikacije, u prilogu je poslednji pokušaj . Hvala Zoranu i ostalima na svesrdnoj pomoći.
Za one koji žele da isprobaju funkcionisanje uradjenog potrebno je sledeće:
Najprije je potrebno prelinkovati podatke na ZGRADA_BE podatke tamo gdje ih raspakujete, sve osim fajla Delatnosti. Njega ćete naći u folderu Dodatak pa ga tamo prelinkujte.
Sledeće je popunjavanje pomoćnih tabela-šifarnika. Postavljeni su tako da sa tasterom TAB ili ENTER aplikacija sama popuni većinu šifarnika. Neophodno ih je sve popuniti. Šifarnik Delatnosti preuzima podatke iz excel fajla.
Zatim se unose podaci o Partnerima- pravnim i fizičkim licima - vlasnicima i td...
Zatim se definišu Prostori i povezuju sa vlasnicima
Tu je moguće odraditi ovlašćenje za zastupanje vlasnika na sjednicama
Forma sjednica prati odvijanje sjednice u realnom sistemu.
Najprije se zakazuje sjednica koja treba da bude 5 dana prije odrzavanja, ali je dozvoljen unos i manjih zbog unosa dokumenata iz arhive i hitnih sjednica- ali će se o tome dobiti upozorenje.
Ako je prva sjednica u nizu biće konstitutivna, ako nije moze se izabrati da li je redovna ili vanredna
Unosi se dnevni red. Za konstitutivnu prvih nekoliko tačaka je unaprijed definisano
Omogućava se pozivanje emailom obveznika ili stampa obavjestenja
Kada dođe vrijeme za odrzavanje sjednice najprije se konstatuje prisutnost
Ukoliko nema dovoljnog kvoruma odlučiće se o tome da li će se sjednica otkazati ili će se odrzati sastanak a glasanje izvršiti pisanim putem.
Ukoliko se nastavlja najprije se usvaja dnevni red
Vode se rasprave po tačkama i donose zaključci-odluke
Glasa se po odlukama
Ne moze se zaključiti sjednica ako ima odluka koje su u statusu GLASANJE U TOKU
Kad se unese glasanje na osnovu broja glasova odluka će biti DONESENA ILI ODBAČENA... ITD...

Tu sam stao. Ako neko želi da nastavi srećno...:-)

[Ovu poruku je menjao nenadmarkoni dana 03.12.2013. u 12:22 GMT+1]
[ Getsbi @ 04.12.2013. 07:10 ] @
Na prethodnom postu je bilo pitanje "Kojim redom raditi aplikativno modelovanje?". U međuvremenu je pitanje uklonjeno, a ja nisam stigao da blagovremeno odgovorim. Evo jednog predloga koji nema pretenzije da bude pravilo već zbir nekih mojih iskustava.

1. Ako je rađeno funkcionalno modelovanje (Business Process u BPwin), svi boksovi
koji su nosioci aktivnosti, koriste se za stavke menija aplikacije, vodeći računa da
meni prati hijerarhiju stabla aktivnosti (Node Tree) Bpwin-a. Na ovaj način će
poslovni poces biti preslikan na aplikaciju.
2. Izrađuju se forme i isprobava unos podataka, te dodaju ograničenja koja nisu mogla
biti dodana na nivou tabela.
3. Za Record Source formi i izveštaja pišu se SQL izrazi.
4. Automatizaciju VBA kodom koristiti po potrebi, tamo gde se do rešenja ne može doći
SQL izrazima.
5. Pripajati forme i izveštaje već oformljenom meniju aplikacije.
6. Može se koristiti iterativna metoda, te nakon prvog kruga dodavati još neke stavke
u meniju aplikacije, kao što su Servis (prijava/odjava, arhiviranje, Relink,
Import/Export, otvaranje korisničkog naloga, uputstvo….).
7. Na kraju se pozabaviti ekranskom podlogom, Startup opcijama, ikonicom za
pokretanje programa na Desktop-u i sličnim problemima.

[ nenadmarkoni @ 04.12.2013. 08:04 ] @
Hvala @Getsbi.
Posmatrajuci informacioni model izdvajaju se tri "glavne" tabele: Partner,Prostor i Dokument pa sam tom logikom osmisljavao aplikaciju.
Ovo je ipak ogroman posao za jednog pocetnika a izgubio sam motivaciju da ovo guram dalje. Ko zna mozda nekad i nastavim sa ovim , ali za sada je tako.
@Getsbi, posto mi nije najjasnija stavka 1. da li mislite, prema datom modelu, da meniji treba potpuno da prati stablo aktivnosti? Koje onda mislite da bi mi trebale forme ?
Hvala na prethodnom savjetu.
[ Getsbi @ 04.12.2013. 09:15 ] @
Stavka 1. Ne mora u potpunosti, ali to treba da je okosnica budućeg menija, jer korisnik (analitičar) očekuje da aplikacija prati tok poslovnog procesa.

Developeri često imaju sopstvene ideje kako meni treba da izgleda i to nije baš najbolji način da korisnik prihvati aplikaciju, a to nam je krajnji cilj. Razuman kompromis je najbolje rešenje. Krajnji korisnik treba da učestvuje i u dizajnu menija.
[ nenadmarkoni @ 05.01.2014. 21:24 ] @
Zorane, Getsbi da li meni aplikacije treba da bude ovakav?
ps. Ne uspjevam da zakacim fajl

[Ovu poruku je menjao nenadmarkoni dana 05.01.2014. u 22:53 GMT+1]
[ Zoran.Eremija @ 06.01.2014. 18:34 ] @
Primenom IDEF0 metode u funkcionalnoj analizi, jedna od faza analize je definisanje stabla aktivnosti koje predstavlja hijerarhijsku dekompoziciju funkcija posmatranog Sistema. U velikoj meri stablo aktivnosti ukazuje na eventualne buduce menije u aplikaciji, ali ne mora se bas striktno drzati toga. Svakako da svaki primitivni proces (def. prmitivni process je onaj process koji daje samo jedan izlaz) ukazuje na neku buducu formu koja se iz nekog menija poziva. Na formiranje menija uticu I strelice koje dolaze odozdo a predstavljaju prema metodologiji Mehanizme, a ako bismo literalno preveli oni u sustini predstavljaju postojeca ili buduca radna mesta ili nezavisne uloge identifikovanih korisnika na sistemu.
[ nenadmarkoni @ 06.01.2014. 20:39 ] @
Zahvaljujem Zorane. Iako sam trazio, priznaćete da o ovome nema baš mnogo informacija kako u dostupnoj literaturi tako ni na internetu,te je sigurno da kako meni tako i drugima nije u potpunosti jasna uloga funkcionalnog modelovanja i njegovog uticaja na aplikativno modeliranje tj. izradu aplikacije.
[ Getsbi @ 07.01.2014. 06:44 ] @
Box-ovi u BpWin-u su nosioci aktivnosti dok su strelice nosioci informacija. Prvi bi trebalo da imaju uticaj na izradu menija aplikacije, a drugi na izradu informacionog modela. Međutim nije baš sve isključivo tako. Usredsrediću se na pitanje uticaja funkcionalnog modela na aplikativni model.

Funkcionalno modelovanje utiče na aplikativno delom kroz menije. Ne mora doslovce meni aplikacije da isprati stablo aktivnosti ali bi valjalo da prvi nivo dekompozicije bude deo glavnog menija (prve linije), uz dodatne delove kao što su: Šifarnici sa prostim formama za popunjavanje, Servis ( Otvaranje naloga, izmena lozinke, kompresija podataka, arhiviranje, dnevnik logovanja.....) itd. Sve ovo pomaže da se korisnik lako sanlazi u aplikaciji.

Po potrebi druga i treća linija menija aplikacije može da se osloni na adekvatne nivoe dekompozicije funkcionalnog modela.

Drugi deo funkcionalnog modela koji je od koristi za aplikativno modelovanje, delom su izlzne strelice, koje su nosioci informacija i koje nam ukazuju koji izveštaji (ekranski ili papirni) trebaju da budu ponuđeni krajnjem korisniku. Takođe kroz praćenje strelica mehanizama odlučujemo o tome kojem korisniku (administrator, šef, operater... ) ćemo dati koje privilegije povodom unosa i ažuriranja podataka, njihovog pregleda, štampanja originalnih izveštaja i slično.

Što bolje ispratimo kroz meni aplikacije, ono što smo od analitičara poslovnog problema saznali tokom funkcionalnog i informacionog modelovanja, to će korisnik aplikacije biti zadovoljniji. U kojoj meri je ovo važno za korišćenje, a ne odbacivanje aplikacije, pa i za buduće angažovanje istog programera-developera, ne trebam ni da pričam.
[ nenadmarkoni @ 08.01.2014. 10:41 ] @
Zahvaljujem @Getsbi.
Na date odgovore evo i djelo- Dinamični meni u zavisnosti od datih privilegija prilikom logovanja
Četiri grupe korisnika- Administrator, Vlasnik, Predsjednik skupštine, Upravnik zgrade
Username:admin Password:admin
Username:mika Password:mika
Username:laza Password:laza
Username:pera Password:pera

Dodat i log pristupa i upravljanje korisnicima
[ nenadmarkoni @ 01.02.2014. 10:58 ] @
Jedno pitanje pošto nisam baš vješt u radu sa recordsetom. Forma StanarFizickoLice. Zelio bih kada se unese JMBG ukoliko postoji u evidenciji Partner sa tim JMBG da prekine unos novog stanara i da prikaze njegove podatke, a ukoliko ne postoji da nastavi sa unosom novog Stanara.
[ Dexxxl @ 10.02.2014. 19:43 ] @
Dosta komplikovanije nego sto na prvi pogled izgleda. U tabeli fizicka lica polje JMBG treba da bude indexed, no duplicates. Probao sam da ubacim error handler na nivou forme, u slucaju unosa vec postojeceg JMBG da hvata gresku i prebacuje se na zeljeni record, ali error handler reaguje tek prilikom pokusaja upisa recorda. Ako pokusam upis cim popunim polje JMBG prva greska koju hvata je da su polja ime i prezime prazna. Mozda neko ko bolje poznaje VB uspe ovo da izgura.

Resenje koje sam dao dosta je glomazno jer proverava da li postoji isti JMBG prilkom svakog unosa, sto moze sa uspori bazu kad se podaci nagomilaju. Obrati paznju da je textbox za unos JMBG unbound, dok se podaci o JMBG prepisuju tek posle provere. TesxtBox vezan za JMBG treba da bude nevidljiv, ostavio sam ga vidljivog da bude jasnije o cemu se radi
[ nenadmarkoni @ 11.02.2014. 10:47 ] @
Dejane hvala! Malo sam ispitivao varijacije na temu u prethodnom postu. Mislim da sami sistem ovakvog unosa ne ide ovako kako sam ja postavio. Trebalo bi najvjerovatnije uvesti novi entitet kao jos jednu vrstu dokumenta, pa da se iz njega azurira lice.Hvala jos jednom.Trenutno nisam uz racunar pa cu kasnije svakako pogledati Vase resenje.

[Ovu poruku je menjao nenadmarkoni dana 11.02.2014. u 12:05 GMT+1]
[ SLOJ.1973 @ 11.02.2014. 21:03 ] @
Citat:
nenadmarkoni: Dejane hvala! Malo sam ispitivao varijacije na temu u prethodnom postu. Mislim da sami sistem ovakvog unosa ne ide ovako kako sam ja postavio. Trebalo bi najvjerovatnije uvesti novi entitet kao jos jednu vrstu dokumenta, pa da se iz njega azurira lice.Hvala jos jednom.Trenutno nisam uz racunar pa cu kasnije svakako pogledati Vase resenje.

[Ovu poruku je menjao nenadmarkoni dana 11.02.2014. u 12:05 GMT+1]

Sve moze da se odradi,samo je pitanje da li je to resenje najbolje.Evo primer koji si zeleo.Pogledaj kod i prati komentare.
Ako se ukuca JMBG koji postoji,dobija se fokus na korisnika sa tim JMBG i forma postaje otkljucana za izmene,.osim polja JMBG-on ne moze da se menja.(ne znam da li je to dobro,ti odluci)
Kako sam odradio-Napravio sam novi upit, QStanarFizickoLicePostoji,koji se filtrira sa forminog text boxa JMBG.Kada je JMBG ukucan,a vec postoji u bazi,forma dobija za RecordSource ovaj upit,a ne stari QStanarFizickoLice.Time sam resio da se na formi pojavi iskljucivo pronadjeni korisnik,a ne i ostali.
Ako je ukucani JMBG manji od 13 cifara,dobija se poruka da ima manje od 13 cifara i sve se vraca u pocetno stanje,tj ukucani JMBG se brise
Ako ukucani JMBG nije validan,a ima 13 cifara,sledi tvoja poruka da li se ipak zeli sacuvati. Ako je odgovor da,nastavlja se sa upisom,a ako ne,brise se zapoceti unos JMBG i krece se ispocetka.
Treba obratiti paznju da textbox JMBG je po defaultu Unbound,da ne bi doslo do slucajnog upisa u bazu i ako nam je zelja da ne sacuvamo podatak.
Kada je odgovor na pitanje Da,onda za ControlSource textboxa JMBG postavljamo formin JMBG iz RecordSource-QStanarFizickoLice.Nadam se da si shvatio nacin na koji sam odradio tvoj zahtev.Pozdrav. Javi da li odgovara.
[ nenadmarkoni @ 11.02.2014. 21:41 ] @
Slobodane svaka čast!!!
Što reče neko u nekoj temi:" Sledeći put ćete nam objasniti kako se peče pita u Access-u!" He,he...
Iako sam odustao od daljeg rada na ovom projektu(jer mu definitivno za sada nisam dorastao) nova saznanja iz prethodnih postova koja su nam (nama početnicima) objasnili @Getsbi i @Zoran.Eremija vezana za meni aplikacije i uticaj funkcionalnog modela na izgled tog menija,kao i proces EvidentiranjeStanara iz funkcionalnog modela su me navela da razmišljam kako osmisliti formu za takve procese. Loše mi je izgledalo rješenje sa izborom stanara iz combobox-a jer se u ovom procesu može javiti kako lice koje već postoji u bazi tako i novo lice, te da se ne bi vraćao da ga evidentiram kroz jedinstvenu formu za evidentiranje partnera,pa onda opet nazad na izbor iz combobox-a (glupo bi bilo i ne izgleda profesionalno) probao sam ovaj način- i naravno nisam uspio. Kasnije mi je @Zoran u privatnoj prepisci otprilike objasnio kako se to radi ali ja nemam dovoljno znanja za programiranje da bih to umio odraditi... i tako...
Svakako hvala na više nego temeljnom odgovoru!!! Iako je ovo meni samo hobi i korisna zabava ipak svakim danom se nauči nešto novo!
[ Zidar @ 11.02.2014. 21:43 ] @
@ DExxxl:
Citat:
Resenje koje sam dao dosta je glomazno jer proverava da li postoji isti JMBG prilkom svakog unosa, sto moze sa uspori bazu kad se podaci nagomilaju. Obrati paznju da je textbox za unos JMBG unbound, dok se podaci o JMBG prepisuju tek posle provere.

Izbaci proveru duplikata u JMBG potpuno. Napravi na nivou form, naForm_Error eventu kod koji lovi gresku tip 'Pokusaj unosa duplikata'. Time ces ubrzarti rad - ustedec es vreme potrebno z aproveru duplikata. Imas u Bazi Znanja o tome.