Search  
Friday, February 10, 2012 ..:: Forum ::.. Register  Login
 Forum Minimize
Pentru a putea posta mesaje trebuie să vă înregistraţi.
Notă: Mesajele cu conţinut jignitor sau ilegal (inclusiv cereri de soft piratat) nu sunt acceptate şi vor fi şterse imediat .

Pentru a primi raspunsuri rapide si corecte, scrieti in mesaj ce intentionati sa faceti, ce mesaj de eroare primiti, in ce context si in urma caror actiuni. De asemenea, mentionati versiunea de FoxPro in care lucrati!
Dacă nu specificați versiunea, se consideră VFP 9.0 SP2.

SearchForum Home
  Visual FoxPro  Visual FoxPro in general  verificare cod ...
 verificare cod fiscal
 
 6/14/2007 6:32:38 PM
User is offlineliviup
45 posts


verificare cod fiscal
 (Romania) Modified By liviup  on 6/14/2007 5:33:17 PM)

stie cineva cum se verifica PRIN PROGRAM daca un cod de inregistrare in scopuri de tva,un RO.........., este valid ?

Multumesc,

 

 6/14/2007 7:04:21 PM
User is offlineadrianmorarasu
4 posts


Re: verificare cod fiscal
 (Romania)

Nu este codul meu, dar l-am gasit pe net, nu stiu unde -> dar merge!!!!

function ver_cui
param m_cfiscal
m.Cfiscal=m_cfiscal
* cifra de control
m.cfis=int(m.cfiscal/10)
m.masca=753217532
dimension cod(9),masc(9),c(9)
* cod fiscal
m.zero=cifre(m.cfis)
for k=1 to 9
 c(k)=cod(k)
endfor
* masca
m.zero=cifre(m.masca)
for k=1 to 9
 masc(k)=c(k)
endfor
* suma
sum=0
for k=1 to 9
sum=sum+cod(k)*masc(k)
endfor
sum=sum*10
r=mod(sum,11)
r=mod(r,10)
if m.cfiscal<>m.cfis*10+r
 retu -1
endif
retu 0

FUNCTION cifre
parameter m.cfis
Cifre=Str(m.cfis,9)
for k=1 to 9
 cod(k)=Val(Subs(Cifre,k,1))
endfor
Cifre=Str(m.Masca,9)
for k=1 to 9
 masc(k)=Val(Subs(Cifre,k,1))
endfor
return

 6/24/2007 5:03:10 PM
User is offlineIaci
96 posts




Re: verificare cod fiscal
 (N/A)
L-am luat si eu. Multam mult, chiar merge.Super!
 7/3/2007 11:08:29 PM
User is offlinecostin_mentor
483 posts
www.accessoft.ro
2nd




Re: verificare cod fiscal
 (N/A)
Pentru validari de CUI ,CNP , conturi bancare (aveti si o descriere a modului de verificare) puteti incerca si pe :
www.validari.ro
 7/7/2007 11:36:48 PM
User is offlinegpeth
12 posts


Re: verificare cod fiscal
 (N/A)
E utila si o validare a platitorilor de tva, mai ales pentru declaratia 394. Daca e cineva interesat pot da codul de validare.
 7/7/2007 11:39:14 PM
User is offlineGrigore Dolghin
3521 posts
www.class-software.eu
1st






Re: verificare cod fiscal
 (Slovakia)

Ar fi bun. Poti sa-l postezi, te rog? Multumesc.


Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 7/8/2007 12:25:11 AM
User is offlinegpeth
12 posts


Re: verificare cod fiscal
 (N/A)

Codul este (era) extrem de simplu dar spre surprinderea mea nu mai functioneaza. Cei de la EC au schimbat modul de interogare in Java, iar la asta nu ma pricep.

Vechiul cod care functiona 100% era:

Function VERIFVAT
Parameters CIF
lcURL="http://ec.europa.eu/taxation_customs/vies/cgi-bin/viesquer?MS=RO&Lang=EN&VAT="+CIF
lcWebContent = ReadURL(lcURL)
If Occurs('Yes, valid VAT number',lcWebContent)>0
 CORECT=.T.
Else
 CORECT=.F.
Endif
Return CORECT

Functia ReadUrl cred ca o au toti foxistii. Daca nu... o dau.  Poate gaseste cineva noua formula de aflare a validitatii VAT

Noul site se afla la adresa: http://ec.europa.eu/taxation_customs/vies/vieshome.do?selectedLanguage=EN

 

 

 7/8/2007 12:38:25 AM
User is offlinegpeth
12 posts


Re: verificare cod fiscal
 (N/A) Modified By gpeth  on 7/7/2007 11:48:02 PM)

Am gasit pe site-ul EC o referire la folosirea WSDL pentru interogarea validitatii TVA.

Q16: Is it possible to have an open interface to the Commission's web site?

A SOAP service, offering the same functionality as the interactive service is available. The disclaimer, help and FAQ pages are also applicable for this service. Its WSDL file can be obtained here. Any technical question related to this service can be submitted to TAXUD - Vies on Internet. top

si am creat urmatorul cod:

LOCAL oProxy
 
oProxy = CREATEOBJECT("MSSOAP.SoapClient")
oProxy.MSSoapInit("http://ec.europa.eu/taxation_customs/vies/api/checkVatPort?wsdl") 

TARA="'RO'"
CIf="'11259435'"
lcXML =  oProxy.checkVat( tara,cif)                   &&& aici m-am impotmolit pt ca nu cred ca sunt corect pusi parametrii

? lcXml
RELEASE oProxy

Teoretic ar tb sa functioneze dar da eroare la parametrii functiei checkVat. Ma poate ajuta cineva?

codul in php ar suna in felul urmator:

function tep_verif_tva($num_tva){ 
 $prefix = substr($num_tva, 0, 2);
 $tva = substr($num_tva, 2);
 
 if (array_search($prefix, tep_get_tva_intracom_array() ) === false) {
  return 'false';
 }
 
 require_once('includes/classes/nusoap.php');
 $param = array('countryCode' => $prefix, 'vatNumber' => $tva );
 $client = new soapclient( 'http://ec.europa.eu/taxation_customs/vies/api/checkVatPort' );
 $response = $client->call('checkVat', $param);
 
 if ($client->fault) {
    return 'no_verif';
  }elseif ($response['valid']=='true'){
   return 'true';
  }else{
   $myVerif = 'false';
 }
 return $myVerif;
}

 

 7/8/2007 4:10:49 PM
User is offlinenicu
87 posts


Re: verificare cod fiscal
 (N/A)
 adrianmorarasu wrote

Nu este codul meu, dar l-am gasit pe net, nu stiu unde -> dar merge!!!!

function ver_cui
param m_cfiscal
m.Cfiscal=m_cfiscal
* cifra de control
m.cfis=int(m.cfiscal/10)
m.masca=753217532
dimension cod(9),masc(9),c(9)
* cod fiscal
m.zero=cifre(m.cfis)
for k=1 to 9
 c(k)=cod(k)
endfor
* masca
m.zero=cifre(m.masca)
for k=1 to 9
 masc(k)=c(k)
endfor
* suma
sum=0
for k=1 to 9
sum=sum+cod(k)*masc(k)
endfor
sum=sum*10
r=mod(sum,11)
r=mod(r,10)
if m.cfiscal<>m.cfis*10+r
 retu -1
endif
retu 0

FUNCTION cifre
parameter m.cfis
Cifre=Str(m.cfis,9)
for k=1 to 9
 cod(k)=Val(Subs(Cifre,k,1))
endfor
Cifre=Str(m.Masca,9)
for k=1 to 9
 masc(k)=Val(Subs(Cifre,k,1))
endfor
return

Daca introduci cod fiscal =27 nu iti da eroare si nici declaratia 394 nu spune ca este eroare la verificare din fisier extern sau la introducere in programul lor . Codul fiscal nu trebuie sa contina intre  6 si  10 cifre?

 7/8/2007 4:27:15 PM
User is offlinegpeth
12 posts


Re: verificare cod fiscal
 (N/A)

iata codul meu:

Function VERIFCIF
Parameters CIF
If Between(LEN(CIF),6,10)
 codvalidare='235712357'
 Declare cifarr[1]
 For i=1 To Len(CIF)-1
  Declare cifarr[i]
  cifarr[i]=Substr(CIF,Len(CIF)-i,1)
 Endfor

 Declare codarr[1]
 For i=1 To Len(codvalidare)
  Declare codarr[i]
  codarr[i]=Substr(codvalidare,i,1)
 Endfor
 suma=0
 For i=1 To Len(CIF)-1
  suma=suma+Val(cifarr[i])*Val(codarr[i])
 Endfor
 bun=Iif(Alltrim(Str(Round(Mod(suma*10,11),0)))=Substr(CIF,Len(CIF),1),.T.,.F.)
Else
 bun=.F.
Endif
Return bun

s-a mai gandit careva la propunerea mea de a afla validitatea VAT?

 

 

 7/8/2007 6:30:23 PM
User is offlinegpeth
12 posts


Re: verificare cod fiscal
 (N/A)
Am rezolvat problema generata de schimbarea siteului EU de validare VAT si iata codul pentru validare
verifvat.zip 
 7/8/2007 6:57:19 PM
User is offlineoviciandrus
761 posts
www.comptech.ro
1st




Re: verificare cod fiscal
 (N/A)
Super functie! Zici ca in 394 sa-i bag numai pe aia la care functia da True.
 7/8/2007 7:09:08 PM
User is offlinegpeth
12 posts


Re: verificare cod fiscal
 (N/A)

Da, dar sunt de parere ca mai intai tb sa verifici  daca codul cif este valid (vezi discutiile anterioare). Daca rezultatul este corect (clientul ti-a dat informatia corecta atunci cand a cumparat) atunci poti face validarea de VAT. Prin acelasi algoritm se poate verifica si denumirea si adresa societatii pt cei ce-i intereseaza.

 7/8/2007 7:22:40 PM
User is offlineoviciandrus
761 posts
www.comptech.ro
1st




Re: verificare cod fiscal
 (N/A)

Ce-mi place! Sunt foarte interesat.

Poti sa-mi spui cum se face?

 7/8/2007 7:33:24 PM
User is offlineoviciandrus
761 posts
www.comptech.ro
1st




Re: verificare cod fiscal
 (N/A)
Nu este vreun loc unde sa afli CIF-ul daca stii DENUMIREA si, eventual, LOCALITATEA?
 7/8/2007 7:47:41 PM
User is offlineoviciandrus
761 posts
www.comptech.ro
1st




Re: verificare cod fiscal
 (N/A)

Este posibil ca functia care verifica daca un CIF este corect sa dea .F. si functia care verifica daca este platitor de TVA sa dea .T. ? De exemplu, pentru 6152610.

Multumesc!

 7/8/2007 8:19:59 PM
User is offlineoviciandrus
761 posts
www.comptech.ro
1st




Re: verificare cod fiscal
 (N/A) Modified By oviciandrus  on 7/8/2007 7:21:48 PM)

Cred ca functia asta-i mai buna

Pe www.validari.ro/cui.html nu scrie de restrictie de lungime! Personal am vazut cif de lungime 5

FUNCTION VerificareCIF(tcCif)
 LOCAL llOk, i, lcCheie, lcControl, lnSuma, lcVerif
 llOk = .t.
 tcCif = AllTrim(tcCif)
 IF ! BetWeen(Len(tcCif), 1, 10)
  llOk = .f.
 ELSE
  i = 1
  DO WHILE IsDigit(SubStr(tcCif,i,1)) AND (i<=Len(tcCif))
   i = i + 1
  ENDDO
  IF i <= Len(tcCif)
   llOk = .f.
  ELSE
   lcCheie  = "235712357"
   tcCif    = Inversare(tcCif)
   lcControl = Left(tcCif,1)
   tcCif  = Right(tcCif, Len(tcCif) - 1)
   lnSuma  = 0
   FOR i = 1 TO Len(tcCif)
    lnSuma = lnSuma+ Round(Val(SubStr(tcCif,i,1)) * Val(SubStr(lcCheie,i,1)),0)
   ENDFOR
   lcVerif  = AllTrim(Str(Mod(10 * lnSuma, 11)))
   llOk   = lcControl == Right(lcVerif,1)
  ENDIF
 ENDIF
 RETURN llOk
ENDFUNC
FUNCTION Inversare(tcStr)
 IF Empty(tcStr)
  RETURN ""
 ELSE
  RETURN SubStr(tcStr, Len(tcStr), 1) + Inversare(Left(tcStr, Len(tcStr) - 1))
 ENDIF
ENDFUNC
 7/9/2007 12:24:08 AM
User is offlinegpeth
12 posts


Re: verificare cod fiscal
 (N/A)

Da, codul meu verifica daca numarul de caractere e intre 6 si 10, dar intr-adevar sunt si cu 5 caractere in cif. in rest da acelasi rezultat.

Dupa denumire si localitate sau dupa cif poti afla gasi societatile pe www.mfinante.ro

 7/9/2007 12:46:42 AM
User is offlineEugen Gliga
1038 posts
1st




Re: verificare cod fiscal
 (N/A)
La UE pe site la Faq vies, la raspunsul de la Q11 se da structura codurilor VAT din tarile UE. La Romania spune ca CIF-ul poate avea intre 2 si 10 cifre. Eu n-am vazut inca de 2 cifre dar de 4 am vazut. Este interesant ca de la MF nu prea poti obtine aceasta informatie.

http://ec.europa.eu/taxation_customs/vies/faqvies.do

Referitor la site-ul MF, nu cred ca exista web service astfel incat sa interoghezi din program o firma dupa nume si sa obtii codul fiscal.
 7/9/2007 8:17:24 PM
User is offlinegpeth
12 posts


Re: verificare cod fiscal
 (N/A) Modified By gpeth  on 7/9/2007 7:20:20 PM)

 

 

 7/9/2007 9:02:42 PM
User is offlinealex_pascanu
80 posts


Re: verificare cod fiscal
 (N/A)
 gpeth wrote

Codul este (era) extrem de simplu dar spre surprinderea mea nu mai functioneaza. Cei de la EC au schimbat modul de interogare in Java, iar la asta nu ma pricep.

Vechiul cod care functiona 100% era:

Function VERIFVAT
Parameters CIF
lcURL="http://ec.europa.eu/taxation_customs/vies/cgi-bin/viesquer?MS=RO&Lang=EN&VAT="+CIF
lcWebContent = ReadURL(lcURL)
If Occurs('Yes, valid VAT number',lcWebContent)>0
 CORECT=.T.
Else
 CORECT=.F.
Endif
Return CORECT

Functia ReadUrl cred ca o au toti foxistii. Daca nu... o dau.  Poate gaseste cineva noua formula de aflare a validitatii VAT

Noul site se afla la adresa: http://ec.europa.eu/taxation_customs/vies/vieshome.do?selectedLanguage=EN

 

 

Singurul drwback la solutia ta e daca pica cionectivitatea cu url-ul ala nu mai poti consuma serviciul de web in rest nice totul dupa cum spuneam in postul ala legat de programatporii finantisti ar trebuie sa se orienteze catre serviciile de web e viitorul

 7/10/2007 11:37:18 AM
User is offlinecostin_mentor
483 posts
www.accessoft.ro
2nd




Re: verificare cod fiscal
 (N/A)
 oviciandrus wrote
Nu este vreun loc unde sa afli CIF-ul daca stii DENUMIREA si, eventual, LOCALITATEA?

VEZI :

http://www.mfinante.ro/contribuabili/link.jsp?body=/contribuabili/agenti_nume.htm
 7/10/2007 10:20:21 PM
User is offlineoviciandrus
761 posts
www.comptech.ro
1st




Re: verificare cod fiscal
 (N/A) Modified By oviciandrus  on 7/10/2007 9:21:01 PM)

http://www.mfinante.ro/contribuabili/link.jsp?body=/contribuabili/agenti_nume.htm

Multumesc! Super incantat! De cand caut asa ceva!

 7/11/2007 3:19:41 AM
User is offlineEugen Gliga
1038 posts
1st




Re: verificare cod fiscal
 (N/A)
 gpeth wrote
Am rezolvat problema generata de schimbarea siteului EU de validare VAT si iata codul pentru validare


Varianta asta functioneaza, dar nu e prea eleganta. Am incercat si eu cu varianta aia cu MSSOAP.SoapClient, dar n-am reusit sa obtin nimic.
Ar fi fain sa se obtina direct si numele corect al firmei si adresa. Ai putea in felul asta sa corectezi automat toata baza de date.

La linkul:  http://www.soapclient.com/soaptest.html
este un exemplu de SOAP Client, la care daca ii pui adresa:
http://ec.europa.eu/taxation_customs/vies/api/checkVatPort?wsdl
iti extrage tot ce poate. Eu nu stau prea bine cu web service-ul, dar o sa studiez mai adanc problema.




 7/11/2007 2:05:20 PM
User is offlinegpeth
12 posts


Re: verificare cod fiscal
 (N/A)
stiu ca nu e deloc eleganta metoda dar atat am reusit sa fac. oricum functioneaza. cu SOAP am incercat si eu dar nuam reusit. metoda propusa de mine poate fi extinsa si poate rezulta chiar si denumirea corecta si adresa firmei. dar cred ca pt decl 394 e relevant cui-ul nu si denumirea societatii
 7/12/2007 3:05:05 AM
User is offlineEugen Gliga
1038 posts
1st




Re: verificare cod fiscal
 (N/A)
Pt 394 e important doar ca CIF-ul respectiv sa aiba RO. Am multi clienti care au adunat in timp tot felul de prostii prin nomenclatorul de parteneri. Pana anul trecut, era important doar sa treci ceva la CUI si multi au trecut coduri gresite sau de pe la alte firme. Eu verific cifra de control de la CUI de cativa ani, dar ei daca primeau un  cod gresit il manareau pana mergea. Anul asta majoritatea au pus RO in fata la toata codurile. Intentia mea este ca in prima faza sa fac un programel care sa verifice toate CIF-urile on-line pt a fi sigur care are RO si care nu. Pt cele care au RO, in faza a doua as vrea sa verific daca denumirea este corecta pt a depista codurile puse de la alte firme. Pt cele corecte as putea sa le completez adresele. Ar mai ramane de verificat codurile care n-au RO, pt a afla daca sunt aiurea sau firma chiar nu este inregistrata in scopuri de TVA. In acest caz adresa de la UE nu mai este utila si ar fi interesant daca poate fi interogat situl de la MF, lucru putin probabil.




 7/12/2007 10:36:59 AM
User is offlineaflorin
838 posts
1st


Re: verificare cod fiscal
 (N/A)
Din motive asemanatoare, eu am ales o alta varianta: in nomenclatorul de parteneri, se poate seta pentru fiecare platitor/neplatitor de TVA. Am pasat cumva pisica, dar nu m-am riscat sa imi sara in cap ca programul meu i-a dat declaratia gresita.

Oricum presimt ca o sa iasa o mare varza cu declaratia asta. Cel putin chestia cu declararea vanzarilor cu amanuntul pt care s-a emis si factura, desi logica, m-a dat pe spate. As vrea sa vad si eu cum un magazin mare, cum este la noi Gima, o sa stea sa adune toate facturile emise la cerere, si apoi sa le separare doar pe cele catre platitori de TVA.
Daca macar veneau cu cerintele astea de la inceputul anului, era o treaba, ca stiau oamenii ce sa inregistreze, dar asa ...

Florin Aparaschivei - Iasi
 7/12/2007 11:03:20 AM
User is offlineEugen Gliga
1038 posts
1st




Re: verificare cod fiscal
 (N/A)
Pai si la mine e la fel. Nu port eu raspunderea setarii acestui atribut, dar la inceput de an, pt mii de clienti, a fost optiunea lor sa le pun "RO" la toti, urmand ca pe parcurs sa faca ei corectia pt neplatitori care sunt in procent mic. Acum pot sa-i las sa-si verifice singuri codurile, dar pot sa le ofer si o solutie mai simpla cum ar fi verificarea on-line a atributului fiscal.


 7/12/2007 12:13:11 PM
User is offlineedyshor
1450 posts
1st




Re: verificare cod fiscal
 (N/A)
Poate sa-mi explice si mie cineva ce treababa are tva-ul cu RO in fata cif-ului ? (cif = cui = cod fiscal, nu ?)
 7/12/2007 1:52:07 PM
User is offlineDorin Vasilescu
1366 posts
1st




Re: verificare cod fiscal
 (N/A)
Eu chiar nu stiu ce cred ca realizeaza cu declaratia asta?

Ma gandesc la numarul imens de inregistrari care vor fi la centralizare. Ce vor sa faca oare ?
Primul pas ar putea fi identificarea codurilor fiscale false la vanzari si achizitii. Dar apoi?
Sunt sigur ca procentul de sume exacte la verificari incrucisate va fi foarte mic. Ce o sa faca fiscul? Ca nu poate verifica tot, este imposibil.



 7/12/2007 3:05:20 PM
User is offlineoviciandrus
761 posts
www.comptech.ro
1st




Re: verificare cod fiscal
 (Romania)

Eu cred ca CIF = CUI = COD FISCAL (CIF = cod de identificare fiscala, CUI = cod unic de inregistrare). Contabila mi-a spus ca denumirea CUI este perimata.

Lumea crede ca, daca are RO in fata, acea firma este platitoare de TVA. Nu stiu ce sa cred, RO vine de la ROmania ....

 7/12/2007 3:44:32 PM
User is offlinegpeth
12 posts


Re: verificare cod fiscal
 (N/A)
RO se atribuie exclusiv platitorilor de TVA din Romania. Neplatitorii nu au RO urmand a li se atribuie atunci cand devin platitori. Codul CIF este vechiul CUI. Aceeasi Marie cu alta palarie.
 7/12/2007 7:12:52 PM
User is offlineedyshor
1450 posts
1st




Re: verificare cod fiscal
 (Romania)
Mersi, deci toti cei care au RO in fata sunt platitori de tva si cei care n-au nu sunt platitori de tva nu ?!
 7/12/2007 8:19:25 PM
User is offlinecostin_mentor
483 posts
www.accessoft.ro
2nd




Re: verificare cod fiscal
 (N/A)
 edyshor wrote
Mersi, deci toti cei care au RO in fata sunt platitori de tva si cei care n-au nu sunt platitori de tva nu ?!

in principiu DA.
 7/12/2007 8:43:18 PM
User is offlineEmilSavu
66 posts


Re: verificare cod fiscal
 (N/A)

Cu ajutorul unui prieten ,specialist in web , am facut o mica modificare programului verifvat , o versiune "din topor" ,dar care va permite sa faceti validare codurilor fiscale (daca sunt platitori de TVA sau nu) si o actualizare a denumirilor si adreselor partenerilor.Ideea este ca orice cerere trimisa la un URL retuneaza raspunsul in acelasi loc(atita timp cit nu se modifica poza paginii returnate).

*****************************

* Apelare functie: *

* ?verifvat('11259436') *

*****************************

*Function VERIFVAT

Parameters CIF

&&lcURL="http://ec.europa.eu/taxation_customs/vies/cgi-bin/viesquer?MS=RO&Lang=EN&VAT="+CIF

lcURL="http://ec.europa.eu/taxation_customs/vies/viesquer.do?ms=RO&iso=RO&vat="+CIF

lcWebContent = ReadURL(lcURL)

SET SAFETY off

STRTOFILE(lcwebcontent,'raspuns.txt')

CREATE TABLE rasp (cimp c(240))

APPEND FROM raspuns.txt sdf

clea

** La orice cerere raspunsul vine in acelasi loc**

279

IF 'Yes, valid VAT number' $ cimp

? 'Societate platitoare de TVA'

308

? 'Tara '+ALLTRIM(cimp)

321

? 'Nume firma '+ALLTRIM(cimp)

334

? 'Adresa '+ALLTRIM(cimp)

ELSE

? 'Societate nu este platitoare de TVA'

endif

wait''

If Occurs('Yes, valid VAT number',lcWebContent)>0

CORECT=.T.

Else

CORECT=.F.

Endif

Return CORECT

** restul programului este nemodificat

 

 7/13/2007 2:46:43 AM
User is offlineEugen Gliga
1038 posts
1st




Re: verificare cod fiscal
 (N/A)
Acum e ceva mai bine. Eu, probabil ca m-as fi complicat mai tare, pt a obtine aceste informatii.

 7/13/2007 3:05:38 AM
User is offlineEugen Gliga
1038 posts
1st




Re: verificare cod fiscal
 (N/A)
 oviciandrus wrote

Eu cred ca CIF = CUI = COD FISCAL (CIF = cod de identificare fiscala, CUI = cod unic de inregistrare). Contabila mi-a spus ca denumirea CUI este perimata.

Lumea crede ca, daca are RO in fata, acea firma este platitoare de TVA. Nu stiu ce sa cred, RO vine de la ROmania ....



Initial a fost Cod Fiscal, iar odata cu aparitia TVA-ului i s-a adaugat un  "R" in fata pt platitori si "A" pt platitorii de acciza. La un moment dat, atribuirea codului fiscal a revenit registrului comertului, fiind denumit CUI. CUI-ul format din max. 10 cifre este trecut pe certificatul de inmatriculare si nu este o denumire perimata. Finantele au adaugat un atribut fiscal, pana anul trecut "R", pt platitorii de TVA. Incepand de anul acesta, atributul a devenit "RO" si impreuna cu CUI-ul, formeaza CIF-ul.

 7/13/2007 9:55:37 AM
User is offlineoviciandrus
761 posts
www.comptech.ro
1st




Re: verificare cod fiscal
 (Romania)
Multam pentru clarificarile suplimentare!
 7/13/2007 3:17:00 PM
User is offlineedyshor
1450 posts
1st




Re: verificare cod fiscal
 (N/A)
Mersi si eu :)
 7/13/2007 5:31:23 PM
User is offlineioanb
61 posts


Re: verificare cod fiscal
 (N/A)

Se poate interoga site-ul MF pentru datele referitoare la firme?

 7/17/2007 1:23:50 PM
User is offlineDorin Vasilescu
1366 posts
1st




Re: verificare cod fiscal
 (N/A)
 gpeth wrote

Am gasit pe site-ul EC o referire la folosirea WSDL pentru interogarea validitatii TVA.

Q16: Is it possible to have an open interface to the Commission's web site?

A SOAP service, offering the same functionality as the interactive service is available. The disclaimer, help and FAQ pages are also applicable for this service. Its WSDL file can be obtained here. Any technical question related to this service can be submitted to TAXUD - Vies on Internet. top

si am creat urmatorul cod:

LOCAL oProxy
 
oProxy = CREATEOBJECT("MSSOAP.SoapClient")
oProxy.MSSoapInit("http://ec.europa.eu/taxation_customs/vies/api/checkVatPort?wsdl") 

TARA="'RO'"
CIf="'11259435'"
lcXML =  oProxy.checkVat( tara,cif)                   &&& aici m-am impotmolit pt ca nu cred ca sunt corect pusi parametrii

? lcXml
RELEASE oProxy

Teoretic ar tb sa functioneze dar da eroare la parametrii functiei checkVat. Ma poate ajuta cineva?

Nu functioneaza, ce avem noi in VFP ca si client pentru web services e deja outdated.

Am facut eu un DLL cu C#, compilat COM Interop. Trebuie inregistrat cu regasm.exe ( "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe" la mine )

Se poate folosi dupa cum urmeaza:

ws = Createobject('DotNetCom.VerificareCIF')  
?ws.VerifCIF('9030790')     &&returneza .T. sau .F., in functie de existenta CIF in baza de date EU
?ws.firma, ws.adresa        && daca e ok, astea contin ceva, altfel sunt empty


ValidareVIES.zip 
 7/17/2007 1:25:48 PM
User is offlineDorin Vasilescu
1366 posts
1st




Re: verificare cod fiscal
 (N/A)
Apropo, daca intereseaza pe cineva proiectul, pot sa-l postez, vreo 20 de linii de cod scrise de mine , restul a pus de la el, o gramada :)


 7/17/2007 5:12:37 PM
User is offlineioanb
61 posts


Re: verificare cod fiscal
 (N/A)

posteaza-l te rog

 

 7/17/2007 5:12:44 PM
User is offlineioanb
61 posts


Re: verificare cod fiscal
 (N/A)

posteaza-l te rog

 

 7/18/2007 11:06:04 AM
User is offlineGabiB
24 posts


Re: verificare cod fiscal
 (N/A)
Are cineva idee daca in declaratia 394 se includ si facturile emise insotite de bon de casa ? Ele in mod normal nu apar in jurnalul de vanzari alaturi de celelalte facturi, finnd incluse in borderoul de vanzari din casa (gestiune se scade pe baza bonului) ?
 7/18/2007 11:08:57 AM
User is offlineAdrian Gerlan
581 posts
1st




Re: verificare cod fiscal
 (Romania)
 GabiB wrote
Are cineva idee daca in declaratia 394 se includ si facturile emise insotite de bon de casa ? Ele in mod normal nu apar in jurnalul de vanzari alaturi de celelalte facturi, finnd incluse in borderoul de vanzari din casa (gestiune se scade pe baza bonului) ?


Da, trebuiesc incluse.

AdiG
 7/18/2007 11:10:55 AM
User is offlineDorin Vasilescu
1366 posts
1st




Re: verificare cod fiscal
 (N/A)
Codul e asta:

using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
using System.Web.Services;

namespace DotNetCOM
{
    [ClassInterface(ClassInterfaceType.AutoDual)]
    [ProgId("DotNetCOM.VerificareCIF")]
    public class VerificareCIF
    {
        public string tara = "RO";
        public bool valid = false;
        public DateTime data;
        public String firma = String.Empty;
        public String adresa = String.Empty;

        public bool VerifCIF(string CIF)
        {
            eu.europa.ec.checkVatService service = new eu.europa.ec.checkVatService();
            data = service.checkVat(ref tara, ref CIF, out valid, out firma, out adresa );
            return valid;
        }
    }
}

In afara de codul de mai sus, mai trebuie adaugata "Web reference" la :
http://ec.europa.eu/taxation_customs/vies/api/checkVatPort?wsdl

si bifat la
Register for COM Interop
 
in setarile de build

Asta e tot, si functioneaza

 7/22/2007 5:57:42 AM
User is offlineoviciandrus
761 posts
www.comptech.ro
1st




Re: verificare cod fiscal
 (N/A)

ws = Createobject('DotNetCom.VerificareCIF')  
?ws.VerifCIF('9030790')     &&returneza .T. sau .F., in functie de existenta CIF in baza de date EU
?ws.firma, ws.adresa        && daca e ok, astea contin ceva, altfel sunt empty

Am inregistrat cu comanda : RegAsm ValidareCIF_VIES.dll

si in VFP60 instructiunea ws = Createobject('DotNetCom.VerificareCIF') imi da eroarea OLE error code 0x80070002.The system cannot find the file specified.

Ce nu stiu sa fac?

 7/22/2007 2:09:35 PM
User is offlinealex_pascanu
80 posts


Re: verificare cod fiscal
 (N/A)
 oviciandrus wrote

ws = Createobject('DotNetCom.VerificareCIF')  
?ws.VerifCIF('9030790')     &&returneza .T. sau .F., in functie de existenta CIF in baza de date EU
?ws.firma, ws.adresa        && daca e ok, astea contin ceva, altfel sunt empty

Am inregistrat cu comanda : RegAsm ValidareCIF_VIES.dll

si in VFP60 instructiunea ws = Createobject('DotNetCom.VerificareCIF') imi da eroarea OLE error code 0x80070002.The system cannot find the file specified.

Ce nu stiu sa fac?

N U am inteles ce treaba mai ai cu comul in dot net .E suficient sa adugi referinta la serviciu de web ti se genereaza clasa proxy si prin metodele ai apelezi metodele serviciului de web ,ea face un invoke transparent la metodele reale ale serviciului

 7/23/2007 12:30:45 AM
User is offlineDorin Vasilescu
1366 posts
1st




Re: verificare cod fiscal
 (N/A)
Incearca cu
RegAsm /codebase ValidareCIF_VIES.dll

Eu l-am compilat pur si simplu, dar se pare ca mai comenteaza ca nu are strong name, ca nu e semnat..
Oricum serviciul e blocat.


 7/23/2007 12:34:37 AM
User is offlineDorin Vasilescu
1366 posts
1st




Re: verificare cod fiscal
 (N/A)

 
N U am inteles ce treaba mai ai cu comul in dot net .E suficient sa adugi referinta la serviciu de web ti se genereaza clasa proxy si prin metodele ai apelezi metodele serviciului de web ,ea face un invoke transparent la metodele reale ale serviciului



Serviciul ala web de la VIES foloseste un type complex care nu e pe placul SOAP (are variabile by ref, output,...). Asa ca nu se poate folosi direct din VFP (eu nu am reusit, poate se poate, totusi). Asta creat cu NET si COM Interop e ok.

 7/23/2007 1:24:29 AM
User is offlineoviciandrus
761 posts
www.comptech.ro
1st




Re: verificare cod fiscal
 (N/A)
Oare de ce-i blocat? Isi mai revine curand?
 7/23/2007 11:21:08 AM
User is offlineDorin Vasilescu
1366 posts
1st




Re: verificare cod fiscal
 (N/A)
La cate cautari sunt din Romania cu 394 asta, nu stiu
 
 7/23/2007 1:18:48 PM
User is offlinealex_pascanu
80 posts


Re: verificare cod fiscal
 (Romania)
iN VS 2005 am adaugat ca webreference url -ul la web service mi-a creat clasa proxy

eu.europa.ec.checkVatService

Asta e codul cu care am apelat functia de validare cif care intoarce datetime-ul :

string name,adr,coddtring,cif;

Boolean valid;

coddtring = "RO";

cif = "gigel";

eu.europa.ec.checkVatService vercnp = new eu.europa.ec.checkVatService();

System.Console.WriteLine(vercnp.checkVat(ref coddtring,ref cif,out valid,out name,out adr));

 

 7/24/2007 1:48:09 AM
User is offlineedyshor
1450 posts
1st




Re: verificare cod fiscal
 (Romania)
Alex, daca esti dragut, poti sa-i explici omului cum sa faca asta din vfp ?! Preferabil 6 ?! ;;)
 7/24/2007 10:20:43 AM
User is offlinealex_pascanu
80 posts


Re: verificare cod fiscal
 (Romania)
Asta e un reply la codul lui Dorin care e dot net .
 7/24/2007 12:43:18 PM
User is offlineedyshor
1450 posts
1st




Re: verificare cod fiscal
 (N/A)
Ah, ok, my mistake :) Credeam ca-i pentru oviciandrus :P
 7/24/2007 3:06:09 PM
User is offlineoviciandrus
761 posts
www.comptech.ro
1st




Re: verificare cod fiscal
 (Romania)
pe mine m-o pierdut pe drum ;) multam pentru tentativa de ajutor ...
 7/24/2007 4:19:59 PM
User is offlineDorin Vasilescu
1366 posts
1st




Re: verificare cod fiscal
 (N/A)
Nici cu RegAsm /codebase ... nu functioneaza?
 7/24/2007 4:23:17 PM
User is offlineoviciandrus
761 posts
www.comptech.ro
1st




Re: verificare cod fiscal
 (Romania)

O sa incerc imediat si o sa-ti spun!

 8/1/2007 4:08:42 PM
User is offlineaflorin
838 posts
1st


Re: verificare cod fiscal
 (N/A)
Pentru toti cei interesati:

astazi am aflat cu surprindere ca exista o firma care are CIF 51. Deci o cifra + cifra de control. Eu gasisem undeva ca trebuie sa aiba minim 2+1 cifre si pusesem asta in program :(.

Florin Aparaschivei - Iasi
 8/1/2007 4:09:48 PM
User is offlineaflorin
838 posts
1st


Re: verificare cod fiscal
 (N/A)
Pentru toti cei interesati:

astazi am aflat ca exista o firma cu CIF 51, adica o cifra + cifra de control. Eu aveam restrictie la numarul de cifre pentru CIF care tocmai a picat :(

Florin Aparaschivei - Iasi
 8/1/2007 4:23:57 PM
User is offlineAdrian Gerlan
581 posts
1st




Re: verificare cod fiscal
 (Romania)
 aflorin27 wrote
Pentru toti cei interesati:

astazi am aflat ca exista o firma cu CIF 51, adica o cifra + cifra de control. Eu aveam restrictie la numarul de cifre pentru CIF care tocmai a picat :(


Pentru Romania CIF poate sa aiba intre 2 si 10 cifre.
De fapt, asta spuse si Nae mai sus... :)


AdiG
 7/15/2008 11:03:08 AM
User is offlineioanb
61 posts


Re: verificare cod fiscal
 (N/A)
Modificarea programului nu mai functioneaza. Eventuale corecturi?
 9/11/2008 8:33:53 PM
User is offlinecatala
2 posts


Re: verificare cod fiscal
 (N/A)

Pornind de la ideea de a pune la dispozitia utilizatorului (printr-o aplicatie vfp ) cursul valutar zilnic de pe site-ul bnr.ro  ( e ok, merge ); am incercat ceva asemanator si pt verificarea codului fiscal ( CUI ) direct pe site-ul mfinante.ro (chiar daca exista si acea formula de verificare - similara cu cea pt verificarea CNP-lui). Astfel s-ar putea face inclusiv verificarea existentei atributului pt platitorii de TVA, dar si a altor date asociate firmelor  ce sunt accesibile pe site-ul mfinante.ro ( de exemplu adresa ) . Problema e ca NU am reusit inca sa determin care este link-ul catre mfinante.ro pt fiecare cod fiscal in parte; am doar link-ul general ( indiferent ce cod fiscal am selectat :    www.mfinante.ro/contribuabili/link.jsp?body=/cod.do ). Stie cineva  care este expresia pt aceste adrese ???? 

 

 9/12/2008 1:43:14 AM
User is offlinewtfia
142 posts
5th


Re: verificare cod fiscal
 (Romania)
 catala wrote

Pornind de la ideea de a pune la dispozitia utilizatorului (printr-o aplicatie vfp ) cursul valutar zilnic de pe site-ul bnr.ro  ( e ok, merge ); am incercat ceva asemanator si pt verificarea codului fiscal ( CUI ) direct pe site-ul mfinante.ro (chiar daca exista si acea formula de verificare - similara cu cea pt verificarea CNP-lui). Astfel s-ar putea face inclusiv verificarea existentei atributului pt platitorii de TVA, dar si a altor date asociate firmelor  ce sunt accesibile pe site-ul mfinante.ro ( de exemplu adresa ) . Problema e ca NU am reusit inca sa determin care este link-ul catre mfinante.ro pt fiecare cod fiscal in parte; am doar link-ul general ( indiferent ce cod fiscal am selectat :    www.mfinante.ro/contribuabili/link.jsp?body=/cod.do ). Stie cineva  care este expresia pt aceste adrese ???? 



De pe bnr (probabil) e relativ simplu, iti servesc o pagina xml, presupun ca de acolo ai luat cursul, pe care o importi intr-un cursor. mfinante.ro e ceva mai complicat. Si mai interesant. Foloseste metoda http POST pentru a trimite informatiile interogate catre server, pe care serverul le preia si iti trimite inapoi pagina pe care ai cerut-o. Cineva trebuie sa stie mai multe despre cum se poate face asta in vfp, probabil mai mult de jumatate din paginile web folosesc metoda asta. Cealalta metoda folosita in general e sa trimita informatiile in link, asa cum face google. Mai usor de folosit din altceva decat un browser. Informatiile trimise catre mfinante.ro arata asa, luate dintr-un sniffer:

POST /contribuabili/link.jsp?body=/cod.do HTTP/1.1
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.29 Safari/525.13
Referer: http://www.mfinante.ro/contribuabili/link.jsp?body=/nume.do
Cache-Control: max-age=0
Content-Type: application/x-www-form-urlencoded
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: en-US,en
Accept-Charset: ISO-8859-1,*,utf-8
Accept-Encoding: gzip,deflate,bzip2
Host: www.mfinante.ro
Content-Length: 28
Connection: Keep-Alive

cod=13563880&submit=13563880



Content-Length = LEN("cod=13563880&submit=13563880"). Codul despre care se cer informatii e, evident, 13563880, CLASSOFT SRL. Cererea am facut-o fara cookies, si functioneaza. Fiecare linie se termina in CRLF, dar informatii exacte despre ce trebuie transmis se gasesc destul de usor. Prima problema e cum se pot trimite din vfp, a doua problema e ca trebuie facut parsing pe pagina primita pentru a extrage informatiile. Cel mai interesant/promitator link pe care l-am gasit cand am cautat cum se poate face asta cu ceva vreme in urma e http://www.profox.ro/Forum/tabid/55/forumid/13/threadid/22626/scope/posts/Default.aspx , dar dupa cum spuneam cineva trebuie sa stie mai multe, e o metoda folosita prea des.

Vies functioneaza pe acelasi principiu.

Scuzati diferentele de font, dar nu prea ma descurc cu forumul asta, functioneaza... ciudat.

 9/12/2008 5:59:06 PM
User is offlineDorin Vasilescu
1366 posts
1st




Re: verificare cod fiscal
 (N/A) Modified By Dorin Vasilescu  on 9/12/2008 5:00:28 PM)
Eu am facut si un programel care extrage de pe site de la finante diverse informatii. Se bazeaza pe observatii asupra alcatuirii rezultatului la o interogare

*mfin_info.PRG , Extragere date de pe site Ministerul Finantelor, dupa cod fiscal
lparameters cCIF, cFilter

*cCIF : codul fiscal
*cFilter : Filtrare informatii dupa un sir anume , de ex. "Taxa pe valoarea adaugata", valoarea din coloana 2 va fi returnata daca e setat
*Exemplu de utilizare :
* mfin_info('{cod_fiscal}') : extrage informatiile si le da intr-un browse
*
* ?mfin_info('{cod_fiscal}' , 'taxa pe valoarea adaugata') : extrage doar data inregistrarii sau "NU" daca nu e platitoare
* ?mfin_info('{cod_fiscal}' , 'adresa' ) : returneaza adresa si o afiseaza

if not Type('m.cFilter') == 'C'
    m.cFilter = ''
endif

create cursor info_firma ( descriere c(70), info c(30) )

local oIE as "InternetExplorer.Application"  ;
    , cXML as String ;
    , cAnchorString as String ;
    , cTable as String ;
    , nRowCount as Integer ;
    , i as Integer     ;
    , cDescriere as String ;
    , cInfo as String

oIE = Newobject('InternetExplorer.Application')
oIE.Navigate("http://www.mfinante.ro/contribuabili/link.jsp?body=/contribuabili/agenti_cod.jsp")

do while oIE.Busy
    wait '' timeout 0.1
enddo
do while oIE.ReadyState <> 4
    wait '' timeout 0.1
enddo

oIE.Document.forms[0].elements["cod"].Value = m.cCIF
oIE.Document.forms[0].Submit

do while oIE.Busy
    wait '' timeout 0.1
enddo
do while oIE.ReadyState <> 4
    wait '' timeout 0.1
enddo

m.cAnchorString = "AGENTUL ECONOMIC CU CODUL UNIC"

m.cTable = Strextract( Substr(oIE.Document.Body.InnerHTML, Atc( m.cAnchorstring , oIE.Document.Body.InnerHTML)) , '<TABLE','</TABLE>')
m.nRowcount = Occurs( '<TR' , m.cTable )

for m.i = 1 to m.nRowcount
    cXML = [<?xml version="1.0"?><info><tr><td> ] ;
        + Strextract( Strextract( cTable , "<TR" , "</TR>" , m.i ) , "size=2>" , "</FONT>" , 1) ;
        + [</td></tr></info>]
    Xmltocursor( m.cXML , 'crs_info' )
    m.cDescriere =  Transform(crs_info.td)
   
    m.cXML = [<?xml version="1.0"?><info><tr><td> ] ;
        + Strextract( Strextract( m.cTable , "<TR" , "</TR>" , m.i ) , "size=2>" , "</FONT>" , 2) ;
        + [</td></tr></info>]
    Xmltocursor( m.cXML , 'crs_info' )
    m.cInfo =  Transform(crs_info.td)
    if not Empty(m.cFilter)
        if Upper(m.cFilter) $ Upper( cDescriere )
            insert into info_firma ( descriere, info ) values ( m.cDescriere , m.cInfo )
        endif
    else
        insert into info_firma ( descriere, info ) values ( m.cDescriere , m.cInfo )
    endif
next

oIE.Quit
select info_firma

if m.nRowcount = 0
    return .null.
endif

if Empty( m.cFilter)
    browse
else
    return Trim( info )
endif


 9/12/2008 6:11:03 PM
User is offlineDorin Vasilescu
1366 posts
1st




Re: verificare cod fiscal
 (N/A)
Pentru cursorul respectiv, ar trebui mai mare dimensiunea la coloana descriere, sa nu trunchieze unele descrieri, in caz ca va intereseaza valorile respective
Eu l-am folosit doar pentru TVA, adresa, nr. registru. Cred ca un C(150) ar ajunge

 9/18/2008 12:29:22 PM
User is offlinecatala
2 posts


Re: verificare cod fiscal
 (N/A)

multumesc . o sa studiez raspunsul tau in urmatoarele zile ( n-am avut timp, fiind plecat ). eu am incercat cu  WGET.exe , dar nu am reusit sa obtin returnarea informatiei la nivel de cod fiscal. 

 3/15/2010 1:43:16 PM
User is offlinemmarius28
125 posts
5th


Re: verificare cod fiscal
 (N/A)
Legat de serviciul web checkVatService - a mers pana de curand cu dll dotnet al lui Dorin Vasilescu.
Acum m-au anuntat clientii ca nu mai merge. Intoarce eroarea:

OLE IDispatch exception code 0 from System.Web.Services: The service cannot be found for the endpoint reference (EPR) http://prod2.taxud.cc.cec.eu.int:8106/vies/services/checkVatPort.. 728


Stie cineva daca e vreo problema temporara sau daca s-a schimbat ceva?
 7/23/2010 3:53:20 PM
User is offlineSilviu
130 posts
5th


Re: verificare cod fiscal
 (Romania)
Salut
Am luat si eu codul postat de tine dar imi intoarce o eroare si nu stiu ssa o rezolv...........ma poti ajuta te rog.

asta e linia cu problema :  oIE.Document.forms[0].elements["cod"].Value = m.cCIF si asta e eroarea: Member "name" does not evaluate to an object (Error 1943)
nu reusec sa-i dau de cap

Multumesc
 7/23/2010 6:23:12 PM
User is offlineGhiorghiu Bogdan
928 posts
1st




Re: verificare cod fiscal
 (N/A)
Schimba
oIE.Navigate("http://www.mfinante.ro/contribuabili/link.jsp?body=/contribuabili/agenti_cod.jsp")
cu
oIE.Navigate("http://apt1.mfinante.ro/site/contribuabili/link.jsp?body=/contribuabili/agenti_cod.jsp")


Ghiorghiu Bogdan >>> Dacă tot te apuci să faci o treabă, fă-o bine de la inceput!
 7/27/2010 6:00:49 PM
User is offlineSilviu
130 posts
5th


Re: verificare cod fiscal
 (Romania)
Salut
Multumesc pentru raspuns........... am inlocuit si nu mai da eroare, dar nu intoarce nimic.
Ma poate ajuta cineva cu o functie care sa sa merga.
Multumesc
 7/28/2010 5:02:43 PM
User is offlinestefan_JKSL
62 posts


Re: verificare cod fiscal
 (N/A)
asa am patit si eu si am instalat Internet Explorer 8.0 si a mers.
 7/28/2010 5:37:43 PM
User is offlineSilviu
130 posts
5th


Re: verificare cod fiscal
 (Romania) Modified By Silviu  on 7/28/2010 5:08:26 PM)
