Stopnja: Member
Pridružen(a): 18/03/2014(UTC) Objave: 10
|
V FastReportu dosti uporabljam funkcijo GetFormValue. Lepo deluje na vseh poljih razen na statusih dokumentov. Problem je pri naslednjih poljih: - NarocObracun.fPoslDogStatus - FProizAnaliza.dlWOStatus - FProizAnalizaOD.dlWOStatus - FProizIzpisDN.dlWOStatus - HEProizPokalkulacija.dlWOStatus - HEProizObracun.dlWOStatus Za ta polja funkcija vrne prazno vrednost ne glede na to, da so na formi nekateri statusi izbrani. Vsa našteta polja so CheckListBox-i. Istega tipa so tudi vrste materialnih sredstev in vrste poslovnih dogodkov, ki pa vrnejo pravilne sezname!
Na formi za obračun naročil je polje fPoslDogStatus "vsebovano" v polju dlcxPanel1, kar bi morda lahko povzročilo težave. Na ostalih omenjenih formah ni tako, vsa polja statusov so samostojna, pa podatkov z njih tudi ne dobim. Poskusil sem tudi z GetFormValue('NarocObracun.dlcxPanel1.fPoslDogStatus') in bolj iz obupa tudi GetFormValue('NarocObracun.dlcxPanel1')...
Podatek, ki naj bi ga vrnila GetFormValue, sem brez uspeha poskušal pripisati različnim tipom spremenljivk (variant, string, array of -boolean, -string in -integer). Počasi mi zmanjkuje idej... Lahko kdo pomaga?
LP Uroš
|
|
|
|
Stopnja: Advanced Member
Pridružen(a): 03/10/2013(UTC) Objave: 95
|
Funkcija GetFormValue na tej vrsti komponente ne dela oziroma vrne prazno vrednost, kot ste že sami ugotovili, razen za vrste dokumentov in materialna sredstva. Lp, Tomaž
|
|
|
|
Stopnja: Member
Pridružen(a): 18/03/2014(UTC) Objave: 10
|
Hvala za odgovor! Je kakšna druga možnost za branje tega polja? Morda kakšna druga funkcija? V SQL logu vidim, da je ob klicu procedure pHE_FormOrderCalcDet podatek za filter že znan, pred tem pa ne najdem nič uporabnega. Torej se podatek bere v ozadju na meni neznan način. Ali lahko uporabniki pridemo do tega? Sedaj imam v nekaterih listah statuse zakodirane, vendar to ni tisto pravo... LP Uroš
|
|
|
|
Stopnja: Member
Pridružen(a): 18/03/2014(UTC) Objave: 10
|
Našel sem pot okrog vogala, ki pri tej listi deluje. Morda pride komu prav...
Procedura pHE_FormOrderCalcDet napolni začasno tabelo #lHE_OrderCalcDet s podatki o naročilih, ki ustrezajo vsem v formo vnesenim kriterijem. Na srečo tu ni kakih dodatnih zakodiranih pogojev. Preko številk naročil pridem do njihovih statusov: cStatus := SQLExp('select distinct o.acstatus from (select distinct ackey from #lHE_OrderCalcDet) q join the_order o on q.ackey=o.ackey') ;
Dobljen string vsebuje statuse, ločene s CR+LF, iz tega ni več težko dobiti stringa za vkomponiranje v select stavek.
Težavi sta dve: - na izpisu so lahko prikazani samo statusi naročil, ki jih dobim iz začasne tabele in ne vsi, ki so obkljukani na formi, - če na formi uporabim katero od polj, ki jih ne berem z GetFormValue in jih v svojem selectu ne uporabim, se lahko zgodi, da kak status izgubim. Ob zavedanju omejitve predvsem te druge točke in uporabi dogovorjenih polj na formi je zadeva uporabna. Z nekaj dopolnitvami izpisa (branje vseh ostalih polj z GetFormValue in upoštevanje v svojem selectu) pa tudi ta strah pred napakami odpade.
LP Uroš
|
|
|
|
Stopnja: Advanced Member
Pridružen(a): 17/12/2013(UTC) Objave: 136
|
Zakaj bi filtriral podatke, če maš vse podatke že v začasni tabeli #lhe_OrderCalcDet - vsebuje vse razultate, ki usterezajo izbranim filtrom, tako da ne razumem tvoje težnje. filtre, ki so izbrani pa lahko uporabiš DL polje na izpisu mtext ter mkriterij1.
lp, m
|
|
|
|
Stopnja: Member
Pridružen(a): 18/03/2014(UTC) Objave: 10
|
Zdravo! V kodi sestavim svoj select stavek, v katerem ni nujno, da upoštevam vse pogoje. Prebrane in upoštevane tudi izpišem v nova memo polja na izpisu, originalno polje s kriteriji pa brišem. Dostikrat je lista namenjena prenosu v OOo in je vsaka prazna kolona odveč, pa še njihovo število se spremninja. Saj veš, koliko jih nastane zaradi polj, pri katerih se širina prilagaja vsebini... V konkretnem primeru bi res lahko naredil join na #lhe_OrderCalcDet. Za izpis kriterija pa mi v tem primeru status še vedno manjka. Bom poskusil iz polja mkriterij1. Osnovni problem je v tem, da statusov dokumentov ne morem brati direktno kot vsa ostala polja! Zato workaround... LP Uroš
|
|
|
|
Stopnja: Advanced Member
Pridružen(a): 17/12/2013(UTC) Objave: 136
|
Edini workaround je izdelava ares postopka, ki bo prebral vrednosti iz teh objektov ob kliku na gumb izpis ali dvoklik na izpis - kar se mi pa ne zdi smiselno, sploh če se bo izvedel popravek.
lp, m
|
|
|
|
Hitra navigacija
Ne smete dodajati novih tem.
Ne smete odgovarjati na teme.
Ne smete brisati svojih objav.
Ne smete urejati svojih objav.
Ne smete ustvarjati anket.
Ne smete glasovati v anketah.