Wrapper.exe

Nov 10, 2012 at 12:38 AM

Program za potpisivanje i komunikaciju sa CIS ,pozivanje iz DOS ili Win programa .

Izvrava se u pozadini (bez otvaranja crnog prozora kako bi rekli neke kolege).

Verzija usklađena sa FiskalizacijaDev.dll 1..2  je na linku :

 

http://www.mvv.hr/wrapper

Nadam se da je solidno debagirana, malo me gaze druge obveze.

Upite i primjedbe možete pisati u nastavku ove diskusije.

Pozdrav , Vlado.

Nov 11, 2012 at 5:15 PM

NOVA VERZIJA

Program za potpisivanje i komunikaciju sa CIS ,pozivanje iz DOS ili Win programa . 

Izvrava se u pozadini (bez otvaranja crnog prozora kako bi rekli neke kolege).

Verzija usklađena sa FiskalizacijaDev.dll 1.2  je na linku :

 http://www.mvv.hr/wrapper

Novo u verziji 1.2.2

U slučaju nedostupnosi CISA i nedostave računa zbog nekih drugih razloga , vraća ZKI u datoteku 'ime_datoteke_zahtjeva.txt' , radi mogučnosti izdavanja računa bez JIRA.

Novo u verziji 1.2.3

Omogućava unos KRATKOG inicijalizacijskog stringa po slijedećoj translacijskoj tabeli :
DST = DOHVATISTATUS
GUID = GENERIRAJUUID
GZKI = GENERIRAJZKI
RZPP = RACUNZAHTJEVPOTPISI
RZPS = RACUNZAHTJEVPOSALJI
PPZPP = POSLOVNIPROSTORZAHTJEVPOTPISI
PPZPS = POSLOVNIPROSTORZAHTJEVPOSALJI
RZ = RACUNZAHTJEV
PPZ = POSLOVNIPROSTORZAHTJEV
INI = USEINI

Omogućava unos parametara iz INI datoteke uporebom komande "USEINI imeIniDatoteke"
Pritom ini datoteka mora sadržati jedan parametar u svakom redu i to istim poredkom kao i kroz naredbeni red
Parametar mora počinjati od početka linije (bez praznih mjesta ispred) i nesmije sadržati navodnike

Pozdrav , Vlado.

Nov 11, 2012 at 5:18 PM

Upotrijebio sam riječi 'crni prozor' slušajuči svoje korisnike kako oni vide naša rješenja. Ako pričamo s njima koristeći engleske izraze njih boli glava i ništa ne razumiju (o pretjeranoj upotrebi engleskog jezika na televiziji i u svakodnevnoj upotrebi, mogao bi se otvoriti novi forum, ali o tome drugom prilikom i na drugom mjestu). Jedna primjedba na Wrapper, iako radi odlično. Kod poziva tipa RacunZahtjev izbacuješ tekstualnu datoteku s UUID, JIR, Vrijeme i ZKOD i greška je kod ZKOD-a. Ako ponavljam fiskalizaciju na istom računu dobijem novi UUID, JIR i Vrijeme (što je u redu), ali dobijem i svaki put drugi ZKOD. To nikako nije u redu jer se ZKOD mora moći ponoviti u istom obliku za isti račun (njegov broj, datum, vrijeme izdavanja, iznos, prostor,...). Program Raverus.FiskalizacijaDEV.EXE.exe to ne radi iako on nema mogućnost ostaviti ID i ZKOD praznim pa da ga sam izračuna, što Wrapper ima. Molim te Vlado, učini i taj mali korak do savršenstva programa. Kako se cijene mogu izražavati i u bocama piva, dužan sam vam dečki bar po gajbu piva. Svaka čast! 

Nov 11, 2012 at 5:32 PM

@dunikola, problem je realan , hvala na opomeni, pogledaću to.

Nov 11, 2012 at 5:51 PM

@ Dunikola , hvala na dobrom opažanju.

Zbog upotrebe <tns:DatumVrijeme> umjesto <tns:DatVrijeme> iz ulazne datoteke , Wrapper je svaki puta iznova pogrešno izračunavao ZKI .

Nova ispravna verzija 1.2.4  je linku za download.

http://www.mvv.hr/wrapper

Pozdrav, Vlado.

Nov 11, 2012 at 6:50 PM

Potvrđujem, verzija 1_2_4 radi ispravno (što se tiče ZKOD-a). Ostalo će zahtijevati vremena za testiranje, ali napravljeni su veliki koraci u fiskalizaciji.

Nov 11, 2012 at 8:02 PM

Kada wrapper računa ZKI u dijelu gdje uzima datvrij u obliku :  11.11.2012T01:14:16, a trebao bi u obliku 11.11.2012 01:14:16 prema tehničkoj specifikaciji.

Nov 12, 2012 at 9:15 AM

@margy , zahvaljujem, ispravljena verzija 1.2.5  je na serveru.

Nov 12, 2012 at 9:18 AM
Edited Nov 12, 2012 at 9:18 AM

Dečki, pripazite na to "T", jer smo poslali upit APIS-ITu da li bi se taj dio mogao staviti kao što se šalje i datumvrijeme zahtjeva. Ako se odluče da i taj podatak promijene, pazite da ste up-to-date :)

Nov 12, 2012 at 9:30 AM

Zahvaljujemo dkustec , znam za raspravu i pratim je, zato sam malo u testnoj verziji i zaspao na tom T.

Nov 12, 2012 at 4:30 PM

NOVA VERZIJA Wrappera 1.2.6

Program za potpisivanje i komunikaciju sa CIS ,pozivanje iz DOS ili Win programa . 

Izvrava se u pozadini (bez otvaranja crnog prozora kako bi rekli neke kolege).

 

http://www.mvv.hr/wrapper

Nova verzija 1.2.6 prihvaća  parametar passworda u enkriptiranom i "običnom" neenkriptiranom obliku.

 

Stoga je nemoguća uporaba datoteke certifikata (na drugom računalu ili čak folderu) uz poznavanje samo enkriptiranog passworda.

Pozdrav , Vlado.

Coordinator
Nov 12, 2012 at 5:10 PM

@vvrbane, a gdje spremaš passphrase za dekripciju passworda?

Nov 12, 2012 at 5:18 PM
nrasinec wrote:

@vvrbane, a gdje spremaš passphrase za dekripciju passworda?

Ona se mjenja sa svakim kopiranjem datoteke FISKAL1.PFX .

Znači uzmeš sve skupa i negdje iskopiraš (recimo iz nečasnih namjera).

Ništa ti ne znači jer se passphrase promjenio , pa moraš ponovno izvršiti enkripciju Passworda sa novim passphrase.

To možeš samo ako znaš originalni password a ne nikako iz enkodirani. 

Coordinator
Nov 12, 2012 at 5:20 PM
Edited Nov 12, 2012 at 5:21 PM

Sorry, ali ne pratim te :)

U SVAKOJ situaciji u kojoj certifikat NIJE u Certificate Store-u, negdje trebaš pohraniti password, osim ako ga klijent ne tipka svaki puta kada koristiš certifikat. Gdje ga ti pohranjuješ? Odnosno, gdje pohranjuješ password kojim kriptiraš password?

Nov 12, 2012 at 5:26 PM

- Dobar dan, Nataša pri telefonu, da li sam dobila Vladu?

- Da, ja sam...recite?!

- Neće mi ispisati račun.. tj. ispiše račun, ali na njemu nema ni "đira" ni zaštitnog koda.

- Dobro, u folderu xxxx, imate HEX editor, pokrenite ga, otvorite wraper.exe koji se nalazi u direktoriju xxy. Ako dobro pogledate gore desno, vidjet ćete neke brojeve, označite redak na broju 0x0023F i pročitajte zadnji broj u četvrtom retku pored CERT... Sada zatvorite HEX editor, pokrenite wrapper.exe, i kada se pojavi crni prozor, stisnite brzo ALT i F8. Sada napišite "CER" i taj broj koji ste ... halo? halooo?

- tuuu.. tuuu... tuu...

:)

Coordinator
Nov 12, 2012 at 5:34 PM

OK, sad je malo jasnije, hvala na zornoj demonstraciji :)

No, to je isto, sa stanovišta sigurnosti, kao i bilo koja druga opcija vezana uz password na klijentskom računalu... jednostavno nije dobro...

Da se razumijemo, svi oni koji će certifikat držati u bazi ili u datoteci imaju sličan problem, jasno je to sve meni, jasno mi je da niti Certificate Store nije idealan; moje je mišljenje po tom pitanju da obveznik treba biti taj koji treba brinuti o sigurnosti svog certifikata. Svaki nuditelj blagajne bi trebao educirati korisnika i jasno mu ukazati na potencijalne probleme koje može imati ukoliko netko zlonamjeran dođe do certifikata. Dakle, ako ti imaš neki master password hardkodiran u tvojoj aplikaciji a koju pak dalje koriste razni obveznici - to, sorry, jednostavno nije dobro rješenje...

Nov 12, 2012 at 5:39 PM
Edited Nov 12, 2012 at 5:41 PM

Kako ne pratiš , Pasword znaš ti , passphrase za trenutnu kopiju PFX datoteke zna Wrapper.

Na onovu toga izračunavate Encrypted password.

- 1) Ako ti promjeniš pass u PFX datotaci , ponovno se morate izračunati jer se tvoj parametar promjenio.

- 2) Ako se promjeni pfx -odnosno iskopira novi u isti folder (sa starim ili novim passom) , ili iskopiraš sve skupa u drugi folder,promjenio se passphrase.

Budući da je to jedan od parametara za ponovnu dekripciju - dekriptirani pass više nije isti izvornom i ne prolazi.

 

Master password ne postoji., ovo je jednostavna i učinkovita zaštita od krađe pfx datoteke.E sad ako neko zna sirovi Password. onda to i nije krađa , jer si mu je valjda ti rekao.

Nov 12, 2012 at 5:43 PM

E, slušaj ovaj zayeb...

Nino, ti znaš već koji i kakav sustav radim... I sada dođem do problema - sve štima kada pukne veza između CIS-a i servera za potpisivanje (fiskalizaciju). Server generira grešku, koju pošalje zajedno sa ZKI-em na klijentsko računalo od kojeg je dobio zahtjev i svi sretni... Međutim, što ako veza do servera za fiskalizaciju pukne? :(.. a račun moraš izdati.. bez JIR-a, ali sa ZKI-em.. za kojeg ti je potreban certifikat...

I sada dolazimo na Vladov problem.. što sa cerifikatom...

Kako sam riješio ovo?

Naime, prije svakog pokretanja klijenta za fiskalizaciju (onog softvera koji sjedi u trayu i spona je između maloprodajne aplikacije i centraliziranog sustava za potpis i slanje XML-a), klijent se spoji na server, od njega dobije TOKEN. U byte arrayu u svoj inicijalni direktorij spusti certifikat, "zapakiran" u dll i zakriptira ga tokenom. Taj "dll" se čuva u lokalnom direktoriju u kojem se nalazi Agent (application.startuppath). Kada pukne veza između servera za potpis, koristi svoj lokalni certifikat. Kada veza dođe - normalno se sve odvija na serveru...

Nov 12, 2012 at 5:51 PM

Ukratko Znači nitko , PA NI JA  , nemože koristiti novokopirani PFX , ako nezna Pravi Password. Drugi dio slagalice , passphrase nezna NITKO osim Wrappera a on je izračunava na osnovu parametara trenutne datoteke FISKAL1.PFX (koji se mjenjaju sa svakim kopiranjem).

Znači da bi se izračunao Encrypted Password morate se o njemu sporazumjeti Wrapper i ti koristeči svaki svoj dio slagalice.

Coordinator
Nov 12, 2012 at 7:26 PM
Edited Nov 12, 2012 at 7:27 PM

Davore, sviđa mi se tvoj način kako si riješio ovaj problem - no - ti, za razliku od većine ostalih imaš na raspolaganju server... Teoretski, netko tko dođe do session tokena, bilo snifanjem mrežnog prometa (ako nije SSL) bilo analizom memorije može i dekriptirati sve skupa. No, kažem, mislim da se ovdje radi samo o čistoj teoriji :)  Da li si razmislio, kada smo već kod toga, o korištenju SecureString klase za in-memory čuvanje tokena (http://msdn.microsoft.com/en-us/library/system.security.securestring.aspx) ?

 

@vvrbane - sorry, nikako te ne kužim - cijeli sam dan za kompom, valjda već i umor čini svoje :)  Generalno, ako nešto kriptiraš na klijentu i ako to u nekom trenutku dekriptiraš na istom tom klijentu, tada to po definiciji nije sigurno... no, obećajem, sutra ujutro ću sve ovo pogledati ponovo i razmisliti malo detaljnije o svemu jer me baš zanima kako si to riješio :)

 

Nov 12, 2012 at 7:50 PM
Edited Nov 12, 2012 at 7:50 PM

NOVA VERZIJA Wrappera 1.2.7

Program za potpisivanje i komunikaciju sa CIS ,pozivanje iz  Win DOS ili Win programa . 

Izvršava se u pozadini (bez otvaranja crnog prozora kako bi rekli neke kolege).

 

http://www.mvv.hr/wrapper

 

Novo u verziji 1.2.7

Aki nakon 5 sekundi po pokušaju slanja datoteke u CIS(a unutar definiranog TimeOut vremena), interakcija nije završena , baca u traju Baloon sa obavješču
"
Još pokušavam osvariti Komunikaciju sa CISOM" kako korisnik nebi nasilno zatvarao matičnu aplikaciju misleći da je zablokirala.
Baloon je vidljiv sve do trenutka dok intereakcija sa severom ne prođe uspješno ili dok se ne otvori prozor sa greškom.
Nadajmo se da se ovo Baloona nečemo nagledati.

Nov 16, 2012 at 6:10 PM

NOVA VERZIJA Wrappera 1.2.7

Program za potpisivanje i komunikaciju sa CIS ,pozivanje iz  Win DOS ili Win programa . 

Izvršava se u pozadini (bez otvaranja crnog prozora kako bi rekli neke kolege).

http://www.mvv.hr/wrapper

 

Novo u verziji 1.2.7.2

Ispravljen manji bug koji je spriječavao zatvaranje Baloona sa porukom"Još pokušavam osvariti Komunikaciju sa CISOM" u nekim uvjetima.
Od ove podverzije Wrapper vrača stvarni text greške umjesto poruke "500 internal Server Error" u slučaju neispravne datoteke poslane CIS_U.

Nov 19, 2012 at 11:17 AM

Valdo, u verziji 1.2.7.3 ima greška, za starije verzije nisam probao.

System.Net.WebException: The remote name could not be resolved: 'www.fdev.hr'
   at System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
   at System.Net.HttpWebRequest.GetRequestStream()

Radi testiranja sam smo isključio mreži kabel iz kompa.

Vezamo na povratnu datoteku ? Dali su razmislio da dozvolis promjenu exstenzije ".txt" kroz ini pozivanje.

Pozdrav Drazen

 

Coordinator
Nov 19, 2012 at 11:27 AM

Ovo je naša greška, otvorio sam issue: http://fiskalizacija.codeplex.com/workitem/678

Nov 19, 2012 at 11:42 AM

"Vezamo na povratnu datoteku ? Dali su razmislio da dozvolis promjenu exstenzije ".txt" kroz ini pozivanje.

Pozdrav Drazen"

 

Dražene, opiši mi malo taj prijedlog, dali govorimo o imenu povratne TXT datoteke ili?.

Koji bi bili pozitivni učinci promjene extenzije.

Razmišljao sam doduše da povratna TXT datoteka ima naziv NazivDatotekeOdgovora.txt a ne NazivDatoteke.txt ,što bi bilo logičnije.

Ali na neke preinake se ne odlučujem radi očuvanja kompatibilnosti sa ranijim verzijama.

Aplikacija je razvije isključivo za rad sa mojom Clipper aplikacijom koja je više manje finalizirana ali

mi ne predstavlja problem malo ju prilagoditi novim pravilima Wrappera.

Međutim, nebih stalnim promjenama specifikacija hrio stvoriti probleme eventualnim drugim kolegama koje bi htjele iskoristiti Wrappera.

Trebalo bi skupiti sve eventualne kvalitetne prijedloge prije produkcijske uporabe i ugraditi u finalnu verziju,

koja onda nebi smjela više biti podložna promjenama u pozivanju i strukturi povratnih informacija.

Sve ideje su dobrodošle.

Pozdrav, Vlado.

 

 

 

Nov 19, 2012 at 12:58 PM

Vlado,

Mislio sam na povratnu datoteku koja vraća 4 parametra ( ili u slučaju greške smo ZKI ) i ima ekstenziju .txt.

Ako bi mogao da jedan od parametara pozivanja wrappera bude PovratnaDatoteka ( sa custom extenzijom i imenom ), ako nije upisan parametar da vrati kao i do sada tako da ostali nemaju problama ako su svoja rješenja bazirali na povratnoj datoteci sa .txt ekstenzijom.

Ja isto priagođavam clipper aplikaciju te pozivam wrapper sa ini datotekom koju kreiram iz clippera gdje u ini datoteci kroz paramere odabirem imena ulazne i izlazne datoteke ( xml odgovor ), ali radi mrežnog rada trebam i Povratnu datoteku sa drugačijom ekstenzijom od .txt-a

Program pozivam sa ini postavkama u kojima upisujem imena datoteka kako sljedi
Z1.002 - datoteka zahtjeva gdje je 1 broj racuna , a 002 broj stanice
O1.002 - odgovor XML povratna datoteka gdje je 1 broj racuna , a 002 broj stanice
pa bi mi bilo korisno da  "Povratnu datoteku sa 4 parametra" imam mogućnost odabrati kao
T1.002 , a ne da mi kao sada vrati Z1.txt  jer ako druga stanica ima isti broj racuna ( Z1.003 ) povrat je isti "Z1.txt".

Što se tiče imena  "NazivDatotekeOdgovora.txt  ili NazivDatoteke.txt" radi DOS-a treba pripaziti da budu u formatu 8.3 ako ne prihvatiš moj prijedlog i ne omogućiš kroz ini odabira naziva i ekstenzije te datoteke.

Pozdrav

Drazen 

 

Nov 19, 2012 at 1:50 PM

Nije mi baš  jasno to kreiranje passworda za PFX u enkriptiranom obliku. Ja koristim clipper pa ako možete pojasniti kako se on konkrektno kreira i sprema odnosno povezuje sa PFX-om.

Nov 19, 2012 at 4:46 PM

@margy ,

1) Pokreneš Wrapper.exe bez parametara (da ti otvori formu)

2) U meniju odabereš Encrypt password

3)U ljevu TekstBox upišeš pasword i pri pozivanju  Wrappera koristiš Encrypted password (ali vrijedi i običan) iz desnog TextBoxa.

4)U slučaju kopiranja pfx datoteke (nova u isti direktorij ili postoječa nekud drugdje ili cijeli folder nekud drugdje),

       Wrapper ponovi prihvača samo originalni password i moraš ponovno izračunati Encrypted.

 

Originalni password stoga nema potrebe pohranjivati nigdje na disku već samo encrypted a

zlonamjerna osoba koja i dođe u posjed Encrypted passworda može koristiti pfx certifikat u datoteci , samo na tom računalu i to bez ikakvih kopiranja.

Ako prekopira certifikat negdje drugdje mora bezuvjetno znati originalni password.

Znači pravi password nam treba samo pri prvom puštanju softa u rad a kasnije svi rukuju samo sa encrypted,

Naravno encrypted password nije obavezan i sve vezano uz to se može zanemariti ako se nekome čini da nije ugrožen 

zbog mogučnosti kopiranja i zlonamjernog korištenja cerifikata.

 

Slobodno postavite podpitanja ako ovo još koga bunjuje :-)))

Nov 19, 2012 at 5:03 PM
Edited Nov 19, 2012 at 6:12 PM

Dražene,

Iskreno rečeno neznam o kakvoj stanici govoriš, ali mogu se usprkos toga složiti sa večinom tvoje poruke.

Naime :

1) Povratna XML datoteka je u ovom kontekstu uporabe relativno beskorisna i skoro sigurno je nečemo koristiti, jer smo sve bitne podatke

    ionako dobili u povratnoj txt datoteci. Stoga mislim da bi imenovanje iste mogli standardizirati bez unosa pozivnog parametra na

   recimo ImePozivneDatoteke+"O".XML .

 2)U tom bi slučaju četvrti parametar iskoristili za imenovanje izlazne datoteke sa podacima do sad prisutnim u TXT datoteci.

 3)Zbog zadržavanja kompatibilnosti sa Raverus.FiskalizacijDEV.exe  to sam do sada izbjegavao ali kako ionako Wrapper koristi još dodatna 3 parametra,

   to nije od presudne važnosti.

4) Možda bi u tom smislu i Raverus.FiskalizacijaDev.exe bilo dobro uskladiti sa ovim mišljenjem jer je gore napisani prijedlog u potpunosti primjenjiv i na njega.

 

Moje razmišljanje je naravno akademsko i za raspravu .

Nov 19, 2012 at 6:02 PM
Edited Nov 19, 2012 at 6:08 PM

Naime radi se o radnim stanicama na lokalnoj mreži ( svaka ima svoj broj od 3 znamenke ) stoga bi mi koristilo da svaka radna stanica zna koju datoteku da očekuje.

Kao što si i naveo povratna XML trenutno nema koristi jer u povratnoj txt datoteci imamo sve što nam treba i formatirano u linije bez da rastavljamo XML u clipperu tako da sam suglasan sa prijedlogom

 

 

Nov 20, 2012 at 1:42 PM

Opcija korištenja certifikata iz storea ne radi na verziji 1.2.7.4.

Javi mi poruku: OIB iz certifikata (nije isti OIB_u iz XML datoteke (XXXXXXXX) !

Sa ponuđenom datotekom i password radi.

Raverus.FiskalizacijaDEV.EXE.exe sa ponuđenim parametrom "FISKAL 1" radi.

 

Nov 20, 2012 at 2:26 PM
Edited Nov 20, 2012 at 2:26 PM
ZeljkoManjkas wrote:

Opcija korištenja certifikata iz storea ne radi na verziji 1.2.7.4.

Javi mi poruku: OIB iz certifikata (nije isti OIB_u iz XML datoteke (XXXXXXXX) !

Sa ponuđenom datotekom i password radi.

Raverus.FiskalizacijaDEV.EXE.exe sa ponuđenim parametrom "FISKAL 1" radi.

 

U podverziji 1.2.7.5

Otklonjen bug zbog kojeg Wrapper (prilikom slanja datoteke zahtjeva) ne uspoređuje ispravan OIB iz certifikata ukoliko on nije u  datoteci(zahvala to ZeljkoManjaks na dobro uočenom bagu).

Nov 20, 2012 at 2:39 PM

Hvala.

A može li wraper vratit i errorlevel ako postoji bilo kakva pogreška, odnosno da je nakon pokretanja sistemska varijabla %errorlevel% bude 0. Onda iz DOS aplikacije odmah znam da je sve ok bez učitavanja bilo koje datoteke.

 

Recimo kao što to rade dos komande

Npr: 

u jednoj bat datoteci imam ovo:

NET USE T: \\%Racunalo%\ShareDisk

IF %ERRORLEVEL% NEQ 0 GOTO :Greska

COPY NekiFile.txt T:\

GOTO :EOF

:Greska

ECHO Pogreska pri mapiranju diska

Nov 20, 2012 at 3:07 PM

Željko,

Wraper po defaultu ne otvara glavnu formu ako je proces prošao uspješno.

Dos program ionako stoji i čeka na zatvaranje wrappera.

U slučaju neuspjele operacije u txt datoteci se nalazi samo ZKI pa je

zavisno od statusa JIRa , lako odrediti daljnju proceduru sa podacima.

Iskreno neznam na koji način implementirati Errorlevel komunikaciju između programa

u konzoli sa Win programom.

Ako netko smatra da je to potrebno i zna način na koji to implementirati ,neka slobodno to napiše.

 

Nov 20, 2012 at 3:11 PM

U stvari kad bolje razmislim, iz C# programa ju nije uopče problem vratiti, samo neznam kako da ju u Clipperu pokupim.

taj dio moram malo proučiti.

Nov 20, 2012 at 3:46 PM
Edited Nov 20, 2012 at 3:51 PM

Ako je %errorlevel%, neka environment varijabla, onda u "System.Environment" klasi, postoji "System.Environment.GetEnvironmentVariable()" i "System.Environment.SetEnvironmentVariable()" metode.

Mogli bi možda riješenje ovog što tražite potražiti u tom smjeru.

Nov 20, 2012 at 3:51 PM

Da skužio sam to odmah, samo proučavam kako da to u Clipperu pokupim.

Nov 20, 2012 at 3:57 PM
Edited Nov 20, 2012 at 4:00 PM

Može li Clipper permanentno čitati environment varijable? Ono nešto "SET PATH ovo ono"? (ne sjećam se baš) ... pa da on pročita vrijednost te PATH varijable?

Pod permanentno mislim da pročita kada hoće (ne samo na startu aplikacije).

Nov 20, 2012 at 4:29 PM

Rješenje je da u Povratnoj datoteci koja vrača 4 parametra dodaš još i parametar 5 kod greške i parametar 6 opis greške. U clipperu ionako čekaš povratnu datoteku da pročitaš JIR i ZKI te možeš pročitati i grešku ako je ima.

Inače clipper nemora čekati kraj izvršenja wrappera, to ovisi o switchevima kod pozivanja.

Ja sam napravio da nakon pozivanja wrappera u slučaju da odmah ne dobijem povratnu datoteku imam petlju koja provjerava dali se pojavila datoteka i nakon 5 sekundi pitam korisnika dali da čeka još ili da nastavi dalje.

 

 

 

 

Nov 20, 2012 at 4:36 PM

Možemo u povratnu datoteku upisate sve za kaj se dogovorimo.

To nije problem.

Trenutno sad proučavamo mogučnost korisne uporabe i način dohvata, ErrorLevel povratne vrijednosti koju bi Wrapper mogao vratiti u vrijednosti zavisno od rezultata.

Neznam u ovom trenutku koliko je to potrebno, praktično ili korisno , ali takav je bio upit od ZeljkoManjkas.

Nov 20, 2012 at 5:21 PM
Edited Nov 20, 2012 at 5:33 PM

vvrbane, pazi ovo :

"Clipper programs can inspect the settings of environment variables using the GETENV() function."

Znači to može čitati i DOS i Clipper. Wraper onda piše u environment varijable a zainteresirani ih čitaju.

Nov 20, 2012 at 6:49 PM

Na prijedlog ZeljkoManjaks od ove verzije 1.2.7.6 (download na webu) Wrapper vrača ERRORLEVEL environment variablu 1 ako je slanje u CIS bilo uspješno , 0 ako nije.
Kako za sad nismo uspjeli iskoristiti tu variablu u Clipper programu koji poziva Wrappera, ako netko zna način nek se javi.

Izgleda naime da se iz Clipper pozvani program izvršava u zasebnom shelu ili memorijskom prostoru pa vračenu ERRORLEVEL variablu matična aplikacija

nemože pročitati.Naime funkcija GETENV() uspješno čita samo variable definirane prije pokretanja Clipper aplikacije.

Pri pozivanju iz Dos prompta funkcija radi izgleda pouzdano.

primjer bat datoteke :

@ECHO OFF
wrapper.exe RACUNZAHTJEV false test_rac.xml racun_odg.xml true true "FISKAL 1" false true true true
ECHO %ERRORLEVEL%
pause

 

Nov 21, 2012 at 8:14 AM

Zahvaljujem na implementaciji. Samo bih molio obrnutu logiku. Ako je sve ok onda vraća 0 inaće vraća 1 (ili neki drugi kod). Tako rade sve dos commande.

Npr:

Net use X: \\comp\share će vratiti 0 ako uspije mapiranje diska na slovo X:, inaće će vratiit 2 (System error 53 - The network path was not found)

Ova povratna vrijednost mi treba za staru aplikaciju u Clarion 3.1 za DOS gdje imam RUN() naredbu sa kojom pokrećem vanjski program a errorlevel dohvaćam sa RUNCODE() te mogu odmah znati da li je sve ok.

Još jednom hvala

 

 

 

 

Nov 21, 2012 at 9:50 AM

Željko ,

U podverziji 1.2.7.7 Wrapper

Na prijedlog ZeljkoManjkas od ove verzije vrjednost ERRORLEVEL environment variable je obrnuta. O se se vrača ako je slanje u CIS bilo uspješno ,1 ako nije.

 

Nov 21, 2012 at 2:50 PM

ne radi ova naredba:

Wrapper PPZ false prostor.xml Pro_Odg.xml true true "FISKAL 1" false false false false

Ako upišem PoslovniProstorZahtjev umjesto PPZ onda radi.

Wrapper se sruši u slučaju kada se koristi ini u kojemu se kao 8 parametar (pass certifikata) umjesto false (jer se koristi store) ostavi prazan red (kao što je to moguće sa drugim paramtrom CIS servera)

 

Nov 21, 2012 at 3:21 PM

Wraper 1.2.7.7

Radi li vračanje errorlevela i na PoslovniProstorZahtjev?

Za PoslovniProstorZahtjev mi wraper javi neispravan OIB (što je u redu) ali je errorlevel 0. Kada se sve postavlja errorlevel?

Čini mi se da parametri 10 i 11 ne rade. Uvijek se otvori forma i uvjek radi Beep kad je pogreška (ispitano za PoslovniProstorZahtjev)

Nov 21, 2012 at 3:31 PM

Ne rade parametri od sedmog nadalje, to sam rješio.

Sad proučavam problem sa false umjesto passworda tj praznog stringa . On naime mora biti false a ne prazan string  zbog toga jer  Wrapper ima veći broj argumenata i pasword mu nije zadnji argumenat pa ako se nemože izostaviti iz naredbenog redka. Gledam da li mogu nešto napraviti vezano uz to.

Nov 21, 2012 at 3:52 PM
Edited Nov 21, 2012 at 3:54 PM

Vidim pomalo se gubite u redoslijedu parametara : jeli null nije null, ovaj je zadnji, nije nego predzadnji, ne predzadnji je password .... hmmm.

Još malo pa ćete "izmisliti" samo jedan parametar. Nazvati ćete ga "VelikiOn".

Pogledajte

WRAPPER.EXE {"password":"VidiPericuKucaNaGumicuVec25Godina", "VratiGresku":"1", "povratnaDatoteka":"MojaPovratnaDatoteka.xml"}

a pogledajte kako je to imuno na redoslijed :

WRAPPER.EXE {"povratnaDatoteka":"MojaPovratnaDatoteka.xml",  "VratiGresku":"1",  "password":"VidiPericuKucaNaGumicuVec25Godina"}

a imuno je i na nedostavljene članove :

WRAPPER.EXE {"password":"VidiPericuKucaNaGumicuVec25Godina"}

"Mi ostali"  odavno takve "VelikeOn" stringove zovemo JSON ili XML :))))

Nije loše, ha?

Nov 21, 2012 at 3:55 PM

Zeljko,

Ispravljena verzija je na webu,

U beskrajnom nastojanju da errorlevel povučem iz clippera. Implementirao sam ERRORLEVEL samo za račune.

Sad bi trebao vratiti ERRORLEVEL 0 ako sve prođe bez greške (u svim operacijama u kojim inače otvara formu u slučaju greške).

Ako se zadovolje uvjeti za otvaranje forme (tj greške) , onda vrača ERRORLEVEL 1.

Sad bi trabali raditi skračeni pozivi za sve PRVE PARAMETRE - ranije sam zabunom radio translaciju samo za 7 vrsta poziva od mogućih 11 (dodatna 4 je uvela verzija 1.2 Raverus.EXE ).

Trebalo bi ispravno raditi i korištenje passa  kao praznog stringa ili false iz ini.

Trebalo bi ispravno raditi korištenje passa kao "" ili false iz naredbenog redka.

 

Pročešljaj to malo , vidim da si pri vremenu i volji.

Ako trebaš brže načine komunikacije, kontaktiraj me na mail pa ču ti poslati SKYPE kontakt.

 

 

Nov 21, 2012 at 3:56 PM

Mladene, živjela serijalizacija :)

Nov 21, 2012 at 4:05 PM

@dkustec ;)

Nov 21, 2012 at 4:06 PM

Mladene, ne vidim u tvojem primjeru nikakvu kompatibilnost sa Raverus.exe. Da on koristi tu vrstu poziva onda bi i mi pri Wrapperu.

U svakom slučaju bug je bio nebitan jer se u ini datoteku umjesto praznog reda moglo upisati false.

Isto tako se pri pozivanju Wrappera sa parametrima u INI datoteci , mogu koristiti stringovi velike duljine pa ni to nije problem.

Kako je broj reda ujedno i broj parametra , ni tu ne vidim problem li dodatnu složenost.

Bilo kako bilo i to smo brzo rješili.

U svakom slučaju tvoj prijedlog korištenja parametra je dobar, ali u ovom trenutku za nas nepotreban.

Coordinator
Nov 21, 2012 at 4:09 PM

Mi ćemo u slijedećoj nadogradnji omogućiti klasičnu .NET XML config datoteku, kao alternativu ovim silnim parametrima. Da budem iskren, najviše vremena u cijelom ovom projektu odlazi upravo na sve ove stvari vezane uz parametre, datoteke i ostale takve stvari koje moramo podržati u EXE-u.