Problema e ca am IE 8 si nu stiu ce sa-i mai fac.
Daca dau ....... DO d:\394_fox\prg\mfin_info.prg WITH 4218173
intoarce tabela cu linii in tabela dar fara text.
Help
 7/29/2010 3:15:41 PM
User is offlineSilviu
130 posts
5th


Re: verificare cod fiscal
 (Romania)
Salut
Sunt si eu interesat de verificarea VAT, dear nu pot lua atasamentul. Poti te rog sa pui pe site codul?
Multumesc mult

 7/30/2010 12:48:43 PM
User is offlineDorin Vasilescu
1366 posts
1st




Re: verificare cod fiscal
 (N/A)
Mai am gasit un site cu validare VAT number,  "REST based API"
Am creat o mica procedura care valideaza codul de TVA. Se poate folosi pentru orice tara UE


*PROCEDURE VAT_check
lparameters tara, vat_id

lResult = .f.

#DEFINE HTTPSTATUS_OK 200
#DEFINE HTTPSTATUS_CREATED 201
#DEFINE HTTPSTATUS_ACCEPTED 202
#DEFINE HTTPSTATUS_MULTISTATUS 207
#DEFINE HTTPSTATUS_BADREQUEST 400
#DEFINE HTTPSTATUS_UNAUTHORIZED 401
#DEFINE HTTPSTATUS_FORBIDDEN 403
#DEFINE HTTPSTATUS_NOTFOUND 404
#DEFINE HTTPSTATUS_INTERNALSERVERERROR 500
local oHTTP as "Microsoft.XMLHTTP" , cURL
oHTTP = CreateObject("Microsoft.XMLHTTP")
cURL = 'http://isvat.appspot.com/' + Upper(Trim(tara)) + '/' + Upper(Trim(vat_id)) + '/'
TRY
    oHTTP.Open("GET", cURL,.F.)
    oHTTP.Send()
    if oHTTP.status = HTTPSTATUS_OK
        lResult = Iif(oHTTP.responseText = 'true', .t., .f.)
    endif
catch
    lResult = .f.
    * error handling code here.
ENDTRY

return lResult

 8/16/2010 6:50:40 PM
User is offlineinfokam
18 posts


Re: verificare cod fiscal
 (Romania) Modified By infokam  on 8/16/2010 6:00:13 PM)
1. Asa cum ati observat probabil, link-ul in care se introduce codul fiscal pentru verificare s-a schimbat, noul link fiind http://voes.mfinante.ro/codfiscal/agenticod.html. Din pacate, daca la introducerea "manuala" pagina de raspuns (http://voes.mfinante.ro/codfiscal/CodFiscalServlet1) afiseaza rezultatele, la apelarea din program (vezi exemplul de program) se deschide o alta pagina (http://voes.mfinante.ro/codfiscal/acasa.html) dar aceasta pagina nu contine rezultatele interogarii. Marturisesc ca nu am nici cea mai mica idee cum s-ar putea rezolva aceasta problema :(

2. Pe site-ul VIES nu mai sunt afisate decat firmele care sunt inregistrate in Registrul Operatorilor Intracomunitari, deci verificarea pe acest site nu va mai ajuta prea mult


Programul folosit pentru testare este acesta:

fcif='123456789' && Presupunem ca acesta este CIF-ul, pentru testare se va inlocui cu un CIF "adevarat"

oIE = Newobject('InternetExplorer.Application')
oIE.Navigate("http://voes.mfinante.ro/codfiscal/agenticod.html")
do while oIE.ReadyState < 4
wait '' timeout 0.1
enddo
oIE.Document.forms[0].elements["cod"].Value = f_cif
oIE.Document.forms[0].Submit
x=0
do while oIE.Busy AND x<100
wait '' timeout 0.1
x=x+1
enddo
do while oIE.ReadyState < 4
wait '' timeout 0.1
enddo

oIE.visible=.T. && Deschid IE pentru a vedea unde am ajuns


 8/16/2010 10:29:04 PM
User is offlinemr_api
353 posts
3rd


Re: verificare cod fiscal
 (N/A)
In primul rand multumesc pentru link,eu am reusit sa citesc datele dar din .NET,am folosit ceva de genu :

          WebBrowser1.Document.Forms(1).All("cod").SetAttribute("value", Me.txtSearch.Text.Trim)
            WebBrowser1.Document.Forms(1).InvokeMember("submit")

      cred ca tu va trebui sa corectezi asta :

oIE.Document.forms[1].elements["cod"].Value = f_cif
oIE.Document.forms[1].Submit



 8/17/2010 11:04:19 AM
User is offlineinfokam
18 posts


Re: verificare cod fiscal
 (Romania)
Multumesc mult de tot, merge perfect
 8/17/2010 9:35:24 PM
User is offlinemr_api
353 posts
3rd


Re: verificare cod fiscal
 (N/A)
Cu placere,din pacate s-a introdus si un cod de validate suplimentar de care nu se mai trece.
 8/17/2010 10:57:03 PM
User is offlineinfokam
18 posts


Re: verificare cod fiscal
 (N/A)
Am observat si eu.
Acesta este o dovada a modului de comportare a celor de la MF fata de agentii economici, daca se poate face o rautate gratuita se face.
 8/17/2010 11:34:36 PM
User is offlinemr_api
353 posts
3rd


Re: verificare cod fiscal
 (N/A)
Eu intentionez sa deschid pagina aceea direct din aplicata mea si utilizatorul sa treaca cele 4 caractere,apoi sa preiau datele si ei ce-au rezolvat cu betele astea-n roate? La cati bani ajung acolo se putea face un serviciu web public,oricum rusine pt MF !!!
 8/18/2010 11:33:05 AM
User is offlineinfokam
18 posts


Ce este de facut
 (Romania)
In trecut am mai fost (am mai fost cu totii) calcat pe bataturi de catre diferite institurii ale statului. De regula daca am considerat ca este ceva anormal nu am mers pe principiul "merge si asa" si am incercat sa fac ceva, intotdeauna semnand cu nume si prenume si asumandu-mi responsabilitatea afirmatiilor.

De exemplu, in momentul in care s-a impus firmelor sa-si plateasca un consultant fiscal, am declansat o mica campanie care a constat din expunerea situatiei trimisa catorva ziare, pe cateva forumuri si un text pe site-ul domnului Vosganian, la acea vreme ministrul Finantelor.
Ulterior la aceasta mica campanie au aderat si doi ziaristi care au scris cate un articol pe aceasta tema. Din pacate doar 3 persoane din toata tara au luat atitudine publica pe aceasta tema, cu toate ca masura afecta (si afecteaza inca) cateva sute de mii de intreprinderi.
Rezultatul a fost ca acea obligatie a fost amanata si in prezent, cu toate ca respectiva reglementare nu a fost abrogata se tolereaza (deocamdata) depunerea bilanturilor fara respectiva certificare.

Revenind la problema noastra, în spiritul acelei experiente, deocamdata am trimis un mail la MF, vezi textul mai jos.

Daca nu se rezolva nimic cu acest mail voi trece la masurile descrise in mail.
Sunt foarte multi direct interesati, inclusiv de pe acest forum, în rezolvarea acestei probleme, de aceea ma astept sa fiu sprijinit in demersul meu, cel putin moral (dar mai bine ar fi prin continuarea acestui prim pas), daca va fi cazul.

Deci:

mail adresat astazi ora 09.00 catre "publicinfo@mfinante.ro"


"Din pacate, deoarece pe site-ul MF nu am gasit referiri la numele si prenumele celor care raspund de crearea si intretinerea site-ului institutiei, acest mesaj este adresat

"In atentia echipei de webmasteri a MF"

Din cate stiti probabil, una din cerintele comunitatii intreprinzatorilor si a comunitatilor informaticienilor din Romania (exista si o petitie publica in acest sens) este accesul cat mai facil si fara costuri suplimentare, daca se poate automatizat prin intermediul a diverse aplicatii informatice, la datele necesare agentilor economici prin intermediul diferitelor site-uri ale institutiilor publice din Romania. Nu in ultimul rand, acesta este si spiritul strategiei guvernamentale pentru informatizarea institutiilor statului.
Este o cerinta normala, din moment ce duce la eficientizarea activitatii si scaderea costurilor necesare pentru obtinerea informatiilor publice care oricum exista deja centralizate undeva.
Unele institutii, din proprie initiativa sau ca urmare a respectarii spiritului celor de mai sus, s-au conformat in acest sens, de exemplu BNR care pe site-ul sau a pus la dispozitia programatorilor coduri speciale pentru preluarea datelor referitoare la cursul BNR. Un alt exemplu, european de aceasta data, este site-ul VIES, un site de genul http://voesmfinante.ro/codfiscal/agenticod.html dar cu o arie de competenta mult mai mare, care si el pune la dispozitie celor interesati informatii amanuntite referitoare la posibilitatile de preluarea automata a datelor referitoare la agentii economici.

Chiar daca MF nu s-a conformat acestor cerinte, pana de curand obtinerea anumitor date, de exemplu datele referitoare la agentii economici (denumire, CIF, J-ul adresa etc.) se putea face automatizat printr-o interogare relativ simpla, rezolvandu-se astfel elegant dificila problema a verificarii corectitudinii datelor a sute sau mii de parteneri, dupa caz, cu ocazia intocmirii declaratiilor necesare, culmea, tot MF-ului, eliminandu-se astfel nenumarate erori care ar fi ingreunat activitatea acestei institutii.

Pentru ca acesta este un mail "colegial" si pentru a intelege care este de fapt motivul acestui mail, am sa va dau un exemplu concret a ceea ce se intampla in viata reala:

Un contabil, de exemplu, trebuie sa depuna Declaratia 394 la fiecare 6 luni.
Daca acel contabil face contabilitatea la 5 firme, care fiecare din ele are doar 100 de facturi de cumparari si 100 de facturi de vanzari, asta inseamna ca acel contabil va trebui sa verifice datele a 5x(100+100)=1000 de inregistrari, asta insemnand denumirea corecta, cif-ul corect, vector fiscal, adresa, judet, si j-ul.
Acest lucru se poate face "manual", prin accesarea site-ului MF->click pe pagina VOES->Click pe informatii referitoare la...->Click pe cautare dupa CIF->se tasteaza cif-ul si se mai tasteaza si codul "capcha".
Toata aceasta operatiune suplimentara (pe langa aceste verificari contabilul trebuie sa-si faca treaba de zi cu zi) trebuie facuta in maxim 24 de zile (de regula intervalul disponibil este de doar 10-15 zile)
Un alt exemplu:
Mergeti la o pravalie, pentru a cumpara niste produse pentru SRL-ul sotiei/sotului.
In momentul facturarii va trebui sa spuneti denumirea firmei, J-ul, adresa, judetul si bineinteles codul fiscal.
Facturista, pentru ca este responsabila, va verifica aceste date pe site-ul MF. Deci, www.mfinante.ro, asteptam sa se deschida browser-ul, click pe "informatii referitoare la agenti economici"-> click pe "Cautare dupa CIF"->introducem CIF-ul, introducem "capcha", informatiile sunt afisate mai greu sau mai usor, sau nu sunt afisate de loc, daca sunt afsate se compara datele si eventual se completeaza ceea ce a fost tastat eronat. In tot acest timp coada din spatele dumneavoastra creste si toata lumea injura guvernul fara sa stie ca de vina este un simplu angajat din MF care de fapt si-a permis sa incalce spiritul a ceea ce guvernul i-a spus ca trebuie sa faca.

Alternativa ar fi fost ca facturista sa tasteze doar CIF-ul si restul ar fi facut calculatorul, ca de aceea e calculator si internet si site-uri de sute de mii sau milioane de euro si departamente IT care le administreaza.

Inchei cu aceasta mica paranteza si revin la subiect:
Cu surprindere si neintelegand motivul, mai ales ca asa cum am aratat, procedura este complet opusa celei practicate de catre alte institutii, am observat ca in cadrul unei, sa-i spunem "modernizari" a site-ului MF, la pagina http://voesmfinante.ro/codfiscal/agenticod.html ati introdus incepand de ieri un cod de validare, un asa numit "captcha", metoda care de regula este folosita la eliminarea spam-ului si in nici un caz pentru ingreunarea accesului la informatii publice.
Acel "capca" introdus pe respectiva pagina face imposibila preluarea automata de catre diverse aplicatii a datelor referitoare la agenti economici (date care, ma repet, sunt publice si spre deosebire de site-ul in sine nu apartin MF).
Deoarece consideram ca acest lucru, in loc sa reprezinte o evolutie a reprezentat pur si simplu o rautate gratuita si in cel mai bun caz o dovada de incompetenta, care are ca singur efect ingreunarea activitatii a (probabil) sute de mii de agenti economici (in situatia in care nu este vorba despre ceva mai grav, de exemplu ingreunarea accesului la date publice in scopul favorizarii accesului preferential la acest gen de date, speram sa nu fie cazul, sau... ?), va rog sa ne raspundeti urgent la urmatoarele intrebari:

1. Cand veti elimina acel cod de validare mentionat mai sus.
2. In cate zile veti face publice pe site-ul MF modalitatile prin care se faciliteaza preluarea automata de pe site-ul MF a datelor referitoare la agentii economici, datele referitoare la agentii economici cu datorii la diversele bugete, informatii referitoare la bilant, etc.
3. Care este numele, prenumele si functia persoanei care a decis introducerea acelui cod de validare, facandu-se astfel vinovata de ingreunarea activitatii a sute de mii de agenti economici fara nici un motiv intemeiat, in conditiile in care strategia guvernului recomanda accelerarea informatizarii si facilitatea accesului la informatiile publice.
Mentionez ca avem nevoie de aceste date pentru formularea unor plangeri concrete impotriva respectivei/respectivelor persoane.
4. Numele, prenumele si functia persoanei vinovate de marea intarziere a afisarii pe site-ul institutiei a informatiilor referitoare la bilanturile societatilor comerciale (in acest moment exista o intarziere de aproape 2 ani), in conditiile in care bilanturile se depun in format electronic, deci ar trebui afisate la cel mult o zi dupa expirarea termenului de predare (ca o simpla observatie va aducem la cunostinta ca acele informatii din bilanturi nu reprezinta un simplu moft, nu sunt puse acolo pentru ca "asa trebuie" ci informatiile respective sunt de un real folos agentilor economici, bineinteles cu conditia sa fie actualizate).

Deoarece consideram ca raspunsul la intrebarile de mai sus poate fi dat in cateva minute (mentionez ca deocamdata cerem doar un raspuns "colegial" si nu unul oficial), ne luam libertatea ca in situatia in care nu vom primi in cursul zilei de astazi un raspuns la cel putin o parte din intrebarile de mai sus, sau, ca alternativa, nu vom observa eliminarea acelui "capcha", incepand de maine vom lua urmatoarele masuri:

1. Vom face public acest mesaj;
2. Prin intermediul asociatiei profesionale din care facem parte (ARIES) si prin intermediul diferitelor comunitati de programatori vom lua toate masurile (inclusiv o campanie in presa) pentru eliminarea situatiei create si pedepsirea vinovatilor;
3. Vom adresa o scrisoare amanuntita (spre deosebire de acest mesaj pe care il consideram doar o sesizare "colegiala") domnului Sebastian VLADESCU, in care vom expune (si) ideile de mai sus si vom cere tragerea la raspundere a vinovatilor;
4. Vom adresa o petitie domnului Emil BOC, petitie in care vom detalia ideile de mai sus punand accentul pe faptul ca niste simpli angajati, platiti pe bani publici, isi permit sa ingreuneze accesul agentilor economici la informatii publice, ingreunand astfel strategiile de informatizare ale Guvernului Romaniei;
5. Vom adresa cate o petitie tuturor persoanelor de conducere din MF a caror date de corespondenta, oficiala sau neoficiala, prin posta sau email, le putem obtine;
6. In nume personal voi cere sprijinul domunului Varujan PAMBUCCIAN, in calitate de parlamentar care consider ca ma reprezinta, sprijinul pentru rezolvarea situatiei expuse in acest mesaj.
7. Vom adresa cate o petitie Domnului Ministru si secretarilor de stat din Ministerul Comunicatiilor si Societatii Informationale, petitii in care vom cere rezolvarea situatiei expuse in acest mesaj.
8. In toate petitiile pe care le vom trimite vom atasa copii ale acestui mesaj. "

Semnatura bla bla..
 8/18/2010 11:59:06 AM
User is offlineinfokam
18 posts


Completare
 (Romania) Modified By infokam  on 8/18/2010 11:24:47 AM)
Deoarece in urma unei simple cautari am observat ca totusi nu pentru toata lumea este restrictionat accesul la datele de pe site-ul MF, am mai trimis un mail "de completare"

"Intrebarea nr. 5.
Va rugam sa ne comunicati numele, prenumele si functia persoanelor vinovate de facilitarea accesului preferential la informatii publice aflate in bazele de date ale MF, informatii neafisate pe site-ul MF.
De exemplu, cu toate ca ultimele informatii referitoare la datele firmei mele, accesibile pe site-ul MF, sunt din 2008, am surpriza sa constat ca datele referitoare la 2009 pot fi gasite pe un site "particular", care ofera aceste informatii contra cost."
Si deoarece am facut niste afirmatii, iata si dovada celor afirmate:

(Nota, deoarece nu am reusit sa atasez imaginile acestea pot fi gasite la www.infokam.ro/mf/poza_mf.jpg si www.infokam.ro/mf/poza1.jpg)
poza_MF.jpg 
 8/18/2010 12:55:36 PM
User is offlineDaniel Buduru
2141 posts
1st




Re: Completare
 (N/A)
Poate MF nu considera ca limiteaza accesului contribuabililor la informatii publice.
Pe fiecare pagina a acestui site, in partea de jos, scrie clar:

© Ministerul Finantelor Publice - DGTI
Continutul acestui site este proprietatea Ministerului Finantelor Publice. Modificarea neautorizata a acestui site web constituie infractiune si se pedepseste conform Legii nr.8/1996 si Art.42 din Legea nr.161/2003 Titlul 3


Deci, Ministerul Finantelor Publice se considera proprietarul informatiilor publicate pe site.
Sa fie oare legal?
As zice ca nu, daca ne uitam la www.bnr.ro. In josul pagii exista (printre altele) doua link-uri, Copyright si Aspecte juridice,

Copyright

http://www.bnr.ro este website-ul oficial al Băncii Naţionale a României.

Drepturile de autor asupra întregului conţinut al acestuia aparţin în totalitate Băncii Naţionale a României. Conţinutul acestui website este protejat prin Legea nr. 8/1996 privind dreptul de autor şi drepturile conexe, cu modificările şi completările ulterioare.

BNR permite accesul liber la informaţiile publicate pe website-ul său. Acestea pot fi copiate sau tipărite în scop personal.

Reproducerea parţială sau integrală a paginilor acestui website, precum şi distribuirea sub orice formă şi prin orice mijloace a conţinutului acestora este permisă numai cu indicarea sursei. În cazul prelucrării de către utilizator a datelor statistice din website (ajustări sezoniere, calculare de indici etc.), acest lucru trebuie menţionat în mod explicit. De asemenea, în cazul în care informaţii din website-ul BNR sunt integrate în documente destinate comercializării, persoanele fizice sau juridice care publică documentele au obligaţia de a-şi înştiinţa clienţii atât înainte ca aceştia să efectueze vreo plată, cât şi de fiecare dată când accesează o informaţie preluată din site-ul BNR, că informaţiile respective pot fi obţinute gratuit de pe website-ul BNR.

Utilizatorii au dreptul de a prelua în mod dinamic conţinut din site-ul BNR numai în condiţiile tehnice specificate în pagina de informaţii pentru administratorii de website-uri.

Utilizatorii au dreptul de a insera în paginile proprii legături către website-ul BNR, cu condiţia asigurării contextului originar, respectiv prin deschiderea unei noi ferestre pentru vizualizarea acestuia.


Aspecte juridice

Utilizarea site-ului Băncii Naţionale a României presupune acceptarea în totalitate a termenilor şi condiţiilor prezentate în capitolele Copyright şi Disclaimer.

Informaţii cu caracter personal

În general, utilizatorii pot vizita site-ul BNR fără a comunica identitatea lor sau a oferi informaţii personale. Sunt cazuri în care pentru a accesa un serviciu prin intermediul acestui website, utilizatorului îi sunt solicitate unele informaţii de natură personală (ex. nume, adresă de e-mail, ocupaţie etc.). BNR asigură confidenţialitatea acestor informaţii conform prevederilor Legii nr. 677/2001, cu modificările şi completările ulterioare, pentru protecţia persoanelor cu privire la prelucrarea datelor cu caracter personal şi libera circulaţie a acestor date.



Daniel Buduru
 8/18/2010 1:01:01 PM
User is offlinemr_api
353 posts
3rd


Re: Completare
 (N/A)
Felicitari pt mail.

 Daca te ajuta iti dau un mail de contact :

   iudita.cutieru[at]mfinante[dot]ro

                     Iudita Cutieru
                 Referent superior

Agentia Nationala de Administrare Fiscala
 Directia Generala Tehnologia Informatiei
 Biroul Dezvoltare Aplicaţii Internet-Intranet,
 Tehnoredactare şi Aplicaţii Multimedia

      Str. Col. Poenaru Bordea nr.3 - 5
          Sector 4, 040092,  Bucuresti    
  tel: 021/319.98.89/175         mobil:0749.067.198
 

 8/18/2010 1:18:09 PM
User is offlineinfokam
18 posts


Re: Completare
 (Romania)
Multumesc pentru adresa de mail, acesta este genul de sprijin pe care il ceream de fapt.
Totodata, pentru ca membrii acestui forum sunt, din cate stiu, persoane cu un coeficient de inteligenta mult mai ridicat decat al mediei, astept si alte idei.

In legatura cu celalalt raspuns, MF este proprietarul site-ului dar nu a informatiilor publice (in situatia noastra datele firmelor).
Totodata disclaimer-ul afisat spune ca "Modificarea neautorizata a acestui site web constituie infractiune si se pedepseste conform Legii nr.8/1996 si Art.42 din Legea nr.161/2003 Titlul 3".
Noi nu dorim decat acces mai facil la aceste informatii care oricum sunt oferite, nu dorim sa modificam noi site-ul (pentru asta sunt altii platiti).
Daca cei de la MF vor sa restrictioneze aceste date este dreptul lor dar sa specifice clar acest lucru si restrictia sa fie egala pentru toti.
Si nu in ultima instanta, dorim ca accesul la aceste date sa nu fie doar in favoarea unor anumite firme.
Nu am nimic impotriva ca orice firma sa castige niste bani din prelucrarea acestor date, si noi facem intr-o oarecare masura acest lucru, dar daca, asa cum am aratat in exemplul de mai sus, anumite firme (si probabil nu este singurul exemplu) beneficiaza de informatii de care altii nu beneficiaza, atunci avem o problema si problema ar putea avea si un usor miros penal.
 8/18/2010 3:28:41 PM
User is offlinemr_api
353 posts
3rd


Re: Completare
 (N/A) Modified By mr_api  on 8/18/2010 2:31:38 PM)
@infokam
spuneai ca ai gasit un link la care nu se verifica diverse coduri,il poti face public ?
Pagina http://voes.mfinante.ro/codfiscal/agenticod.html  este o mizerie la care functioneaza doar afisarea codului ala tampit,atat,dupa ce dai cautare ...asa ramane,au avut ei grije sa-si securizeze mizeria....

Programul acesta : http://www.facturarepro.ro/program-facturare-simplu-profesional/
foloseste tot o preluare de pe net si vad ca functioneaza destul de bine,are cineva idee de unde preia ?
Ms.


 8/18/2010 3:54:58 PM
User is offlineDaniel Buduru
2141 posts
1st




Re: Completare
 (N/A)
Programul executa o interogare GET pe o pagina din situl  www.facturarepro.ro
Asta inseamna ca si-au facut local o baza de date cu agentii economici.

Incep sa apara niste lucruri care vizeaza nu numai accesul la informatia publica, ci si libera concurenta.


Daniel Buduru
 8/18/2010 4:11:28 PM
User is offlineinfokam
18 posts


Re: Completare
 (Romania)
Site-ul in cauza este site-ul VIES.

Din pacate pe acel site sunt verificate doar informatii ale agentilor economici inscrisi in Registrul Operatorilor Intracomunitari.

Iata codul (inclusiv link-ul) care sunt preluate din codul scris de un alt coleg de pe acest forum:



f_cif='123456789'
lcURL="http://ec.europa.eu/taxation_customs/vies/viesquer.do?ms=RO&iso=RO&vat="+f_cif
lcWebContent = ReadURL(lcURL)
DO CASE
CASE Occurs('Yes, valid VAT number',lcWebContent)>0
f_cif='RO '+f_cif
vies=.T. && Conectarea a fost reusita si agentul economic este inscris in Registrul Operatorilor Intracomunitari
CASE Occurs('No, invalid VAT number',lcWebContent)>0
vies=.T. && Conectarea a fost reusita dar agentul economic nu este inscris in Registrul Operatorilor Intracomunitari
OTHERWISE
vies=.F.
ENDCASE
Return


Function ReadURL
Lparameters pcUrlName, pcOptFeedback, pnOptBuffSize, pcOptOutputFile
Declare Integer InternetOpen In wininet.Dll String sAgent, ;
INTEGER lAccessType, String sProxyName, ;
STRING sProxyBypass, Integer lFlags

Declare Integer InternetOpenUrl In wininet.Dll ;
INTEGER hInternetSession, String sUrl, String sHeaders, ;
INTEGER lHeadersLength, Integer lFlags, Integer lContext

Declare Integer InternetReadFile In wininet.Dll Integer hfile, ;
STRING @sBuffer, Integer lNumberofBytesToRead, Integer @lBytesRead

Declare short InternetCloseHandle In wininet.Dll Integer hInst
#Define INTERNET_OPEN_TYPE_PRECONFIG 0
#Define INTERNET_OPEN_TYPE_DIRECT 1
#Define INTERNET_OPEN_TYPE_PROXY 3
#Define SYNCHRONOUS 0
#Define INTERNET_FLAG_RELOAD 2147483648
Local lcAgent, lhInternetSession, lhUrlFile, llOk, lnOk, lcRetVal, lcReadBuffer, lnBytesRead, laDr[1], llCancel
If Vartype(pcOptFeedback)='C'
If Not ( At('(',pcOptFeedback)>0 And (At('(',pcOptFeedback) < At(')',pcOptFeedback) ) )
pcOptFeedback = .F.
Endif
Endif
lcAgent = "VFP"
lhInternetSession = InternetOpen( lcAgent, INTERNET_OPEN_TYPE_PRECONFIG, '', '', SYNCHRONOUS )
If lhInternetSession = 0
Wait Window "Internet session cannot be established" Time 2
Return .Null.
gasit=.F.
Endif
lhUrlFile = InternetOpenUrl( lhInternetSession, pcUrlName, '', 0, INTERNET_FLAG_RELOAD, 0 )

If lhUrlFile = 0
Return .Null.
gasit=.F.
Endif

lcRetVal = ""
llOk = .T.
llCancel = .F.
lnTotalBytesRead = 0
lnBytesRead = 0
lcReadBuffer = ''
If Vartype(pcOptFeedback)='C' && Call the feedback at the zero mark
=&pcOptFeedback
Endif


If Type('pcOptOutputFile')='C' And Adir(laDr,pcOptOutputFile)>0
Delete File (pcOptOutputFile)
Endif

Do While llOk And Not llCancel
lcReadBuffer = Space(Iif(Vartype(pnOptBuffSize)='N',pnOptBuffSize,32767))
lnBytesRead = 0
lnOk = InternetReadFile( lhUrlFile, @lcReadBuffer, Len(lcReadBuffer), @lnBytesRead)

lnTotalBytesRead = lnTotalBytesRead + lnBytesRead

If ( lnBytesRead > 0 )
If Type('pcOptOutputFile')='C'
Strtofile(Left(lcReadBuffer,lnBytesRead),pcOptOutputFile,.T.) && Add to file.
Else
lcRetVal = lcRetVal + Left( lcReadBuffer, lnBytesRead )
Endif
Endif
llOk = ( lnOk = 1 ) And ( lnBytesRead > 0 )

If Vartype(pcOptFeedback)='C'
If Not &pcOptFeedback
llCancel = .T.
Endif
Endif
Enddo

InternetCloseHandle( lhUrlFile )
InternetCloseHandle( lhInternetSession )

If Type('pcOptOutputFile')='C'
Return Not llCancel
Endif
Return lcRetVal


Function retudata
Parameters dData

oldCentury=Set("Century")
oldDataFormat=Set("Date")
oldDateMark=Set("Mark")
Set Century On
Set Date YMD
Set Mark To [/]
lcDate=Dtoc(dData)
Set Century &oldCentury
Set Date &oldDataFormat
Set Mark To &oldDateMark
Return lcDate
 8/18/2010 4:20:11 PM
User is offlineinfokam
18 posts


Re: Completare
 (Romania) Modified By infokam  on 8/18/2010 3:37:00 PM)
O alta sursa din care se pot prelua datele agentilor economici (din pacate mult mai putine decat cele de la MF) este http://recom1-ssl.onrc.ro/cgi-bin/recom.cgi
Pentru accesul gratuit este necesara introducerea unui user name si a unei parole. Ambele sunt "guest".

Referitor la libera concurenta, am intalnit la un moment dat pe site-ul unui vanzator de programe de facturare (nu mai retin exact care) un fel de "CERTIFICAT" eliberat de catre cineva din MF, cu antetul MF, stampila si tot ce mai trebuie ca sa fie frumos.
Poate stie cineva unde este acel site, ar fi interesat de aratat tuturor.

O alta solutie, mai compliicata si putin utopica, dar in acelasi timp mult mai sigura, care presupune insa renuntarea pentru o perioada la orgoliile personale si la interesul de moment, ar fi crearea unei proprii baze de date care sa cuprinda CIF-ul, denumirea, J-ul si adresa, date care sa fie culese de programele tuturor care s-ar asocia la aceasta idee, urmand ca respectiva baza de date sa fie folosita in comun.
Aceasta baza de date nu ar apare intr-o zi-doua dar, incet incet, preluind intr-un format oarecare datele respective din multimea de programe de facturare care sunt pe piata acest lucru s-ar putea realiza fara mare efort.



 8/18/2010 4:52:55 PM
User is offlineinfokam
18 posts


Re: Completare
 (Romania)
Surpriza, la adresa http://217.156.52.25/codfiscal/agenticod.html (acolo duce in acest moment interogarea de la MF) a disparut codul de validare :).
Sa speram ca ramane asa.

Pagina inca merge greu, se pare ca se lucreaza la ea.
 8/18/2010 5:00:56 PM
User is offlinemr_api
353 posts
3rd


Re: Completare
 (N/A)
poate si-au dat seama de gafa facuta,ca tot pentru ei sunt datele prelucrate de aplicatiile care interogheaza pagina aceea
 8/18/2010 5:20:00 PM
User is offlineDaniel Buduru
2141 posts
1st




Re: Completare
 (N/A) Modified By Daniel Buduru  on 8/18/2010 5:11:25 PM)
 infokam wrote
O alta sursa din care se pot prelua datele agentilor economici (din pacate mult mai putine decat cele de la MF) este http://recom1-ssl.onrc.ro/cgi-bin/recom.cgi
Pentru accesul gratuit este necesara introducerea unui user name si a unei parole. Ambele sunt "guest".



Codul urmator aduce datele de pe acest site. Din pacate, in aceasta baza de date nu exista informatia de platitor de tva.

cCui='123456789'

ohttp=CREATEOBJECT('winhttp.winhttprequest.5.1')
ohttp.Open('POST','http://recom1-ssl.onrc.ro/cgi-bin/intguest.cgi',.f.)
ohttp.SetRequestHeader("Content-Type","application/x-www-form-urlencoded")
oHttp.SetRequestHeader("Referrer","http://recom1-ssl.onrc.ro/cgi-bin/recom.cgi?o7=1&l=R")
ohttp.SetRequestHeader("Authorization","Basic Z3Vlc3Q6Z3Vlc3Q")
ohttp.SetRequestHeader("credentials","guest:guest")
ohttp.Send("l=R&o=7&jud=99&cfiscalf="+cCui+"&cauta=Selectie")

cTable=STREXTRACT(ohttp.responsetext,'<table','table>',5,4)


Daniel Buduru
 8/18/2010 6:06:11 PM
User is offlineSilviu
130 posts
5th


Re: Completare
 (Romania)
Salut.
Sunt incepator si nu ma pricep sa-l folosesc ..... stiu ca suna aiurea, dar ai putea sa ma ajutati.
Multumesc
 8/18/2010 6:11:03 PM
User is offlineDaniel Buduru
2141 posts
1st




Re: Completare
 (N/A)
M-ai pus in incurcatura
De unde sa incep?
Pune in cCui codul fiscal, in locul codului de acolo.
Rulezi tot codul
In cText returneaza o tabela html cu datele firmei cautate.


Daniel Buduru
 8/18/2010 7:06:21 PM
User is offlineDaniel Buduru
2141 posts
1st




Re: Completare
 (N/A)
Functioneaza din nou site MF

cCui='123456789'
ohttp=CREATEOBJECT('winhttp.winhttprequest.5.1')
ohttp.Open('POST','http://voes.mfinante.ro/codfiscal/CodFiscalServlet1',.f.)
ohttp.SetRequestHeader("Content-Type","application/x-www-form-urlencoded")
ohttp.Send('cod='+cCui+'&B1=VIZUALIZARE')
cTable=STREXTRACT(ohttp.ResponseText,'<table','table>',1,4)
? parsetable(cTable)

FUNCTION parsetable
LPARAMETERS tctable
#DEFINE CR  CHR(13)
LOCAL lcList, lcCell, lcData, lnCell, lnTag
lclist=''
FOR lnCell=1 TO OCCURS('<td',tctable)
   lcCell=STREXTRACT(tcTable,'<td','td>',lnCell,3)
   lcData=''
   FOR lnTag=1 TO OCCURS('>',lcCell)
     lcData=lcData+STREXTRACT(lcCell,'>','<',lnTag,3)
   NEXT lnTag
   lcData=CHRTRAN(lcData,CHR(10)+CHR(13),SPACE(1))
   DO WHILE AT(SPACE(2), lcData)>0
   lcData=STRTRAN(lcData,SPACE(2),SPACE(1))
   ENDDO
   lcList=lclist+lcData+CR
 NEXT lnCell
 RETURN lclist

Daniel Buduru
 8/18/2010 7:54:07 PM
User is offlineinfokam
18 posts


Re: Completare
 (Romania) Modified By infokam  on 8/18/2010 6:58:21 PM)
Da, in acest moment codul de validare a disparut si totul functioneaza din nou fara probleme.
Nu ramane decat sa multumim celor care se ocupa de site-ul MF, ceea ce fac si pe aceasta cale.

Si, sa nu uitam ca daca incercam se poate, precum vedeti au colaborat (doar (:) 4 persoane si au rezolvat o problema care afecta sute de mii de firme. Va dati seama ce s-ar intampla daca o intreaga comunitate (cum este si cea de aici) vrea sa faca ceva !
Si nu a venit nici ministrul MF in control sa-mi verifice firma si nici nu ne-a impuscat nimeni.
 8/19/2010 2:39:32 PM
User is offlineSilviu
130 posts
5th


Re: Completare
 (Romania)
Salut Dane ..... scuze ca te stresez, eu la codul asta m-am referit:
**************
f_cif='123456789'
lcURL="http://ec.europa.eu/taxation_customs/vies/viesquer.do?ms=RO&iso=RO&vat="+f_cif
lcWebContent = ReadURL(lcURL)
DO CASE
CASE Occurs('Yes, valid VAT number',lcWebContent)>0
f_cif='RO '+f_cif
vies=.T. && Conectarea a fost reusita si agentul economic este inscris in Registrul Operatorilor Intracomunitari
CASE Occurs('No, invalid VAT number',lcWebContent)>0
vies=.T. && Conectarea a fost reusita dar agentul economic nu este inscris in Registrul Operatorilor Intracomunitari
OTHERWISE
vies=.F.
ENDCASE
Return


Function ReadURL
Lparameters pcUrlName, pcOptFeedback, pnOptBuffSize, pcOptOutputFile
Declare Integer InternetOpen In wininet.Dll String sAgent, ;
INTEGER lAccessType, String sProxyName, ;
STRING sProxyBypass, Integer lFlags

Declare Integer InternetOpenUrl In wininet.Dll ;
INTEGER hInternetSession, String sUrl, String sHeaders, ;
INTEGER lHeadersLength, Integer lFlags, Integer lContext

Declare Integer InternetReadFile In wininet.Dll Integer hfile, ;
STRING @sBuffer, Integer lNumberofBytesToRead, Integer @lBytesRead

Declare short InternetCloseHandle In wininet.Dll Integer hInst
#Define INTERNET_OPEN_TYPE_PRECONFIG 0
#Define INTERNET_OPEN_TYPE_DIRECT 1
#Define INTERNET_OPEN_TYPE_PROXY 3
#Define SYNCHRONOUS 0
#Define INTERNET_FLAG_RELOAD 2147483648
Local lcAgent, lhInternetSession, lhUrlFile, llOk, lnOk, lcRetVal, lcReadBuffer, lnBytesRead, laDr[1], llCancel
If Vartype(pcOptFeedback)='C'
If Not ( At('(',pcOptFeedback)>0 And (At('(',pcOptFeedback) < At(')',pcOptFeedback) ) )
pcOptFeedback = .F.
Endif
Endif
lcAgent = "VFP"
lhInternetSession = InternetOpen( lcAgent, INTERNET_OPEN_TYPE_PRECONFIG, '', '', SYNCHRONOUS )
If lhInternetSession = 0
Wait Window "Internet session cannot be established" Time 2
Return .Null.
gasit=.F.
Endif
lhUrlFile = InternetOpenUrl( lhInternetSession, pcUrlName, '', 0, INTERNET_FLAG_RELOAD, 0 )

If lhUrlFile = 0
Return .Null.
gasit=.F.
Endif

lcRetVal = ""
llOk = .T.
llCancel = .F.
lnTotalBytesRead = 0
lnBytesRead = 0
lcReadBuffer = ''
If Vartype(pcOptFeedback)='C' && Call the feedback at the zero mark
=&pcOptFeedback
Endif


If Type('pcOptOutputFile')='C' And Adir(laDr,pcOptOutputFile)>0
Delete File (pcOptOutputFile)
Endif

Do While llOk And Not llCancel
lcReadBuffer = Space(Iif(Vartype(pnOptBuffSize)='N',pnOptBuffSize,32767))
lnBytesRead = 0
lnOk = InternetReadFile( lhUrlFile, @lcReadBuffer, Len(lcReadBuffer), @lnBytesRead)

lnTotalBytesRead = lnTotalBytesRead + lnBytesRead

If ( lnBytesRead > 0 )
If Type('pcOptOutputFile')='C'
Strtofile(Left(lcReadBuffer,lnBytesRead),pcOptOutputFile,.T.) && Add to file.
Else
lcRetVal = lcRetVal + Left( lcReadBuffer, lnBytesRead )
Endif
Endif
llOk = ( lnOk = 1 ) And ( lnBytesRead > 0 )

If Vartype(pcOptFeedback)='C'
If Not &pcOptFeedback
llCancel = .T.
Endif
Endif
Enddo

InternetCloseHandle( lhUrlFile )
InternetCloseHandle( lhInternetSession )

If Type('pcOptOutputFile')='C'
Return Not llCancel
Endif
Return lcRetVal


Function retudata
Parameters dData

oldCentury=Set("Century")
oldDataFormat=Set("Date")
oldDateMark=Set("Mark")
Set Century On
Set Date YMD
Set Mark To [/]
lcDate=Dtoc(dData)
Set Century &oldCentury
Set Date &oldDataFormat
Set Mark To &oldDateMark
Return lcDate
*********
Poti sa ma luminezi?
Multumesc
  Visual FoxPro  Visual FoxPro in general  verificare cod ...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement