Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 13 odgovora
  • 5.447 pregleda

Najnovija ↓

RAVE problem - event kod i jos ponesto 24.08.2005. u 12:42 · pre 257 meseci #1
Imam problem sa rave-om i nacinom na koji funkcionise.
Ne mogu da nadjem dokumentaciju o svim komandama koje se mogu upotrebiti u event editoru rave-a, a zanima me kako da nebitno od komponente za koju pisem event dobijam/dodeljujem vrednost parametrima reporta?
Param.parametar ne radi, a ni samo parametar.

A drugi problem koji imam, je vezan za privremeno zaobilazno resenje koje sam nasla a svodi se na filtriranje kroz delphi.
Za instancu TRvDataSetConnection klase definisala sam OnValidateRow event koji radi ono sto ne umem izvesti u rave-u. Problem se svodi na to da mi se za parametar koji sumira vrednosti po jednoj strani OnValidateRow okida i za prvi red sledece strane. Tako da nikad nemam pravu sumu jedne strane.
Ovo mi je jako bitno i hitno, zna li neko, please?
Re: RAVE problem - event kod i jos ponesto 24.08.2005. u 13:23 · pre 257 meseci #2
Hajde ispocetka?

Nisam sasvim siguran da sam razumeo sta je tacno problem ...

Koji je Rave u pitanju? (verzija?)

Imam neki pdf za rave scripting, ako ti treba, javi pa cu ti baciti na mail.

Za sumiranje vrednosti (bilo konacna suma ili trceci saldo) preporucujem calctext ili neku kombinaciju datacycle, calcop i calctotal komponenti ....
Re: RAVE problem - event kod i jos ponesto 24.08.2005. u 13:41 · pre 257 meseci #3
Verzija Rave-a je 5.0, calcop, calctext ni calc sum mi ne zavrsavaju posao jer sumiram vrednost jednog polja u zavisnosti od drugog - tj. za jednu pojavu polja A ima vise pojava polja B, ako sumiram sve pojave polja B ne mogu da razdvojim koliko u toj sumi pripada svakoj od pojava polja A. NPR Ako su mi pojave polja A {'visoko', 'srednje', 'nisko'} a medju pojavama polja B ima hiljade brojeva meni treba na svakoj strani sumirati npr 'visoko' = 123456 , 'nisko' = 456789, 'srednje' = 5555565.
To izvodim kroz parametre a filtriram u Delphi-ju kroz OnValidateRow event TRvDataConnection objekta. I sve bi bilo lepo da on ne validira jedan slog vise nego sto stane na stranu. Suma je tacna, samo za sve slogove na strani + prvi slog sledece strane. A na sledecoj strani krece od drugog sloga te strane + prvi slog sledece...
Re: RAVE problem - event kod i jos ponesto 24.08.2005. u 14:09 · pre 257 meseci #4
A taj pdf za rave scripting bi mi sigurno dobro dosao, jer nisam nasla dobar resurs za scripting, ima nesto na nevroninom sajtu u tips & tricks sekciji, ali ne dovoljno. Pa mi baci na mail :)
thanks
Re: RAVE problem - event kod i jos ponesto 25.08.2005. u 12:30 · pre 257 meseci #6
Izgleda da mi nema pomoci, odlucila sam da napravim zaobilazno resenje i sada radi, ali mi se ne svidja.
Znaci, prebrojala sam koliko redova staje na stranu i presek sam tu napravila. I premestila sam da event bude u OnGetRow mada funkcionise isto s tim sto se mora dodati jedan red :
Code:
Connection.DoGetRow;

Ne svidja mi se jer je dovoljno da se promeni velicina fonta i opet ne valja.
Ako se neko doseti zasto sam imala problem tj. kako bi se resio neka kaze. Rado bih promenila ovo resenje.
Re: RAVE problem - event kod i jos ponesto 20.09.2005. u 16:35 · pre 257 meseci #7
Toliko problema ni oko cega... Zasto uopste pisati evente u Rave-u? Lepo sloziti sve na formi , odraditi oncalc event ako ima potrebe za tim i tada kompletno sve prebaciti u rave. Ako treba jos pomoci www.delcode.com.
Re: RAVE problem - event kod i jos ponesto 23.09.2005. u 16:18 · pre 256 meseci #10
Nije mi vise u ValidateRow nago u OnGetRow eventu.
Skratila sam, kod jer je poduzi
Code:

procedure TDM.rvdsPregledPoreskogZaduzenjaGetRow(
  Connection: TRvCustomConnection);
var
  ...