Koliko smo sretni kaj smo u .NET-u pa nema svega toga u svakodnevnom radu  :) :) :)

Nov 21, 2012 at 4:21 PM
Edited Nov 21, 2012 at 4:28 PM

U pravilu u obadva EXE projekta sve bitne funkcije rade odlično.

Stvar se počela raslojavati pri zadovoljavanju raznih zahtjeva.

Prvo uvođenja mogučnosti SamoPodpiši i SamoŠalji  a u sto i je ostao IpodPišiIšalji, pa kreiraj ZKI, UID , ovo, ono

Pa onda uvjeti skračenog imena prvog parametra pozivanja

Pa povrat opisa greške umjesto Server error 500

Pozivanje sa parametrima u INI datoteci

Zaštita od kopiranja sa Encrypted password

Povrat ERRORLEVEL variable

Pa Timeout funkcija sa Baloonom u trayu

Još bi se mogao sigurno nečega sjetiti , ali sve je to OK dok ne dođe stvarna upotreba , onda nebude nekih promjena strateških sigurno.

Nov 21, 2012 at 4:32 PM

vvrbane kao da si mene pitao što ćeš napisati.

Ključna je ova rečenica:

U pravilu u obadva EXE projekta sve bitne funkcije rade odlično.

Svi oni koji žele kruha preko pogače (ili pogače preko kruha ne znam ni sam kako se kaže) neka lijepo uzmu source od EXE-a, VS Express i promijene sve što žele.

Svaki programer bi trebao biti u stanju u tom koodu promijeniti što misli da mu nije po volji, kompajlirati i ostaviti izvorne autore da se ne "preparametriziraju".

Nov 21, 2012 at 4:36 PM

Još razmišljam da u Wrapperu eventualno :

9 , 10 i 11 parametar

BrišiStareDatotekeOdgovora , OtvoriFormuNakonZadatka i BeepOnError

konfiguriramo kroz Wrapper.ini pri instalaciji u folderu, a ne kod svakog poziva programa kroz parametar.

Pameta mi se čini i ona ideja @DOTVIPA o zamjeni parametra ImenaDatotekeOdgovora.xml  da  prinačimo u ProizvoljnoImeDatotekeSaTXTpodacima.

Ali kažem sve bitne Funcije koje se postavljaju pred program se i ovako obavljaju jako dobro, tako da ovo ostaje za razmišljanje.

 

 

 

 

 

Nov 21, 2012 at 4:40 PM

@Đorđe47   :-))    , sve ideje, primjedbe, opomene o grešci i kritike su više nego dobrodošle,  kad poče korištenje i kad bude trebalo bagove rješavati na more računala onda bu prooblem.

Nov 22, 2012 at 7:14 AM

Sory nema nove verzije na webu?

 

Nov 22, 2012 at 9:39 AM

Zeljko, iz čega to zaključuješ, nemožeš nači, skinuti, nema novu oznaku verzije 1.2.7.8 ili ti nekaj ne radi?

Nov 22, 2012 at 12:48 PM

Da se nadovežem za pozivanje wrappera iz clippera.

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

wrapper ovako 

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

ili ako koristite blinker ovako

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

Nov 22, 2012 at 12:49 PM

Evo maloprije sam sa skinuo sa http://www.mvv.hr/wrapper/Wrapper.zip i to je verzija 1.2.7.7 od 21.11.2012 10:44.

Postoji neki drugi link?

 

Nov 22, 2012 at 1:05 PM
Edited Nov 22, 2012 at 1:15 PM

Neznam dali itko drugi nemože skinuti, ali ja sam probao nekoliko puta i uvjek skinuo verziju 1.2.7.8 od 21.11.2012 16:40

Čak sam nakon tvojeg prvog upita jučer ponovno slao zip na web da budem siguran,

Nov 22, 2012 at 1:11 PM

Na serveru je 1.2.7.8. Upravo sam skinuo

Nov 22, 2012 at 1:21 PM

Primjetio sam da kada namjerno kreiram racun sa greskom neovisno dali je parametar 10 false ili true otvara mi programsku formu sa opisom greške. 

11 parameta beep - funkcionira

ver 1.2.7.8

Nov 22, 2012 at 1:32 PM

Da , oduvjek je tako.

Možemo eventualno , da jedanajsti parametar ako je true - onda je i beep i forma  -  ako je false onda ne pokazuje ni formu ni beep.

False bi se koristilo u slučaju da se sve funkcije obavještavanja prepuste matičnoj aplikaciji.

U tom slučaju bi i poruku greške mogli usmjeriti u tekstualnu povratnu datoteku radi prosljeđivanja matičnoj aplikaciji a Wrapper bi se normalno ugasio.

Nov 22, 2012 at 2:04 PM

To bi bilo sasvim OK jer za produkcijski način rada ne treba nam dodatna programska forma.

Za testiranje je u redu, ali zamisli da blagajnica svaki puta kada nastane greška dobije programsku formu koji mora zatvarati , a njoj ionako ništa ne znači što piše u njoj, pogotovo ako ima "full screen mode".

Na matičnoj aplikaciji je da odradi posao na temelju podataka iz povratne datoteke.

Nov 22, 2012 at 3:16 PM

Vlado ,

 kada se šalje "PoslovniProstorZahtjev " ako je sve u redu ne kreira se "PovratnaDateka"  nego samo "xml" datoteka imena odabranog kroz parametre, bilo bi dobro i da za "PoslovniProstorZahtjev" imamo PovratnuDatoteku.txt ( da kažem rastavljenu sa parametrima da ne moramo u clipperu rastavljati xml datoteku i tražiti povratnu informaciju.) ,

Ako namjerno pošaljem "PoslovniProstorZahtjev" sa nekom greškom, u tom slučaju kreira se PovratnaDatoteka.txt bez parametara.

Evo odgovora kada je u XML zahtjev pod polje vrijeme upisano pogrešno vrijeme

Program pokrenut parametrima :
\HOME\WORK\ROBNO\OUT\2012\FISKAL\wrapper.exe  USEINI PI101.001
***************************************************************************************************************

  **** CIS nije dostupan ****
Greška kod obrade i slanja dokumenta: The operation has timed out
Datoteka d:\HOME\WORK\ROBNO\OUT\2012\FISKAL\PZ101.txt kreirana samo sa ZAŠTITNIM KODOM IZDVATELJA

 

 

Nov 22, 2012 at 3:22 PM

@dotvip , hvala ti. Premalo sam pažnje posvetio slanju prijave i odjave za Prostor.Proučiću to večeras i rješiti.

Koje povratne informacije bi u txt datoteci za prostor trebao - u slučaju prijave i odjave ?

Nov 22, 2012 at 3:35 PM

Opcije skračenog inicijalizacijskog skupa (npr. PPZ) ne radi u iniu.

Premali broj parametara vraća 0 za errorlevel ali je to po meni ok. Također je ok da se to prikaže na formi i kad se isključi prikaz forme.

Maloprije mi je za poslovni prostor javio da je dosegnut timeout sa CIS-om te da je napravljena datoteka prostor.txt sa zaštitnim kodom. Timeout je ok ali prostor ne radi zaštitni kod pa ne treba ta poruka a niti prostor.txt datoteka.

Wraper je neko vrijeme prikazivao balon a zatim je u pozadini pokrenuta Wraper forma koju sam dobio pritiskom u taskbaru. Nakon njenog gašenja vračen je errorlevel. Mislim da prikazivanje forme tada nije potrebno kao što to dovip predlaže.

Baš dobro što CIS ne radi pa nalazim greške. Wraper se je srušio pri slanju Echo iz menia.

 

 

Nov 22, 2012 at 5:24 PM

Bilo bi korisno da u slučaju kada je zahtjev prihvaćen( prijava,odjava,promjena) prvi parametar u povratnoj datoteci bude "ZahtjevPrihvacen", a ako ima greška, prvi parametar "ZahtjevNijePrihvacen" a drugu parametar kod greške od CIS-a. ( prema tehničkoj specifikaciji 1.1).

U slučaju da ne postoji veza sa cisom prvi parametar prazan, drugi parametar prazan, treći parametar opis greške -( ne postoji internet veza, CIS nije dostupan, odnosno onako kako ti i sada wrapper vrača u programskoj formi ....)

Naziv datoteka i ekstenzija kao i kod računa da se može odabrati kroz parametre pozivanja wrappera kako smo već raspravljali.

Moj stav je da wrapper odlično odrađuje vezu između DOS-a i "naprednih tehnologija" te da za produkcijski način rada nisu potrebne  "windows" ili "GUI" mogučnosti jer korisnik DOS programa uglavnom program koristi u "full screen modu" i bilo kakva interakcija putem forma, try poruka i slično nije potrebna jer se "CMD" miče sa ekrana i "otvaraju" se windowsi što dolazi do situacije da blagajnica odmah zove u panici da je kasa nestala ili da ne radi jer nije dovoljno educirana da iz status trake poveča ili vrati "CMD" u full screen mode..

Sve što nas u clipperu interesira možemo dobiti pomoću "PovratneDatoteke" za račun i poslovni prostor i u clipperu procesuirati.

Kao što sam već napomenuo wrapper koristiti samo kao vezu između dvije tehnologije pomoću Odlazne ili Povratne datoteke, a nikako za "fanny stvari". 

 

 

 

Nov 22, 2012 at 8:50 PM

Slažem se kolegom dotvip da bi bilo dobro da se statusi kao povratni parametri vrate u txt datoteku u koju sada već stižu ZKI,JIR i dr.

Nov 23, 2012 at 12:49 AM

Za nas "Dečke na zastarjelim tehnologijama"  :-))

Novi Wrapper 1.2.7.9 je na webu.

Vjerujem da su unutra implementirani svi ili skoro svi vaš zahtjevi a i ispravljeno je nešto bagova i poboljšane neke funkcije.

Živo se nadam da nisam dosta bagova i dodao :-) , jer nisam pri vremenu da debaging.

Proučite izmjene u opisu verzije na webu i prilagodite aplikacije jer se neke stvari sad pozivaju i vračaju drugčije.

Mislim da bitnih dorada osim ispravljanja bagova nebi više trebalo biti.

Posebno probajte testirati u uvjetima nedostupnosti servera, od 16 do 17, jer to ne stignem odraditi.

 

Pozdrav , Vlado.

 

 

Nov 23, 2012 at 7:26 AM

1.2.7.9 je super ali (uh uvijek ima još nešto)

Može li izlazna datoteka sa porukama biti kodirana u 1250 ili 852 a ne u utf8?

Također pošto nisam u stanju da prostor.xml formiram u utf-8 (stari alati nemaju takve kodove ali prebacivanje u 852, 1250, 8859 imam riješeno) može li wraper prebaciti iz jednog formata u drugi npr: pronađe

?<?xml version="1.0" encoding="852"?> ili ?<?xml version="1.0" encoding="1250"?> te cijelu ulaznu datoteku prebaci u ?<?xml version="1.0" encoding="utf-8"?>

Hvala

 

Nov 23, 2012 at 8:58 AM
Edited Nov 23, 2012 at 9:01 AM

Željko , proučiću to malo danas, možeš li mi na mail poslati primjer tvoje ulazne datoteke prostora, koji zahtjeva konverziju.

Ne vjerujem da bi to bio problem.

Nov 23, 2012 at 12:27 PM
Edited Nov 23, 2012 at 12:30 PM

U podverziji 1.2.8.0

Na prijedlog večine omogučen odabir kodne stranice povratnih txt datoteka (default = CP852). Za primjer korištenja obavezno proučiti konfiguriranje u ažuriranoj Wrapper.ini datoteci.

 

Inače nevezano uz to, ako na CIS server šaljete hr znakove u XML datoteci ,koje on ne prihvača (recimo pri prijavi prostora),

<?xml version="1.0" encoding="utf-8"?>

zamjenite sa

<?xml version="1.0" encoding="CP852"?>

ili neku drugu kodnu stranicu koju koristi vaša matična aplikacija , iz ove tablice :

 http://msdn.microsoft.com/en-us/library/system.text.encoding.getencodings.aspx

Nov 23, 2012 at 6:46 PM
Edited Nov 23, 2012 at 7:41 PM

Za one koji su se uspjeli pogubiti u verzijama, podverzijama i dodanimfunkcijama Wrappera ,napravio sam rezime dosad napravljenog na :

http://www.mvv.hr/wrapper/

Nov 23, 2012 at 8:25 PM
Edited Nov 23, 2012 at 11:56 PM

Vlado evo mene ponovo sa rezultatima koje sam uspio kreirati, ver. 1.2.8.1

1. Poslovni prostor  --- Povratna datoteka parametar  4 radi prema očekivanjima

     Moj prijedlog je bio da povrat ima sljedeće povratne poruke ZahtjevPrihvacen ZahtjevNijePrihvacen u prvom parametru pa svako može na osnovu skraćenog naziva u clipperu napraviti svoje poruke i šo će program sljedeće napraviti, s time se izbjegava korištenje naših znakova i problem sa formatiranjem teksta.

 

2. Racun  --- Povratna poruka parametar 4 u slučaju kada ima greška kod slanja ne kreira txt datoteku sa ZKI brojem nego napravi sljedeći tekst

Operacija je zavrçila sa greçkom !

Greçka kod obrade i slanja dokumenta: The remote server returned an error: (500) Internal Server Error.
Text greçke : Poruka nije u skladu s XML shemom :  cvc-simple-type 1: element {http://www.apis-it.hr/fin/2012/types/f73}DatVrijeme value '18.01.2012T        ' is not a valid instance of type {http://www.apis-it.hr/fin/2012/types/f73}DatumVrijemeType
***************************************************************************************************************
Datoteka O000003.001 kreirana samo sa ZAćTITNIM KODOM IZDVATELJA

Ko što vidiš nema ZKI broja

Mislim da bi povratna datoteka za racun trebala imati ove podatke

UUID , JIR, VRIJEME , ZKI ,  pa tek onda gore navedeni tekst s time da za 5 parametar( Operacija je završila sa greškom!)  budu skraceni nazivi kao u primjeru za poslovni prostor.

KADA JE RACUN ZAHTJEV ISPRAVAN POVRATNA DATOTEKA IMA 4 PARAMETRA PREMA SPECIFIKACIJI

Vezano na LOG datoteku, radi lakše analize problema kod korisnika također bi bilo dobro da možemo odabrati naziv datoteke ( odnosno da ima isti naziv kao i povratna datoteka ) i ekstenziju. ( isti razlog kao što je bio sa povratnom datotekom sa .txt ekstenzijom)

Ja u programu kada mi se vrate sve txt datoteke iste spremam u zaseban folder te bi za analizu problema koristilo da je i log datoteka u tom folderu i ima podatke samo o konkretnom zahtjevu.

Ako ju ostavim da je u folderu sa wrapperom u nju se upisuje svaki događaj po redu , te je nakon 10-15 pokušaja slanja zahtjeva nije baš čitljiva, a posebno kada budu tisuće zahtjeva prema CIS-u.

 

Nov 24, 2012 at 9:00 AM

Slažem se sa dotvip-om.

Bilo bi korisno da postoje dvije povratne datoteke. Jedna sa pogreškama npr Racun.log (ili kako se navede u 4 parametru) a druga sa rezultatima ImeUlazne.txt gdje stoji ZKI kad nije ispravno odnosno UUID,JIR,DatumVrjeme i ZKI kad je ispravno. Za prostor bi bilo isto tako gdje bi u Prostor.txt bilo ono što predlaže dotvip.

Datoteka sa xml odgovorom ali ona čak nije potrebna jer se sve dobije u drugim povratnim datotekama.

 

Nov 24, 2012 at 9:44 AM
dotvip wrote:

Vlado evo mene ponovo sa rezultatima koje sam uspio kreirati, ver. 1.2.8.1

1. Poslovni prostor  --- Povratna datoteka parametar  4 radi prema očekivanjima

     Moj prijedlog je bio da povrat ima sljedeće povratne poruke ZahtjevPrihvacen ZahtjevNijePrihvacen u prvom parametru pa svako može na osnovu skraćenog naziva u clipperu napraviti svoje poruke i šo će program sljedeće napraviti, s time se izbjegava korištenje naših znakova i problem sa formatiranjem teksta.

Slažem se sa tobom, da bi poruke odgovora trebalo skratiti na prepoznatljivu fortmu i to čak do oblika true - false ili OK  - NOT_OK u prvom redu.

Međutim ZahtjevNijePrihvačen po meni nije dobar termin jer asocira na to da je komunikacija uspjela a iz formalnih razloga nije prihvačena što je višeznačno jer se može vratiti u slučaju svake greške

2. Racun  --- Povratna poruka parametar 4 u slučaju kada ima greška kod slanja ne kreira txt datoteku sa ZKI brojem nego napravi sljedeći tekst

Operacija je zavrçila sa greçkom !

Greçka kod obrade i slanja dokumenta: The remote server returned an error: (500) Internal Server Error.
Text greçke : Poruka nije u skladu s XML shemom :  cvc-simple-type 1: element {http://www.apis-it.hr/fin/2012/types/f73}DatVrijeme value '18.01.2012T        ' is not a valid instance of type {http://www.apis-it.hr/fin/2012/types/f73}DatumVrijemeType
***************************************************************************************************************
Datoteka O000003.001 kreirana samo sa ZAćTITNIM KODOM IZDVATELJA  (OK vidim sad to - i rješavam - poruka sa greškom mi prepisuje prvobitnu sa ZKI)

Ko što vidiš nema ZKI broja

Mislim da bi povratna datoteka za racun trebala imati ove podatke

UUID , JIR, VRIJEME , ZKI , (misliš li tu prazne redove u slučaju greške ili kaj) pa tek onda gore navedeni tekst s time da za 5 parametar( Operacija je završila sa greškom!)  budu skraceni nazivi kao u primjeru za poslovni prostor.

KADA JE RACUN ZAHTJEV ISPRAVAN POVRATNA DATOTEKA IMA 4 PARAMETRA PREMA SPECIFIKACIJI

Vezano na LOG datoteku, radi lakše analize problema kod korisnika također bi bilo dobro da možemo odabrati naziv datoteke ( odnosno da ima isti naziv kao i povratna datoteka ) i ekstenziju. ( isti razlog kao što je bio sa povratnom datotekom sa .txt ekstenzijom)

Ja u programu kada mi se vrate sve txt datoteke iste spremam u zaseban folder te bi za analizu problema koristilo da je i log datoteka u tom folderu i ima podatke samo o konkretnom zahtjevu.

Ako ju ostavim da je u folderu sa wrapperom u nju se upisuje svaki događaj po redu , te je nakon 10-15 pokušaja slanja zahtjeva nije baš čitljiva, a posebno kada budu tisuće zahtjeva prema CIS-u.(nisam baš spreman za uvođenje još jedne datoteke sa greškom , kad nam se cijela greška vrača u sad definiranu text datoteku - pa u slučaju greške su ona i XML datoteka sve što trebaš za uočavanje greške.Slažem se da bi mogli eventualno periodično isprazniti log datoteku - dnevno ili tako nešto, previše se spremamo za pogreške a njih nakon debagiranja više nebi smjelo niti biti)

Danas ču malo standardizirati povratne datoteke u slučaju greške.

 

Nov 24, 2012 at 11:39 AM
vvrbane wrote:
dotvip wrote:

Vlado evo mene ponovo sa rezultatima koje sam uspio kreirati, ver. 1.2.8.1

1. Poslovni prostor  --- Povratna datoteka parametar  4 radi prema očekivanjima

     Moj prijedlog je bio da povrat ima sljedeće povratne poruke ZahtjevPrihvacen ZahtjevNijePrihvacen u prvom parametru pa svako može na osnovu skraćenog naziva u clipperu napraviti svoje poruke i šo će program sljedeće napraviti, s time se izbjegava korištenje naših znakova i problem sa formatiranjem teksta.

Slažem se sa tobom, da bi poruke odgovora trebalo skratiti na prepoznatljivu fortmu i to čak do oblika true - false ili OK  - NOT_OK u prvom redu.

Sa true -false imaš samo dvije opcije povrata, tako da je bolje tekst koji se dogovorimo ( ZahtjevPrihvacen, ZahtjevNijePrihvacen, CisNijeDostupan, XMLneispraan itd ) pa imamo mogučnost u clipperu napraviti što trebamo sa svakim odgovorom.

Međutim ZahtjevNijePrihvačen po meni nije dobar termin jer asocira na to da je komunikacija uspjela a iz formalnih razloga nije prihvačena što je višeznačno jer se može vratiti u slučaju svake greške

Kao gore

2. Racun  --- Povratna poruka parametar 4 u slučaju kada ima greška kod slanja ne kreira txt datoteku sa ZKI brojem nego napravi sljedeći tekst

Operacija je zavrçila sa greçkom !

Greçka kod obrade i slanja dokumenta: The remote server returned an error: (500) Internal Server Error.
Text greçke : Poruka nije u skladu s XML shemom :  cvc-simple-type 1: element {http://www.apis-it.hr/fin/2012/types/f73}DatVrijeme value '18.01.2012T        ' is not a valid instance of type {http://www.apis-it.hr/fin/2012/types/f73}DatumVrijemeType
***************************************************************************************************************
Datoteka O000003.001 kreirana samo sa ZAćTITNIM KODOM IZDVATELJA  (OK vidim sad to - i rješavam - poruka sa greškom mi prepisuje prvobitnu sa ZKI)

Ko što vidiš nema ZKI broja

Mislim da bi povratna datoteka za racun trebala imati ove podatke

UUID , JIR, VRIJEME , ZKI , (misliš li tu prazne redove u slučaju greške ili kaj  točno prazne redove kako je i bilo do sada, s time da greške idu od parametra 5 kao što je objašnjeno gore.) pa tek onda gore navedeni tekst s time da za 5 parametar( Operacija je završila sa greškom!)  budu skraceni nazivi kao u primjeru za poslovni prostor.

KADA JE RACUN ZAHTJEV ISPRAVAN POVRATNA DATOTEKA IMA 4 PARAMETRA PREMA SPECIFIKACIJI

Vezano na LOG datoteku, radi lakše analize problema kod korisnika također bi bilo dobro da možemo odabrati naziv datoteke ( odnosno da ima isti naziv kao i povratna datoteka ) i ekstenziju. ( isti razlog kao što je bio sa povratnom datotekom sa .txt ekstenzijom)

Ja u programu kada mi se vrate sve txt datoteke iste spremam u zaseban folder te bi za analizu problema koristilo da je i log datoteka u tom folderu i ima podatke samo o konkretnom zahtjevu.

Ako ju ostavim da je u folderu sa wrapperom u nju se upisuje svaki događaj po redu , te je nakon 10-15 pokušaja slanja zahtjeva nije baš čitljiva, a posebno kada budu tisuće zahtjeva prema CIS-u.(nisam baš spreman za uvođenje još jedne datoteke sa greškom , kad nam se cijela greška vrača u sad definiranu text datoteku - pa u slučaju greške su ona i XML datoteka sve što trebaš za uočavanje greške.Slažem se da bi mogli eventualno periodično isprazniti log datoteku - dnevno ili tako nešto, previše se spremamo za pogreške a njih nakon debagiranja više nebi smjelo niti biti)

Nije potrebno raditi novu datoteku jer već postoji "FiskalizacijaDEV.log" samo kroz pozivanje wrappera omogućiti da možemo odabrati ime i ekstenziju  datoteke.

Danas ču malo standardizirati povratne datoteke u slučaju greške.

Bilo bi dobro da napraviš listu koji tekst greška možemo očekivati u parametru 1 ( kod povratne datoteke poslovnog p ) i parametru 5 ( kod povratne datoteke računa )

I da slažem se sa time da nebi trebalo biti grešaka kada se sve "ispegla" osim grešaka kod komunikacije sa CIS-om.

I mislim da bi to bilo sve što bi wrapper trebao raditi.

Još jednom HVALA na lavovskom poslu i strpljenju.

 

 

Nov 24, 2012 at 8:16 PM

Wrapper.exe  verzija 1.2.8.2

Implementirao sam večinu vaših prjedloga prijedloga.

Također sam malo doradio dokumentaciju

http://www.mvv.hr/wrapper/

 

Promjene se odnose na povratneTXTdatoteke i dodatne funkcije Konfiguracijske datoteke.

Log datoteka se sad zove Wrapper.log i kroz ini se može određivazi maksimalni broj linija prije reinicijalizacije.

Ako koristite EncryptedPassword tu ima bitnih novosti pa proučite i dio uputa na webu koji se odnosi na taj dio.

Sutra bend svira dalje.

 

Nov 25, 2012 at 10:22 AM

Ponovo o povratnim datotekama

1. poslovni prostor

   U slučaju da je sve u redu  prvi parametar poruka "OK" što je ispravno prema uputama

   U Slučaju kada sam u OIB polje upisao 12 znakova Prvi parametar "OIB mora imati 11 brojeva", prema uputama to bi trebalo ići u drugi parametar, a prvi bi trebao biti NOT_OK

 

2. račun

    Kada je račun ispravan dobijem 4 parametra prema očekivanju

    U slučaju krivog vremena u polju DatVrijeme ( Umjesto T upisao sam Ts ). prva 3 parametra prazna, 4 ZKI, 5 na dalje opis greške - očekivano prema uputama

    U slučaju kada u OIB upišem 12 znakova povratna datoteka ima samo prvi parametar "OIB mora imati 11 brojeva", mislim da prema uputama treba biti prva četiri parametra prazna i tek u petom parametru ova poruka. tako da standarziraš da u bilo kojem slučaju greške idu od parametra 5 na dalje.

Molim samo da radi mrežnog rada imamo opciju da sami odaberemo naziv "wrapper.log" datoteke

Nov 25, 2012 at 9:15 PM

Wrapper.exe  verzija 1.2.8.4

Uvodi transparetntno konvertiranje i slanje jednostavnih TXT datoteka kao  "RACUNZAHTJEVTXT" i  "POSLOVNIPROSTORZAHTJEVTXT"

To ujedno predstavlja dosad najjednostavniji oblik kreiranja i slanja datoteke Računa i Poslovnog prostora, pa ga je vrijedno proučiti.

Primjer datoteka i slanja je ovdje : http://www.mvv.hr/wrapper/index.html#TextSalji

Zbog svoje univerzalnosti Wrapper može detektirati i vratiti izuzetan broja pogrešaka.

Kroz TXT datoteke za potrebe matične aplikacije,bio sam prisiljen sintetizirati povrat pogrešaka prema specifikaciji :

http://www.mvv.hr/wrapper/index.html#PovratTXT

(tu ču možda malo razočarati DOTVIPa ali to je jedini način da obezbjedim standardiziranost i dosljednost vraćenih podataka)

 Mislim da promjena u povratu pogrešaka krot txt datoteke više neće biti.

Uz to ,ćisto da malo uvježbam rad sa dll_ovima , od sad Wrapper koristi datoteku WrapperLib1.dll , priloženu u zipu.

Nov 25, 2012 at 10:25 PM

Kroz ini radi pozivanje na prijašnji način, dali ćeš to ostaviti tako ? Novi način je također OK.

Još uvijek mislim da je bolje u clipperu znati točno što očekivati u kojem redu povratne datoteke.

Ne da u parametru 1 kod posloslovnog prostora u jednom slučaju imaš OK, a u drugom slučaju <BEGINERROR>, isto vrijedi za povratnu datoteku računa - nije uvijek <BEGINERROR> na 5 parametru pojavljuje se na 1 parametru.

Više sam o tome pisao 2 posta gore, te sam još uvjek uvjeren da skraćene obavijesti o greškama su primjerenije za clipper, jer ako imamš listu grešaka koje možeš očekivati iz wrappera sa select case jednostavno u clipperu napraviš što želiš ( obavjestiti korisnika, ponovo pokrenuti zahtjev itd. ) a ako imaš kao sada "definiranu tekst poruku" greške ( tipa Greçka kod obrade i slanja dokumenta: The remote server returned an error: (500) Internal Server Error. ili OIB mora imati 11 znakova ) jedino ju možeš prikazati ili ne prikazati korisniku jer nemaš puno mogučnosti za manevre.

To je moje mišljenje koje već kroz nekoliko postova promoviram. Na taj način dobiješ transparentniji wrapper koji je veza između clippera i windowsa te sve događaje rješavaš u clipperu odnosno svaki programer rješava u clipperu.

Primjećujem da smo samo nas dvojca zapeli za wrapper.

  

Nov 25, 2012 at 11:08 PM
Edited Nov 26, 2012 at 2:38 PM
dotvip wrote:

Kroz ini radi pozivanje na prijašnji način, dali ćeš to ostaviti tako ? Novi način je također OK.

Svi dosadašnji načini rade istovjetno

Još uvijek mislim da je bolje u clipperu znati točno što očekivati u kojem redu povratne datoteke.

Ne da u parametru 1 kod posloslovnog prostora u jednom slučaju imaš OK, a u drugom slučaju <BEGINERROR>, isto vrijedi za povratnu datoteku računa - nije uvijek <BEGINERROR> na 5 parametru pojavljuje se na 1 parametru.

Problem je OGROMAN broj mogučih greški koje se vračaju a kojih neče biti u exploataciji za korisnika kad posložiš matičnu aplikaciju.

Imaš more varijacija u greškama (greške u brojevima i vrstama poziva i raznim kombinacijama poziva , greške unutar xml datoteke koje odkriva vrapper, greške koje nije odkrio pa mu ih vrača Raverus.dll , greške koje vrača Operativni sustav Wrapperu ili preko Raverus.dll , greške koje vrača CISov server i tako u nedogled pomnoženo sa brojem zadataka)

Nemože nikako aplikacija koja je prekinuta na raznim pozicijama izvršavanja vratiti iste podatke u povratnu TXT.datoteku (odnosno mogla bi da nema takav široki spektar primjene)..

Recimo ZKI nemože vratiti možda jer nema podataka za izračun, ili je kriva kombinacija poziva itd.

Bitna je konsanta da kad je greška Vrača grešku <BEGINERROR>text greške<ENDERROR> a to možeš pročitati iz bilo kojeg alata u bilo kojem redu..

Ako se greška nije vratila , onda je procedura prošla  i nema potrebe da ti se to posebno istiće - osim u slučaju da povratna datoteka uopče nije kreirana,a taj event opet treba tretirati kao ERROR .

Potpuno je nebitno prevađanje prave greške u nekakav kod greške jer je to korak unatrag(da bi onda unutar matične aplikacije opet tumačili kod greške).

Kod greške nemaš šta drugo napraviti nego prikazati text greške ili reči nije prošlo probaj opet a to možeš kad ispraviš greški a ona je ta i ta.

 

Vidječeš da u exploataciji nebude problema, jer če i matična apliacija prije pozivanja biti podešemna da ne kreira krive pozive i datoteke.

Više sam o tome pisao 2 posta gore, te sam još uvjek uvjeren da skraćene obavijesti o greškama su primjerenije za clipper, jer ako imamš listu grešaka koje možeš očekivati iz wrappera sa select case jednostavno u clipperu napraviš što želiš ( obavjestiti korisnika, ponovo pokrenuti zahtjev itd. ) a ako imaš kao sada "definiranu tekst poruku" greške ( tipa Greçka kod obrade i slanja dokumenta: The remote server returned an error: (500) Internal Server Error. ili OIB mora imati 11 znakova ) jedino ju možeš prikazati ili ne prikazati korisniku jer nemaš puno mogučnosti za manevre.

To je moje mišljenje koje već kroz nekoliko postova promoviram. Na taj način dobiješ transparentniji wrapper koji je veza između clippera i windowsa te sve događaje rješavaš u clipperu odnosno svaki programer rješava u clipperu.

Vjeruj mi da sam potpuno shvatio tvoje mišljenje i rado bi to napravio, ali struktura i broj mogučih varijacija u greškama je jako velik ali one se neče pojavljivati pri upotrebi.

Primjećujem da smo samo nas dvojca zapeli za wrapper.

Imam  desetak ljudi koji me kontaktiraju mailom direktno jer sam napisao gore da ne masiramo ostalu raju.

Nov 26, 2012 at 2:19 PM

Može li se u wraper.ini dodati vrijeme timeouta te vrijeme do prikaza balona sa prikazom poruke da traje spajanje na CIS?

Malo mi dugo traje dok se ne prikaže poruka da nema veze sa CIS-om.

Sve ostalo radi OK. Ono sa BeginError i EndError je čist u redu.

Još jedan mali visualni problem mi predstavlja prikaz slidera u prozoru kad pokrenem wraper (pokrečem ga preko "command.com /c racun.bat"). Kad u racun.bat stavim samo Echo "Proba" (a ne wrapper.exe USEINI racun.ini) desni slider za skrolanje po ekranu u Window DOS modu se ne prikazuje.

I još jedno pitanje zašto postoji WrapperLib1.dll (samo imamo brigu na njega) ili će on zamjeniti Raverus...dll?

 

 

Nov 26, 2012 at 2:37 PM
Edited Dec 14, 2012 at 11:28 PM
ZeljkoManjkas wrote:

Može li se u wraper.ini dodati vrijeme timeouta te vrijeme do prikaza balona sa prikazom poruke da traje spajanje na CIS?

Malo mi dugo traje dok se ne prikaže poruka da nema veze sa CIS-om.

OK - prihvačeno, staviću da se vrijeme može regulirati kroz Wrapper.ini

Sve ostalo radi OK. Ono sa BeginError i EndError je čist u redu.

Još jedan mali visualni problem mi predstavlja prikaz slidera u prozoru kad pokrenem wraper (pokrečem ga preko "command.com /c racun.bat"). Kad u racun.bat stavim samo Echo "Proba" (a ne wrapper.exe USEINI racun.ini) desni slider za skrolanje po ekranu u Window DOS modu se ne prikazuje.

Nemogu se pohvaliti da sam te shvatio, dali za probu pokrečeš iz .bat , ili iz aplikacije pozivaš Wrapper kroz .bat ili kaj.Uglavnom Wrapper nema nikakvu funkciju funkciju ispisa na ekran.

I još jedno pitanje zašto postoji WrapperLib1.dll (samo imamo brigu na njega) ili će on zamjeniti Raverus...dll?

Neče ga zamjeniti, Raverus.dll je osnova svega, WrapperLib1.dll je library u kojem če biti zajedničke funkcije koje koriste Wrapper i Wrapper.Konfigurator ( koji je u izradi a predstavljače interface za prijavu prostora, konfiguraciju postavki Wrappera i druge stvari.Gotov če biti za par dana jer sam zauzet drugim stvarima.)

Dll je uveden da integrira zajedničke djelove koda.

 

 

Nov 27, 2012 at 7:36 AM

Hvala.

Ono sa sliderom zaboravi jer izgleda da radi samo u Virtual XP-u, na pravom stroju je sve ok i u FullScreen a i u Window modu (Naravno u fullscreen-u se ne vidi balon sa porukom).

Nov 27, 2012 at 8:50 AM

primijetio sam da kad se pusti wrapper bez parametara (radi prikaza ekrana s parametrima), ali sa izvučenim mrežnim kablom iz zida, program traži mrežu i kad je ne nađe izbaci poruku: The underlying connection was closed: An unexpected error occurred on a receive.

ne znam koliko je to važno, ali možda bi poziv programa bez parametara mogao odmah prikazati ekran, bez traženja mreže jer mu u tom slučaju i ne treba.

Dec 5, 2012 at 11:21 AM

Ima li kakvih novosti o opcijama koje sam zatražio. Poruke na baloon tekstu, echo i status.

 

 

Dec 5, 2012 at 11:31 AM
ZeljkoManjkas wrote:

Ima li kakvih novosti o opcijama koje sam zatražio. Poruke na baloon tekstu, echo i status.

 

 

Ima željko, međutim buduči da su izmjene u novoj verziji jako velike(rezidentno čekanje i odgovaranje na sve upite iz klijent aplikacije , i druge stvari).

Debagiranje i izrada dokumentacije i primjera , zahtjevaju puno vremena.

Danas ču barem tebi poslati Alfa verziju na mail pa testiraj prije nego stavim link - pa mi pitanja šalji na mail.

Dec 5, 2012 at 10:43 PM
Edited Dec 5, 2012 at 11:07 PM

Evo nova verzija Wrapera 1.8.2.7 je na webu.

http://www.mvv.hr/wrapper/

Ako se netko hoće igrati sa novim naprednim opcijama,.

Pokušao sam ga približiti što je moguće više interfejsu između matične aplikacije i CISA.

 

Od ove Verzije uvodi se i novi program za slanje poslovnih prostora i

konfiguraciju naprednih mogučnosti Wrappera.

Opis na linku http://www.mvv.hr/wrapper/konfigurator.html

Dec 12, 2012 at 9:26 PM

Nakon više neprospavanih noći , ja i mojih desetak vjernih betatestera uspjeli smo dogurati do vrlo upotrebljivog prizvoda za komunikaciju starijih tehnoloških rješenja sa CISOM porezne uprave.

Novi Wrapper je na Webu :

http://www.mvv.hr/wrapper/

Za uporabu proučite opsežnu dokumentaciju na toj te na adresi evolucije programa

http://www.mvv.hr/wrapper/evolucija.html

Aplikacija radi sa klasičnim pozivanjem i u RESIDENTNOM modu.

Za uporabu je potrebno izdvojiti malo vremena i proučiti opsežnu dokumentaciju .

 

Dec 15, 2012 at 4:22 PM

 

Ne mogu, a da ne izrazim zahvalnost Vladi (ne instituciji Lijepe naše, nego čovjeku od krvi i mesa) za ovaj, malo je reći, vrlo upotrebljiv komad programa koji mi je, opet - malo je reći, olakšao fiskalizaciju moga programa. Moja bezrezervna preporuka. Vrlo je jednostavan, bezbolan i brz način fiskalizacije kako DOS tako i Windows programa.

 

Još jedanput, Vlado, hvala ti!

Dec 15, 2012 at 4:45 PM

maslinar , hvala ti lijepa, Malo sam pretjerao u početku postavivši projekt na krive osnove , pa mi je to kasnije jako smetalo u projektu.

Mislim da nemamo više tu puno kaj raditi,Desetak nas koristi Wrappera od developera, u rezidentnom modu .

Barem nas je toliko upisanih na moj server.

Nekoi još voze na staru verziju koja poziva svaki puta program, što baš i nije neznam kaj ali čovjeka veseli.

Sad sam na kraju skužio da mogu direktno LPT na CIS preusmjeriti , ali je kasno za promjene.

Jedino , buduči da imamo dan dva do izlaska a teren, možda bi bilo dobro zadnji puta standardizirati ime izlazne datoteke kao jedinstveno.

Ovak mi se to čini dosta šareno, jer imamo puno izlaznih datoteka po komandama.

Možda da se u INI preddefinira povratna datoteka a ne , echo.txt , dohvatistatus,.txt , ovo.txt, ono.txt

Meni to nije problem napraviti u par sati ali vi onda morate natrag kod sebe unjeti zadnji napor da prilagodite aplikacije

novom povratnom formatu.

Dec 17, 2012 at 8:45 AM

Vlado, jedno pitanje Dali wrapper u zadnjoj verziji 2.0.0.3 provjerava potpis od u povratnoj CIS poruci ?

Dec 17, 2012 at 9:51 AM

dotvipe, formalnu ispravnost digitalnog podpisa ne provjerava, ali mi onako znamo na kojoj web adresi smo tražili jir.

U svakom slučaju, on prvo pokušava osigurati formalnu i logićku ispravnost pozivnih parametara.

Zatim pokušava provjeriti logičku ispravnost XML datoteke za slanje, poslati datoteku i obraditi eventualne greške pri slanju.

Nakon toga obrađuje eventualno dobivenu grešku ili pozitivan odgovor od servera CIS_a.

U slučaju računa sam smatrao da je svaki uredno zaprimljeni odgovor sa poznate adrese koji sadrži JIR , uspjeh

pa mislim da tu neku ispravnos potpisa u povratnoj datoteci netreba ni provjeravati.

 

Možda nisam dobro shatio pitanje, u tom slučaju slobodno malo objasniš razlog upita.

Dec 17, 2012 at 10:02 AM

Mislim da si sve rekao ovime da provjeravaš ulazne parametre i povratne XML datoteke iz CIS-a.

U tehničkoj specifikaciji stoji da bi trebalo provjeriti potpis XML datoteke dobivene od strane CIS-a, a ujedno u verziji 2.0 FiskalizacijaDEV ima ta funkcija, pa me interesiralo dali si ju implementirao u wrapper.

Ja naime radim potpisivanje za PDA-uređaje preko WCF servisa pa sam dodao tu mogučnost samo da budem siguran da je povratna poruka došla od CIS-a jer mi se komplena obrada računa dešava na serveru.

 

Dec 17, 2012 at 10:10 AM

Dotvipe, o kojoj konkretno funkciji FiskalizacijeDEV govoriš ?

Dec 17, 2012 at 10:16 AM

Vlado,

Ovo je funkcija

PopratneFunkcije.Potpisivanje.ProvjeriPotpis( DobiveniXML od CIS-a )

Dec 17, 2012 at 11:21 AM

Dotvipe, zahvaljujem,-  riješeno od Verzije 2.0.0.4

Dec 17, 2012 at 12:35 PM

Možete mi pomoći? Nakon pokretanja komande: c:\wrapper\Wrapper.exe GenerirajZki "26004523816" "05.01.2011 13:07:08" "1" "CENTRALA" "1" "1963.14" "FISKAL 1" pojavi se prozor: Signing data with your private exchange key (An applicationa is requesting to a Protected item.) (CryptoAPI Private Key)

Nakon pritiska na OK komanda se uredno izvrši. Kako mogu izbjeći to potvrđivanje?

Dec 17, 2012 at 12:53 PM

nrosbar , proučavam problem .

Dec 17, 2012 at 1:09 PM
Edited Dec 17, 2012 at 1:09 PM

nrosbar , osiguraj da radiš sa zadnjom verzijom.

U njoj naredba GENERIRAJZKI ima ukupno 9 parametara (iza "FISKAL 1" upiši false)

predpostavljam da je do greške došlo jer u BAT datoteci primjera nedostaje na kraju jedan navodnik u liniji poziva.

GenerirajZki "26004523816" "05.01.2011 13:07:08" "1" "CENTRALA" "1" "1963.14" "FISKAL 1" false

Ako se greška ponovi javi se ponovno, jer se možda ne radi o tome, naime Wrapper ima kontrolu potrebnih parametara i 

trebao bi javiti upozorenje o pogrešnom broju parametara.

 

Također ti preporučam da Wrappera pokreneš sa :

Wrapper.exe  RES Racun.ini 26004523816 -

Te da testiraš rad upisivanjem naredbe u racun.ini

GenerirajZki

26004523816

05.01.2011 13:07:08

1

CENTRALA

1

1963.14

FISKAL 1

false

Wrapper odgovara na sve komande kao iz naredbenog redka(pazi tu izgleda da su prazni redovi ali u svakom redu je jedan parametar)

Prouči malo pozive ovdje http://www.mvv.hr/wrapper/#VrstePoziva

Dec 17, 2012 at 1:15 PM

Nakon dodavanja parametra false, otvorio se Wrapper prozor s porukom:

Datoteka sa certifikatom nije pronađena (FISKAL 1)
Certifikat nije pronađen.

Zadnji zadatak izvršen : 14:13:14
Vrijeme izvođenja zadatka :

                              0 : Form load begining : 00:00:00.1874820
                             
                             
                             
                             
                              5 : Kraj izvršenja : : 00:00:00.2812230

Dec 17, 2012 at 1:30 PM

Dali se certifikat u storu zove FISKAL 1 ?

Dali sigurno radiš sa zadnjom verzijom programa, naime u kodu ne vidim načina da program uz zadnji parametar false javi tu grešku ?

Dec 17, 2012 at 2:37 PM
nrobsar wrote:

Možete mi pomoći? Nakon pokretanja komande: c:\wrapper\Wrapper.exe GenerirajZki "26004523816" "05.01.2011 13:07:08" "1" "CENTRALA" "1" "1963.14" "FISKAL 1" pojavi se prozor: Signing data with your private exchange key (An applicationa is requesting to a Protected item.) (CryptoAPI Private Key)

Nakon pritiska na OK komanda se uredno izvrši. Kako mogu izbjeći to potvrđivanje?

Koji sam glupan, nisam prije pročitao pažljivo tvoj Upit.

Kod upisa certifikata si stavio opciju da te svaki puta pita za password.

Reinstaliraj certifikat bez te opcije ili podpisuj certifikatom iz datoteke.

Doduše sve prije napisamno stoji.

Dec 18, 2012 at 12:09 PM

Hvala, sad radi. Može još jedno pitanje? Da li se isti certifikat može instalirati na više računala koja se nalaze u istom prostoru ili svaki mora imati svoj certifikat ?

Dec 18, 2012 at 12:23 PM
nrobsar wrote:

Hvala, sad radi. Može još jedno pitanje? Da li se isti certifikat može instalirati na više računala koja se nalaze u istom prostoru ili svaki mora imati svoj certifikat ?

Isti certifikat možeš koristiti na svim računalima na kojima želiš podpisivati dokumente, naravno za isti OIB.

Ako iz nekog razloga podpisuješ dokumente za više firmi moraš imati i više certifikata.

Ja sam nekako prihvatio praksu uporabe certifikata iz datoteke, jer mi se čini praktičnije.

 

Dec 18, 2012 at 12:34 PM

 

Ok, hvala. Ono gore što sam napisao da mi radi, radi s certifikatom iz datoteke. Probao sam sad reinstalirati certifikat (radim sve po uputama) i nigdje nisam vidio da se nešto može promijeniti osim na jednom mjestu 'Security level set to Medium' koji je po defaultu medium , a još jedino ima mogućnost 'high', S tim da mene ne pita za password nego me samo traži da stisnem OK. Ali nema veze, bitno da mi radi s certifikatom iz datoteke, pa ću njega koristiti.

Još jedanput hvala.

Dec 20, 2012 at 3:05 PM
Edited Dec 20, 2012 at 3:18 PM

Da nebi morao odgovarati svakome posebo na slično pitanje , prosljeđujem odgovor na direktan upit jednog kolege :

PITANJE

Što se događa kad vrapper ne uspije poslati poruku zbog greške na serveru ili prekida veze. (MISLIM UNUTAR WRAPPERA)
Jel moguće iz programa provjeriti jer vrapper u residentnom modu pokrenut ili nije?

ODGOVOR

Pri testiranju se može dogoditi nekoliko vrsta pogrešaka, koje se međutim nebi smjele događati pri produkcijskoj uporabi.
 
A) Wrapperu je prosljeđen krivi zahtjev sa kojom nema pojma što će , pa će zavisno od postavki u Wrapper.ini napraviti sljedeće :
            a) ništa (ako su blokirane i audio dojava greške i prikaz forme u slućaju greške)
            b) Javiće se dubokim tonom karakterističnim za grešku ako je Beep_ON_Error=True
            c) Otvoriće formu sa opisom greške ako je FormaOnError=True
    Kako mu je prosljeđen krivi zahtjev i svi ostali parametri se ignoriraju i upotrebljavaju defaultne postavke u Wrapper.ini
B) Wrapperu je prosljeđen Ispravan zahtjev sa krivim jednim ili više parametara
           a) na primjeru računa če se od 2 do 8 parametra (uz ispunjene uvjete dojave greške pod A) če se ili ništa ili javiti grešku.
           b) ukoliko se 9 do 11  argumenta nemogu pretvoriti u boolen uptrijebiće se postavka iz Wrapper.ini
C) Wrapperu je prosljeđen ispravan zahtjev , ali postoje greške u XML datoteci.
          a) Wraper će pokušati detektirati grešku i dojaviti je prije slanja (uz ispunjene uvjete dojave greške pod A)
          b) Wratiti će grešku u datoteci navedenoj kao datoteci za povrat informacija.
D) Wrapperu je prosljeđen zahtjev za račun , međutim CIS je vratio poruku greške zbog logičke greške unutar XML datoteke
          a) Wraper će dojaviti grešku (uz ispunjene uvjete dojave greške pod A)
          b) Wratiti će grešku u datoteci navedenoj kao datoteci za povrat informacija.
E) Wrapperu je prosljeđen Ispravan zahtjev i XML datoteka je ispravna ali CIS ne radi
          a)Wrapper će pokušati poslati račun u CIS i odustati nakon Timeouta defniranog   u Wrapper.ini parametrom CISTimeout=20000 (default)
          b)Wrapper će Wratiti samo ZKI u datoteci povrata informacija, javiti pruku o grešci (uz ispunjene uvjete dojave greške pod A)
          c) Wrapper će promjeniti ikonu , pokazati u Trayu Balloon sa porukom nedostupnosti CISA te pokrenuti pozadinski Thread za detekciju
             CISa u intervalima definiranim u Wrapper.ini ( odprilike BaloonPause + (CISTimeout / 4))
             Za vrijeme nedostupnosti će se mjenati standardna ikona aplikacije i ikona greške.
F)  Wrapperu je prosljeđen Ispravan zahtjev i XML datoteka je ispravna ali Wrapper od ranije traži CIS u pozadini.
          a)Wrapper će Wratiti samo ZKI u datoteci povrata informacija te poruku da je slanje preskočeno , i  javiti pruku o grešci (uz ispunjene uvjete dojave greške pod A)
 
Ako je u pozadini pronađen CIS Wrapper automatski prestaje sa preskakanjem slanja računa.
 
 
Dali Wrapper čeka na poruku moguče je provjeriti da mu pošalješ narebu PING (bez drugih parametara).
Ako ti u roku pola sekunde u datoteku ping.txt javi OK onda radi , ako je ne dočekaš onda ne radi.
Alternativno možeš srušiti sve Wrappere koji čekaju na istu datoteku sa komandama naredbom KILWRAPPER i pokrenuti novi.
Dec 21, 2012 at 7:02 PM

Evo stavio sam na zahtjev korisičke oibe pod kljuć.

Vidim da je na serveru upisano dvanajst oiba developera, što znači da nas samnom toliko koristi ili testira Wrappera u rezidentnom modu.

Kako su neki spremni unositi oibe svojih korisnika morao sam napraviti restrikciju pristupa OIBima kako ih neko nebi mogao obrisati.

Aktivno komuniciram preko maila sa desetak developera, ali su mi se lagano izmješali jer  se javljaju i osobnim mailovima i nickovima sa Foruma.

Molim svakoga tko treba login i pass za server Wrappera da mi pošalje mail da mu ga otvorim i vratim mailom ,kako bi mogli početi upisivati svoje korisnike.

 

Dec 22, 2012 at 1:03 AM

1)

http://www.mvv.hr/wrapper/korisnickeupute.php

Tu sam počeo raditi kratke korisnićke upute koje če se moći otvoriti iz popmenija.

Zamišljene su kao kratka osnova za krajnjeg korisnika ako ga zbune promjene ikona i poruke koje bi se mogle pojaviti pri kubitku konekcije i slično.

Znači samo osnove , ništa napredno.

Molim svoje kompiće - betatestere da mi jave eventalne sadržaje za koje misle da bi trebali u tom kratkom naputku biti sadržane, da ih uključimo u njega.

2)

U verziji 2.0.0.6 sam odlučio u Popmeniju dati Krajnjem korisniku mgučnost da jednim klikom omogući ili onemoguči AUDIO dojavu urednog izvršenja zadatka

ili greške.Interesiraju me mišljenja dali to smatrate prevelikim zadiranjem u vaše mogučnosti omogučavanja ili onemogučavanja mogučnosti krajnjeg korisnika.

Dec 22, 2012 at 7:45 AM
Edited Dec 22, 2012 at 8:34 AM

o

Dec 22, 2012 at 10:38 AM

Ovo "o" je DotVip ukratko objasnio da bi htio proizvoljno ime log datoteke :-))).

Omogućeno definicijom "loggingDatoteka="  u Wrapper ini od verzije 2.0.0.6.

Ukoliko nema upisa primjenjuje se defaultna postavka Wrapper.log

 

Također bi mogli malo razmisliti oko strukture i sadržaja log datoteke, čini mi se dosta šarena.

Tu je dobrih ideja imao Stanko, ali sam ih ja već zaboravio.

Dec 28, 2012 at 11:23 AM

Može li se wrapper podesiti da sada za osnovni url ima produkcijski, ili da postoji neki switch (može i u iniu da se koristi testni server)

 

Dec 28, 2012 at 11:32 AM

Default određuje Raverus dll. tako da to nemožemo mjenjati, odnosno mogli bi mjenjati source dlla.
Mogu staviti neki switch kao pozivni argument i unutar Wrappera hardkodirati produkcijski url.
I onda ako ga poziveš sa "Wrapper.exe request.ini oib - Produkcija" da radi sa produkcijskim oibom.
----- Original Message -----
From: [email removed]
To: [email removed]
Sent: Friday, December 28, 2012 12:23 PM
Subject: Re: Wrapper.exe [fiskalizacija:402638]

From: ZeljkoManjkas

Može li se wrapper podesiti da sada za osnovni url ima produkcijski, ili da postoji neki switch (može i u iniu da se koristi testni server)

Dec 28, 2012 at 2:16 PM

Wrapper Verzija 2.0.0.8

-Reklame u trayu više nema .

Upis OIBA na listu korisnika je poželjan iz statističkih razloga, ali nema nikakvog uticaja na rad programa.

Na serveru samo ostaje mogučnost upisa BANNED oiba, ako nekog želite maknuti iz uporabe.

- Uvedena opcija korisničkog menija koji se pojavljuje ako u Wrapper.ini upišete TrayMenuP=True
Ima samo opciju izlaz, link na kratke upute za korisnika , i pokazuje koju datoteku čeka (bez mogučnosti klika).
Kod izlaza traži potvrdu da stvarno želite izaći.


-Ako kao 5 argument (vođenje log datoteke) napišete string koji se nemože pretvoriti u true ili false - Wrapper če ga smatrati imenom log datoteke - i opciju če smatrati true.

Jan 14, 2013 at 2:39 PM

Nije mi jasna upotreba opcije KILWRAPPER u rezidentnom modu kao i opcije PING.

Može neki primjer ?

 

 

Jan 14, 2013 at 3:39 PM
margy wrote:

Nije mi jasna upotreba opcije KILWRAPPER u rezidentnom modu kao i opcije PING.

Može neki primjer ?

 

 

@margy , ideja iza ove dvije komande je u biti bila omogučiti neki oblik kontrole nad pokretanjem , radom i zatvaranjem Wrappera iz matične aplikacije.

Tako će se on javiti sa dva kratka beepa i u datoteku PING.TXT wratiti OK. To bi matičnoj aplikaciji trebalo omogučiti detekciju da program aktivno čeka na datoteku sa naredbama. Naredba se inicijalizira upisom naredbe PING u prvom redu datoteke sa naredbama.

Istio tako če sa sa dva kratka bipa javiti i zatvoriti svaki Wrapper koji učita datoteku sa naredbama u kojoj je prvi red KILLWRAPPER.

Ideja iza toga je bila da se eventualno iz matične aplikacije može ugasiti jednu (više greškom pokrenutih instanci) Wrappera , a onda pokrenuti novu sa istim ili drugim inicijalnim postavkama.

Teško je ocijeniti koliko su korisne u produkcijskom okruženju (bile su aktivno korištene pri testiranju) ali tu su.

Jan 15, 2013 at 6:59 AM

Javljam se da potvrdim iskaz vvrbane-a. Ove dvije funkcije koristim u svom programu upravo u svrhu detekcije prisutnosti wrapper-a u memoriji i sprječavanju dupiranja programa i s time povezanih grešaka u radu. Stoga palac gore za te dvije funkcije!