Clipper - sto koristiti - Raverus...exe / Wrapper /Fiska2Tray ?

Dec 2, 2012 at 9:26 PM

Interesiraju me iskustva drugih Clipper-asa i ostalih koji su osudjeni na DOS prozor. Ja sam se dosad ozbiljno "igrao" samo s orginalom (RaverusFiskalizacijaDEV.EXE.exe) kojeg bez problema pozivam iz Clippera. Najcesce to cinim pozivanjem .BAT procedure, jer mi je nju najlakse (iz Clippera mi ne ide???) preusmjeriti u NUL ili neki fajl (rezultat obrade).

Problem koji imam je taj da dok se ne izvrsi RUN komanda koja poziva vanjski .exe, nemam nikakvu kontrolu u svom programu - cekam dok se RUN-ovani Raverus...EXE ne vrati natrag. Obzirom da sam napravio programcic koji svakih 5-10 sek salje RacunZahtjev i zapisivao vremena i vracene JIR-ove, ustanovio sam da se vremena krecu uglavnom oko 2.5 sec (sto je prihvatljivo), ali ima i nekih vremena koja traju vise desetaka, pa cak i do 100 sekundi!!! A moj klijent, tj. program, ne moze nista drugo doli cekati.

Zato me zanima koliki je max time (nrasinec?) koji Raverus...EXE pokusava to poslati u CIS i moze li se to nekako mijenjati? I kakva su iskustva (asacaric?) sa Fiska2Tray, koji nas onda oslobadja pokretanja i cekanja u Clipperu.

Ukratko, ovakva je rutina koja mjeri vrijeme u mom test prg-u:
...
t1:=seconds()
run ('raveru~2.exe racunzahtjev "" r.xml o.xml false false cert.pfx lozinka')
t2:=seconds()
...

U preko 3000 poslanih zahtjeva (i dobijenih JIR-ova), prosjek je 2.35 sec, sa min 1.21 i max 100.46 sec, a bilo ih je nekoliko sa 2-cifrenim brojem sekundi. Upravo ovi zadnji su mi problem, jer ne znam sto da radim s njima. Program tu ne mogu prekinuti, a glupo je da se (dodsue rijetko) ceka minut na odgovor. Jer JIR je i u tom slucaju od 100 sec ipak stigao - nije se desila greska.

Dec 3, 2012 at 6:13 AM

RaverusFiskalizacijaDEV.EXE.exe mi radi sasvim ispravno, ali sam primjetio da mi program zastajkuje kod samog poziva vanjskog programa, kao da nešto razmišlja, pa se to produži i sekundu-dvije dok se kontrola ne vrati nazad Clipper programu. Neznam da li je to do antivirusnog programa.

Wrapper sam najmanje isprobavao. Radi korektno, ali je .exe veći od RaverusFiskalizacijaDEV.EXE.exe. To mi je problem jer mi je program za maloprodaju krcat kojekakvim kombinacijama nagradnih igri i loyalty bodova pa se borim s memorijom.

Fisk2tray radi odlično, baš to sam želio od samog početka. Clipper program je sasvim rasterećen, dodan je minimalan kod jer se kreira jednostavna .txt datoteka. Vrtim 9 sekundi u petlji dok čekam da se račun fiskalizira i nerijetko je fiskalizacija gotova ispod 1 sekunde :). Posebno mi se sviđa i mogućnost provjere vremena na internetu pa prije izdavanja računa provjerim da li sat u računalu ispravno radi.


Coordinator
Dec 3, 2012 at 7:05 AM

@viggor, Pogledaj ovu raspravu, tu se spominju vremena obrade, da stekneš dojam što treba očeivati: http://fiskalizacija.codeplex.com/discussions/404887

Isto tako, pripremamo jedan maleni programčić koji će omogućiti detaljnije prikupljanje informacija - više uskoro :)

Dec 3, 2012 at 9:49 AM

Mislim da bi trebalo od firme koja radi Serverski dio CISa , zahtjevati da se uvede nova Funcija koja bi omogučila DOHVAT VREMENA NA SERVERU.To bi egzaktno omogučilo sinhronizaciju Računala sa serverom.

Dec 3, 2012 at 10:00 AM

od te iste firme očekujem da nam i izloži naše poslane podatke zbog lakše kontrole, npr. dohvat poslanih stavki u nekom periodu , nekakvu rekapitulaciju kao zaključak blagajne i sl.

Coordinator
Dec 3, 2012 at 10:09 AM

Postoji brdo servisa za sync-anje vremena i ne vjerujem da bi to trebao biti posao APIS IT-a. Isto tako, ne nadajte se (ne nadajmo se) da će nam APIS IT ikada omogućiti pristup prikupljenim podacima, u bilo koje svrhe :)

Dec 3, 2012 at 10:39 AM
asacaric wrote:

Fisk2tray radi odlično, baš to sam želio od samog početka. Clipper program je sasvim rasterećen, dodan je minimalan kod jer se kreira jednostavna .txt datoteka. Vrtim 9 sekundi u petlji dok čekam da se račun fiskalizira i nerijetko je fiskalizacija gotova ispod 1 sekunde :). Posebno mi se sviđa i mogućnost provjere vremena na internetu pa prije izdavanja računa provjerim da li sat u računalu ispravno radi.



To je ono sto i meni odgovara, samo sam mozda malo preoprezan, jer mi se cini da Fiska2Tray treba finalizirati. Da li si se ti (asacaric) definitivno fiksirao na Fiska2Tray?

Dec 3, 2012 at 10:46 AM

Jesam, stvarno odlično i brzo radi. Još fali mogućnost da se upiše broj računa iz paragon bloka kod naknadnog slanja računa i to je to.

Dec 3, 2012 at 10:51 AM

Da se nadovežem za pozivanje wrappera iz clippera.

Kako bi vaš clipper program nastavio raditi nakon pozivanja wrappera ili FiskalizacijaDEV.EXE, a ne da se "smrzne" i čeka da zatvorite wrapper kada ima neku poruku potrebno je pokrenuti

wrapper ovako 

DIRCHANGE( WRAPPER_PATH )

RUN( "c:\windows\system32\CMD.EXE /c start /b " +" wrapper.exe USEINI racun.INI" )

DIRCHANGE( OSNOVNI_PATH )

ili ako koristite blinker ovako

SWPRUNCMD( "c:\windows\system32\CMD.EXE /c start /b " + ;
                 WRAPPER_PATH + "\wrapper.exe USEINI " + "racun.ini" , ;
                 0 , ;
                WRAPPER_PATH , "" )

Na taj način nakon pozivanja externog programa imaš kontrolu u svojoj aplikaciji te napravi petlju i čekaj da ti se pojavi file sa odgovorom...

 

Dec 3, 2012 at 3:06 PM

@doviop

zanimljivo rjesenje! svaka cast, necu rec da mi je zao sto mi to nije palo na pamet, jer nije ni u snu.
imas li kakvo slicno rjesenje za redirekciju Raverus.exe u nul?
jer bez obzira na parametar /b (koji ne otvara novi prozor), pojavi mi se "Status OK"! ili poruka greske na ekranu.
meni ne radi redirekcija iz Clippera, kad na kraj onog sto se poziva dodam "> NUL", ali radi kad pozovem BAT pa u njemu "nulujem".

Dec 3, 2012 at 5:22 PM

@dotvip

Ipak treba biti pazljiv s tvojim rjesenjem, jer iako se kontrola vratila u Clipper, ja i dalje nemam pojma u kojem je statusu Raverus....EXE. Da li je poslao ili jos salje ili nesto trece, uglavnom jos nema odgovora. Dakle, i dalje, jedino sto preostaje je da cekamo neki rezultat od Raverus...EXE i u medjuvremenu ne saljemo nikakve ponovljene pozive sa zahtjevom za racun. Sto ako se izadje iz programa (regularno ili nasilno)? A Raverus ostao da salje i salje i salje i na kraju i posalje (dodje JIR).

Sve ovo je onaj neki "n-ti" slucaj, kad negdje zasteka pa odgovor ne stize unutar, recimo, max. "tolerabilnih" 10 sek. Ali moramo ga uzeti u obzir jer se i te situacije desavaju i to sad, kad opterecenje njihovih servera nije ni blizu onoga sto ce biti realno. Ja nemam pojma zasto se desavaju ti zastoji, ali se desavaju. Ako neki od vas (nas) imaju 100% rezultate u granicama ispod 5 sek, to ne znaci da ce tako biti i na terenu, kad vec ovdje imamo razlicita iskustva. Ja radim na vise razlicitih mjesta i nisu mi svuda isti rezultati, a uvijek mi se pojavi neki "zombi" od 10+ sekundi.

Dec 3, 2012 at 5:26 PM
Edited Dec 3, 2012 at 5:27 PM

Ako se clipper program nastavi izvršavati, trebala bi svakako postojati kontrola da se povratna datoteka može otvoriti exclusive fopen("datoteka.txt",16). Meni se u 1/10 slučajeva dogodi da otvorim datoteku uspješno ali pošto vanjski program nije završio kreiranje datoteke, dobijem praznu datoteku.

Dec 5, 2012 at 11:39 AM

@viggor

Ja sam isprobavo sa Wrapper.exe u kojem ima mogučnost odrediti timeout, te isti timeout imam u svojoj aplikaciji, tako da ne postoji mogučnost da odgovor dođe kasnije, a ja već radim novi zahtjev.

@asacaric

Točno to je problem, s obzirom da wraperr.exe kreira povratnu datoteku sa određenim brojem "linija", prvo provjeravam koliko linija je u datoteci i na osnovu broja linija nastavljam sa radom ili zatvori i ponovo otvorim datoteku.

Žao mi je ali nisam probao sa Raverus.exe -om

Dec 5, 2012 at 11:53 AM

Danas navećer ili sutra će biti gotova nova , značajno unaprijeđena Verzija Wrappera, sa puno novih opcija,.(rezidentna i barem 5 puta brža)

Pouzdanija u jednoznačnosti vračenih podataka.

Wrapper čeka rezidentno i odgovara na upite iz datoteke sa komandama kao iz opcije USEINI.

Odgovara na sve upite , odgovorom u datoteke - a ne samo šalje račune.

Malo me mući proces izrade primjera i uputa.

 

Dec 5, 2012 at 12:19 PM

Probao sam sa Fiska2Tray, zaista radi odlicno! Mnogo brzi odzivi nego iz CLI-a. Mozda se Raverus.dll bolje osjeca kad nije pozvan kao .EXE iz CLI-a? Ne znam, ali odzivi na istoj mrezi (javna wireless mreza!), su mi sa 2.5 sec/prosjek pali na 0.54 sec (1500+ pokusaja) i dosta manje dvocifrenih "zombija" (10+ sek.). Max. sam imao 51.96.

@asacaric

pitanje: obzirom da Fiska2Tray ne radi sa .pfx fajlom nego vadi iz Certifikat Storea, postoji li mogucnost da se onaj prvi poziv citanja certifikata nekako izbjegne?

Dec 5, 2012 at 12:31 PM

@viggor, mislim da je to pitanje za bbanko, autora programa.

Meni nije niti jasno na što misliš pod "prvi poziv čitanja certifikata". A zašto ti to izbjegavanje treba? 

Dec 5, 2012 at 12:59 PM

ma nema veze, ne mogu sad to generirati (ne znam zasto???), ali to je neki upit mislim od windowsa kad pokusas pristup certifikat store-u i nema veze sa bbankom ili nrasincem, Raverus.dll-om. pojavi se prozor s upitom (cini mi se, ne sjecam se) tipa jesi li siguran da zelis dopustiti nekoj aplikaciji da komunicira sa store-om. tako nesto i ti onda moras kliknuti na OK. mislio sam cisto da se izbjegne jos jedan upit neupucenih korisnika. kad ga ponovo uspijem generirati, dobro cu zapamtiti sto pise.

Dec 10, 2012 at 9:47 PM
Edited Dec 10, 2012 at 9:48 PM
asacaric wrote:

@viggor, mislim da je to pitanje za bbanko, autora programa.

Meni nije niti jasno na što misliš pod "prvi poziv čitanja certifikata". A zašto ti to izbjegavanje treba? 


Evo, sad mi se opet pojavio taj prozor "Signing data with your private key" (http://i50.tinypic.com/vwwzo7.jpg) prilikom prvog pokretanja Fiska2Tray-a, koji se nekad (ne uvijek, nisam skuzio kad) pojavi ako se kljucu pristupa kroz Certificate Store (kao sto mu pristupa Fiska2Tray ili Raverus.EXE kad se koristi taj nacin pristupa kljucu), a ne pojavi se nikad ako se pristupa sa .pfx  fajlom i lozinkom.

U principu, dovoljno je kliknuti na OK, ali ja bih rado nekako izbjegao pojavu ovog prozora ako je moguce ili bar da naucim u kojim instancama se to pojavljuje pa da na to upozorim i korisnike.

Nije valjda da se samo meni pojavljuje taj prozor??? Mozda neke postavke u Windows-ima???

I mislim da ovo nema veze niti sa bbankom niti sa nrasincem, tj. njihovim programima, vec s nacinom pristupa kripto-kljucu.

Coordinator
Dec 11, 2012 at 6:52 AM

Kada certifikat stavljaš u Certificate Store postoji opcija da te Windowsi-u upozore kod prvog pozivanja certifikata ili kod svakog. Pretpostavljam da je kod tebe uključena ova prva opcija. Pobriši certifikat iz CS-a i ponovo ga ubaci unutra, odaberi pažnju na te dodatne opcije. Naravno obrati pažnju da certifikat imaš u PFX datoteci, prije brisanja iz CS-a :)

Dec 11, 2012 at 5:46 PM

Thx, za pretpostaviti je bilo da nisam nesto gledao kod NEXT,NEXT,NEXT... ubacivanja certifikata. Valjda ima opcija da me Windowsi vise NIKAD ne upozore na to?
Sad cu ga obrisati pa otvorit sve cetvere oci.

Da li znas (znate) hoce li se prilikom zamjene demo certifikata produkcijskim morati raditi i zamjena onog root samopotpisanog DEMO certifikata (koji valjda sluzi za komunikaciju, a ne za potpisivanje xml poruka, ako sam dobro shvatio)?

BTW, sto je s Raverus 2.0?
Hoce li ovi drugi "warezi" koji se naslanjaju na Raverus.DLL (wrapper, fiska2tray, ima li jos koji?) morati raditi neke preinake?