BrSlPoStr :=strtoint(trvp.GetParam('paramBrojSlogaPoStrani'));
//ovo je neophodno zbog toga sto event dva puta validira poslednji slog(eof)
if BrojValidacija < ibQuery.RecordCount then
  begin
    Connection.DoGetRow;
    trenutnaStopa := FormatFloat('#,###,###,##0.00', ibQuery.FieldByName('STOPA').asFloat);
    if trenutnaStopa = trvp.GetParam('paramDonosStopa1') then
      begin
        nextOsnovica:= ibQuery.fieldByName('OSNOVICA').AsFloat;
        nextOsnovica:= strtofloat(trvp.GetParam('paramSumOsnovica1'));
        newSumOsnovica1 := strtofloat(trvp.GetParam('paramSumOsnovica1')) + ibQuery.fieldByName('OSNOVICA').AsFloat;
        newSumPorez1 := strtofloat(trvp.GetParam('paramSumPorez1')) + ibQuery.fieldByName('POREZ').AsFloat;

        trvp.SetParam('paramSumOsnovica1', floattostr(newSumOsnovica1));
        trvp.SetParam('paramSumPorez1', floattostr(newSumPorez1));
      end
    else if trenutnaStopa = trvp.GetParam('paramDonosStopa2') then
            begin
              ...
            end;
  trvp.SetParam('paramBrojValidacija', inttostr(BrojValidacija+1));

  if (strtoint(trvp.GetParam('paramBrojSlogaPoStrani')) = 38) or (ibQuery.RecordCount=UkupnoSlogova) then
    begin
      trvp.SetParam('paramBrojSlogaPoStrani', '1');
      with trvp.ProjMan do begin
        MyPage := FindRaveComponent('PregledPoreskogZaduzenja.Page1',nil) as TRavePage;
        // osnovica1
        MyText := FindRaveComponent('txtSumOsnovica1',MyPage) as TRaveText;
        MyText.Text := Format('%12.2n', [strtofloat(trvp.GetParam('paramSumOsnovica1'))]);
        // porez1
        MyText := FindRaveComponent('txtSumPorez1',MyPage) as TRaveText;
        MyText.Text := Format('%12.2n', [strtofloat(trvp.GetParam('paramSumPorez1'))]);
        ...
      end;
      //kreiranje parametara za donos / prenos
      //poslednji donos
      oldSumOsnovica1:=strtoFloat(trvp.getParam('paramDonosOsnovica1'));
      ...
      oldSumPorez1:=strtoFloat(trvp.getParam('paramDonosPorez1'));
      ...
      //sume na strani + donos
      newSumOsnovica1:=strtoFloat(trvp.getParam('paramSumOsnovica1')) + oldSumOsnovica1;
      ...
      newSumPorez1:=strtoFloat(trvp.getParam('paramSumPorez1')) + oldSumPorez1;
      ...
      //napuni parametre donosa za sledecu stranu
      trvp.SetParam('paramDonosOsnovica1', floattostr(newSumOsnovica1));
      ...
      //novi prenos
      with trvp.ProjMan do begin
        //osnovica1
        MyText := FindRaveComponent('txtDonosOsnovica1', MyPage) as TRaveText;
        MyText.Text := Format('%12.2n', [newSumOsnovica1 ]);
        MyText := FindRaveComponent('txtUkupnoOsnovica1', MyPage) as TRaveText;
        MyText.Text := Format('%12.2n', [newSumOsnovica1 ]);
        ...
      end;
      ...
    end
  else
    trvp.SetParam('paramBrojSlogaPoStrani', inttostr(strtoint(trvp.GetParam('paramBrojSlogaPoStrani'))+1));

  end;
end;

To sad radi ovako ali mi je ruzno sigurno moze u rave event editor-u da se napravi da bude puno krace.
A i bilo bi mnogo jednostavnije da event-i ne kace uvek i prvu sledecu stavku nove strane.
Re: RAVE problem - event kod i jos ponesto 23.09.2005. u 23:20 · pre 256 meseci
izmenjeno 1 put, poslednji put Trodmi 23.09.2005. u 23:31
  1. Trodmi23.09.2005. u 23:31zapis iz teksta poruke
#11
Ceo taj ekran da stane u jednu kljucnu rec "Running-sum" :). Ajd' kad niko nece da ti odgovori... Napravis na Rave jedan databand. Na taj databand postavis polje koje sumira neko od prethodnih polja. Postavis ga na running sum. Podesis band da se stampa na kraju/pocetku svake nove strane... Problem resen?

Sve ostalo bi valjalo resiti na samoj formi i to bez upotrebe rogobatnih query,parambyname i ostalih dzidza bidza. Ako je bas frka, posalji opis celog problema na [email protected] i 'ce da bidne reseno.
Re: RAVE problem - event kod i jos ponesto 24.09.2005. u 09:25 · pre 256 meseci #12
Ovo radi kako radi, tako da nije frka. Samo mi nije jasno kako niko ne razume?
Ja cu imati podatke koji ce npr ovako na databand-u biti:

Osnovica | ProcPDV | IznosPDV
------------------------------
1000.00 | 18.00 | 180.00
1000.00 | 8.00 | 80.00
10000.00| 18.00 | 1800.00
10000.00| 8.00 | 800.00
------------------------------
UKUPNO(strana 1)
------------------------------
11000.00| 18.00| 1980.00
11000.00| 8.00| 880.00
-----------------------------
strana2
----------------------------
Osnovica | ProcPDV | IznosPDV
------------------------------
1000.00 | 18.00 | 180.00
1000.00 | 8.00 | 80.00
10000.00| 18.00 | 1800.00
10000.00| 8.00 | 800.00
------------------------------
UKUPNO(strana 2)
------------------------------
11000.00| 18.00| 1980.00
11000.00| 8.00| 880.00
-----------------------------
UKUPNO SVE
-----------------------------
22000.00| 18.00 | 3960.00
22000.00| 8.00 | 1760.00
-----------------------------

Znaci, meni se u poju osnovica nalaze osnovice za oporezivanje po vise poreskih stopa i tako mi trebaju sumirane.
To je nesto sto na nivou celog reporta mogu da dobijem jednostavnim sql upitom sa group by. Ali mi to treba na svakoj strani.
Meni se taj databand i stampa na svakoj strani ali ne umem razdvojiti koliko je osnovice i poreza 8 a koliko 18 ili 0% na svakoj strani pojedinacno.
Vidim da zelis da mi pomognes:) , a ja verovatno se nisam ni izrazila ispravno od samog starta. Ja sa delpi-jem i rave-om radim dva meseca nista duze i zato sam sigurna da postoji mnogo bolje resenje.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme