Clipper On Line • Ver Tópico - hbNFe dúvidas

hbNFe dúvidas

Projeto hbNFe (Nota Fiscal Eletronica/Danfe) para [x]Harbour

Moderador: Moderadores

 

hbNFe dúvidas

Mensagempor pauloa1 » 29 Ago 2012 22:08

Usando o mesmo ini pelo acbr a nfe sai 100%, valida, consulta tudo ok.
usando pelo HBNFE, gera o xml sem dar aviso de erros.

Se eu consultar a nota ela não consta no sefaz.

Se eu enviar o xml gerado pelo hbnfe , via acbr, da mensagem de erro:
7435->Rejeicao: Valor do Produto difere do produto Valor Unitario de Tributacao e Quantidade Tributavel.

Aí pergunto. como fazer para o hbnfe me retornar esse erro?

eu gero o ini e depois faço o seguinte:

// teste com hbnfe
  ***** gerar xml
        hbnfe_Inicia() // aqui carrego os dados, certificado etc...
        oIniToXML := hbNFeIniToXML()
        oIniToXML:ohbNFe := oNfe
        oIniToXML:cIniFile := 'c:\SCCN\nfe\entnfe.ini'
        oIniToXML:lValida := .T.
        aRetorno := oIniToXML:execute()
        oIniToXML := Nil
        IF aRetorno['OK'] == .F.
           msg(aRetorno['MsgErro'] )
     teste=aRetorno['MsgErro']
     memowrit("\SCCN\nfe\erro.ini",teste)
        ELSE
           msg('Gerou XML')
        ENDIF


Aqui ele apenas gerou o xml ou também assinou e enviou?

logo em seguida pego a chave e tento consultar a nota no sefaz

  /// consultar nfe se consta no sefaz
        oConsulta := hbNFeConsulta()
        oConsulta:ohbNFe := oNfe // Objeto hbNFe
        oConsulta:cNFeFile := mFILE_XML       
        aRetorno := oConsulta:execute()
        oConsulta := Nil
        IF aRetorno['OK'] == .F.
      msg(aRetorno['MsgErro'] )
         ELSE
           msg( aRetorno['tpAmb']     )
           msg( aRetorno['verAplic']  )
           msg( aRetorno['dhRecbto']  )
           msg('nprod '+ aRetorno['nProt']     )
           msg( aRetorno['digVal']    )
           msg( aRetorno['cStat']     )
           msg( aRetorno['xMotivo']   )
           msg( aRetorno['protNFe']   )
      ENDIF


Na consulta retorna .t. , mas as mensagens todas em branco.

Paulo
Nota de Moderação:
Pablo César: Mensagem editada para colocar a tag [ code ]
Veja como utilizar esta tag: Clique aqui
pauloa1
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 224
Data de registro: 25 Jun 2008 14:57
Cidade/Estado: Augusto Pestana-RS
Curtiu: 2 vezes
Mens.Curtidas: 11 vezes

hbNFe dúvidas

Mensagempor andersoncamilo » 30 Ago 2012 17:19

Paulo boa tarde

O hbNFeIniToXML(), gera o arquivo XML, valida e assina, para enviar tem que usar o procedimento abaixo, o retorno desse erro que você postou vai retornar, após o envio da nfe.

           oEnviaNFe := hbNFeRecepcaoLote()
           oEnviaNFe:ohbNFe := oNfe // Objeto hbNFe
           oEnviaNFe:idLote := alltrim(str(val(pNumNFe)))
           oEnviaNFe:aXMLDados := { oNFe:pastaNFe + '\' + pChaveNFe + '-nfe.xml'}       && caminho e arquivo xml
           oEnviaNFe:lAguardaRetorno := .T.
           oEnviaNFe:nTempoAguardaRetorno := 5         
           oEnviaNFe:nVezesTentaRetorno   := 5   
           aRetorno := oEnviaNFe:execute()
           oEnviaNFe := Nil
         
           if aRetorno['OK'] == .F.
              lSitOperacao = .F.      
              aRetorno['MsgErro'] =  aRetorno['MsgErro'] + ';Erro no processamento do lote;Status: ' + aRetorno['cStat'] + ';Motivo: ' + aRetorno['xMotivo']
            else                   
              aRetorno['versao']   := aRetorno['NF01' + '_verAplic']
              aRetorno['tpAmb']    := aRetorno['NF01' + '_tpAmb']
              aRetorno['verAplic'] := aRetorno['NF01' + '_verAplic']
              aRetorno['cStat']    := aRetorno['NF01' + '_cStat']
              aRetorno['xMotivo']  := aRetorno['NF01' + '_xMotivo']
              aRetorno['ChNfe']    := aRetorno['NF01' + '_chNFe']
              aRetorno['dhRecbto'] := aRetorno['NF01' + '_dhRecbto']
              aRetorno['nProt']    := aRetorno['NF01' + '_nProt']
              aRetorno['digVal']   := aRetorno['NF01' + '_digVal']
              if HGetPos( aRetorno, 'dhRecbto' ) > 0
                 aRetorno['dhRecbto'] = substr(aRetorno['dhRecbto'],9,2) + '/' + substr(aRetorno['dhRecbto'],6,2) + '/' + ;
                 substr(aRetorno['dhRecbto'],1,4) + ' ' + substr(aRetorno['dhRecbto'],12)
              endif
           endif


Anderson Camilo
andersoncamilo
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 102
Data de registro: 22 Ago 2004 11:54
Curtiu: 0 vez
Mens.Curtidas: 1 vez

hbNFe dúvidas

Mensagempor runner » 30 Nov 2012 08:33

Ola, amigos.

Estou tendo um problema bem estranho, em uma determinada maquina consigo gerar o PDF a partir de um XML usando a função HBNFEDANFE, ja indo em outra maquina com o mesmo sistema operacional (XP) não gera o PDF.

Então qual seria a falha neste caso, verifiquei DLL e arquivo de configuração e nada.

Se alguem puder ajuda, agradeço.
Harbour 3.2 + Minigui Extended 16 + xDev
runner
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 69
Data de registro: 03 Ago 2007 05:17
Cidade/Estado: GUARULHOS-SP
Curtiu: 0 vez
Mens.Curtidas: 3 vezes

hbNFe dúvidas

Mensagempor andersoncamilo » 30 Nov 2012 18:24

Runner

Boa noite

Ele apresenta algum erro?

Se não apresenta nenhum erro, verifica o caminho da pasta das fontes, se a classe não encontrar as fontes, ele não gera o PDF e não da nenhuma mensagem.

Anderson Camilo
andersoncamilo
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 102
Data de registro: 22 Ago 2004 11:54
Curtiu: 0 vez
Mens.Curtidas: 1 vez

hbNFe dúvidas

Mensagempor runner » 01 Dez 2012 05:30

Ola, Anderson.

Realmente e estranho pois não apresenta erro algum e quanto aos arquivos da pasta FONTES eu já coloquei eles na mesma pasta do executável e mesmo assim o problema persiste.

Se tiver mais alguma ideia do que tiver acontecendo me avisa.
Harbour 3.2 + Minigui Extended 16 + xDev
runner
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 69
Data de registro: 03 Ago 2007 05:17
Cidade/Estado: GUARULHOS-SP
Curtiu: 0 vez
Mens.Curtidas: 3 vezes

hbNFe dúvidas

Mensagempor andersoncamilo » 01 Dez 2012 12:46

Runner

Bom dia

A pasta correta para as fontes seria:
C:\SISTEMA\FONTES.

segue abaixo a linha da classe do hbnfedanfe que verifica a existência das fontes.

if !file('fontes\Code128bWinLarge.afm') .or. !file('fontes\Code128bWinLarge.pfb')

Anderson Camilo
andersoncamilo
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 102
Data de registro: 22 Ago 2004 11:54
Curtiu: 0 vez
Mens.Curtidas: 1 vez

hbNFe dúvidas

Mensagempor runner » 03 Dez 2012 08:27

Ola, Anderson.

Foi exatamente o que eu vi, mas até mudei para ele procurar os fontes na mesma pasta do sistema e não deu certo.

Tem alguma coisa a ver com as DLLs ?
Harbour 3.2 + Minigui Extended 16 + xDev
runner
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 69
Data de registro: 03 Ago 2007 05:17
Cidade/Estado: GUARULHOS-SP
Curtiu: 0 vez
Mens.Curtidas: 3 vezes

hbNFe dúvidas

Mensagempor sygecom » 26 Dez 2012 15:52

Eu uso o DANFE do FastReport, então vou apenas dar um palpite, essas fontes não devem ser registradas ou instaladas no Windows para funcionar ?
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
leonardodemachado@hotmail.com

Faça você também sua doação esse fórum é uma lenda viva: http://www.pctoledo.com.br/doacao
Avatar de usuário

sygecom
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 7017
Data de registro: 21 Jul 2006 10:12
Cidade/Estado: Alvorada-RS
Curtiu: 1 vez
Mens.Curtidas: 133 vezes

hbNFe dúvidas

Mensagempor CLIPEIRO » 25 Mar 2013 20:20

Prezados,

Eestou precisando transformar meu sistema em fiscal, mas estou tendo dificuldade.
Ja estou bem atrasado em relação NF-e e estou precisando de ajuda.

Localizei fontes do Fernando, de testes.exe no forum do clipper, baixei hbnfe.rar bem como
Link direto para 32bits: http://downloads.sourceforge.net/tortoi ... i?download

Ocorre que eu uso xHarbour 1.2.1 com lib gráfica : minigui extended.

Observei no arquivo TODOS.TXT que para xHarbour ainda não tinham testes, neste topico, observei que o colega Hasa, utiliza algo parecido com o que eu uso. Tambem compilo com o HBMake.
Gostaria de saber se houve uma evolução para xHarbour, se algum colega teria interesse em me passar o codigo fonte e qual seria o custo para me auxiliar nisso.

Aguardo um retorno.

abraço a todos!
CLIPEIRO
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 5
Data de registro: 21 Jun 2011 00:28
Cidade/Estado: CURITIBA - PR
Curtiu: 0 vez
Mens.Curtidas: 0 vez

hbNFe dúvidas

Mensagempor HASA » 26 Mar 2013 09:14

:?

Clipeiro, não consegui usar a ferramenta com a nossa configuração, mas tem colegas que conseguir com xHarbour + HwGui se não me engano ok.
:'(
Hasa
Avatar de usuário

HASA
Colaborador

Colaborador
 
Mensagens: 1082
Data de registro: 01 Set 2003 19:50
Cidade/Estado: São Paulo
Curtiu: 1 vez
Mens.Curtidas: 51 vezes

hbNFe dúvidas

Mensagempor andersoncamilo » 26 Mar 2013 09:52

Clippeiro

Bom dia

Eu utilizo o HbNfe com o xharbour 1.2.1 em modo texto, funciona tudo certinho.

Se eu puder te ajudar.

skype: andersoncamilo
email: andersoncamilo@ulbrajp.com.br

Anderson Camilo
andersoncamilo
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 102
Data de registro: 22 Ago 2004 11:54
Curtiu: 0 vez
Mens.Curtidas: 1 vez

hbNFe dúvidas

Mensagempor Devair » 26 Mar 2013 10:21

a Título de colaboração, abaixo a consulta de NFe destinadas, acho que pode ajudar alguem, ja que tive que pesquisar mto para localizar os links.

ohbNFe:= hbnfe()
ohbNFe:versaoDados:='1.01'

cXMLDadosMsg := '<consNFeDest xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.01">'+;
'<tpAmb>'+ alltrim(oApp:Ambiente)+'</tpAmb><xServ>CONSULTAR NFE DEST</xServ>'+;
'<CNPJ>'+ alltrim( _empre:cnpj)+'</CNPJ>'+;
'<indNFe>'+ if( cRadnfe= 1,'0', if( cRadnfe= 2,'1','2'))+'</indNFe>'+;
'<indEmi>'+ if( cRademi= 1,'0','1')+'</indEmi>'+;
'<ultNSU>'+ if( cRadnsu= 2,'0', alltrim(str(oMaxNsu:mxnsu)) )+'</ultNSU></consNFeDest>'

  
* consulta nota fiscal destinada       
********************************* 
METHOD hbNFeDestinadas(cXMLDadosMsg ) CLASS hbNFe
LOCAL cCN, cUrlWS, cXML,  oServerWS, oDOMDoc, cXMLResp, cMsgErro, nI,;
      aRetorno := hash(), nI2, aRetornoRet, oRetornoNFe, oError, oCurl, aHeader, retHTTP
LOCAL cSOAPAction := 'http://www.portalfiscal.inf.br/nfe/wsdl/NfeConsultaDest/nfeConsultaNFDest'
                                                                           
   IF ::cUFWS = Nil
      ::cUFWS := ::cUFWS
   ENDIF

    IF ::versaoDados = Nil
      ::versaoDados:= ::versaoDados
   ENDIF
   
   cXML := '<?xml version="1.0" encoding="utf-8"?>'
   cXML := cXML + '<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">'
   cXML := cXML +   '<soap12:Header>'
   cXML := cXML +     '<nfeCabecMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeConsultaDest">'
   cXML := cXML +       '<cUF>'+::cUF+'</cUF>'
   cXML := cXML +       '<versaoDados>'+::versaoDados+'</versaoDados>'
   cXML := cXML +     '</nfeCabecMsg>'
   cXML := cXML +   '</soap12:Header>'
   cXML := cXML +   '<soap12:Body>'
   cXML := cXML +     '<nfeDadosMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeConsultaDest">'
   cXML := cXML + alltrim(cXMLDadosMsg)
   cXML := cXML +     '</nfeDadosMsg>'
   cXML := cXML +   '</soap12:Body>'
   cXML := cXML +'</soap12:Envelope>'
   
   cCN:= ::pegaCNCertificado(::cSerialCert)
   if empty(cCN)
      aRetorno['OK']     := .F.
      aRetorno['MsgErro']:= 'Certificado Digital não localizado.'
      RETURN(aRetorno)
   endif

   cUrlWS := ::getURLWS(_DESTINADAS)
   
    IF ::nSOAP = HBNFE_CURL // não entra aqui
     aHeader = { 'Content-Type: application/soap+xml;charset=utf-8;action="'+cSoapAction+'"',;
                 'SOAPAction: "nfeConsultaNFDest"',;
                 'Content-length: '+ALLTRIM(STR(len(cXML))) }   

     #ifndef __XHARBOUR__
       curl_global_init()
       oCurl = curl_easy_init()

       curl_easy_setopt(oCurl, HB_CURLOPT_URL, cUrlWS)
       curl_easy_setopt(oCurl, HB_CURLOPT_PORT , 443)
       curl_easy_setopt(oCurl, HB_CURLOPT_VERBOSE, .F.) // 1
       curl_easy_setopt(oCurl, HB_CURLOPT_HEADER, 1) //retorna o cabeçalho de resposta
       curl_easy_setopt(oCurl, HB_CURLOPT_SSLVERSION, 3)
       curl_easy_setopt(oCurl, HB_CURLOPT_SSL_VERIFYHOST, 0)
       curl_easy_setopt(oCurl, HB_CURLOPT_SSL_VERIFYPEER, 0)
       curl_easy_setopt(oCurl, HB_CURLOPT_SSLCERT, ::cCertFilePub)
       curl_easy_setopt(oCurl, HB_CURLOPT_KEYPASSWD,::cCertPass)
       curl_easy_setopt(oCurl, HB_CURLOPT_SSLKEY, ::CertFilePriv)
       curl_easy_setopt(oCurl, HB_CURLOPT_POST, 1)
       curl_easy_setopt(oCurl, HB_CURLOPT_POSTFIELDS, cXML)
       curl_easy_setopt(oCurl, HB_CURLOPT_WRITEFUNCTION, 1)
       curl_easy_setopt(oCurl, HB_CURLOPT_DL_BUFF_SETUP )
       curl_easy_setopt(oCurl, HB_CURLOPT_HTTPHEADER, aHeader )
       curl_easy_perform(oCurl)
       retHTTP := curl_easy_getinfo(oCurl,HB_CURLINFO_RESPONSE_CODE) //informações da conexão

       cXMLResp := ''
       IF retHTTP = 200 // OK
          curl_easy_setopt( ocurl, HB_CURLOPT_DL_BUFF_GET, @cXMLResp )
          cXMLResp := SUBS(cXMLResp,AT('<?xml',cXMLResp))
       ENDIF

       curl_easy_cleanup(oCurl)
       curl_global_cleanup()
     #endif
   ELSE // MSXML   // a consulta entra aqui
   
     #ifdef __XHARBOUR__
        oServerWS := xhb_CreateObject( "MSXML2.ServerXMLHTTP.5.0" )
     #else
        oServerWS := win_oleCreateObject( "MSXML2.ServerXMLHTTP.5.0")
     #endif
     oServerWS:setOption( 3, "CURRENT_USER\MY\"+cCN )
     oServerWS:open("POST", cUrlWS, .F.)
     oServerWS:setRequestHeader("SOAPAction", cSOAPAction )
     oServerWS:setRequestHeader("Content-Type", "application/soap+xml; charset=utf-8")
     #ifdef __XHARBOUR__
        oDOMDoc := xhb_CreateObject( "MSXML2.DOMDocument.5.0" )
     #else
        oDOMDoc := win_oleCreateObject( "MSXML2.DOMDocument.5.0")
     #endif
     oDOMDoc:async = .F.
     oDOMDoc:validateOnParse  = .T.
     oDOMDoc:resolveExternals := .F.
     oDOMDoc:preserveWhiteSpace = .T.
     oDOMDoc:LoadXML(cXML)
     IF oDOMDoc:parseError:errorCode <> 0 // XML não carregado
        cMsgErro := "Não foi possível carregar o documento pois ele não corresponde ao seu Schema"+HB_OsNewLine() + ;
                    " Linha: " + STR(oDOMDoc:parseError:line)+HB_OsNewLine() + ;
                    " Caractere na linha: " + STR(oDOMDoc:parseError:linepos)+HB_OsNewLine() + ;
                    " Causa do erro: " + oDOMDoc:parseError:reason+HB_OsNewLine() + ;
                    " Code: "+STR(oDOMDoc:parseError:errorCode)
        aRetorno['OK']       := .F.
        aRetorno['MsgErro']  := cMSgErro
        RETURN(aRetorno)
     ENDIF
     TRY
        oServerWS:send(oDOMDoc:xml)
     CATCH oError
       cMsgErro := "Falha: "+'Não foi possível conectar-se ao servidor do SEFAZ, Servidor inativou ou inoperante.' +HB_OsNewLine()+ ;
                   "Error: "  + Transform(oError:GenCode, nil) + ";" +HB_OsNewLine()+ ;
                    "SubC: "   + Transform(oError:SubCode, nil) + ";" +HB_OsNewLine()+ ;
                   "OSCode: "  + Transform(oError:OsCode,  nil) + ";" +HB_OsNewLine()+ ;
                   "SubSystem: " + Transform(oError:SubSystem, nil) + ";" +HB_OsNewLine()+ ;
                  "Mensangem: " + oError:Description
        aRetorno['OK']       := .F.
        aRetorno['MsgErro']  := cMSgErro
        RETURN(aRetorno)
     END
     DO WHILE oServerWS:readyState <> 4
        millisec(500)
     ENDDO
     cXMLResp := HB_ANSITOOEM(oServerWS:responseText)
   ENDIF
                                             
     cXMLResp := pegaTag(cXMLResp, "retConsNFeDest")

   MemoWrit("RetornoEnvio.xml" , cXMLResp )  // ISTO deixar até funcionar

   aRetorno['OK']     := .T.
   aRetorno['cStat']  := pegaTag(cXMLResp, "cStat")
   aRetorno['dhResp'] := pegaTag(cXMLResp, "dhResp")
   aRetorno['xMotivo']:= pegaTag(cXMLResp, "xMotivo")
   aRetorno['indCont']:= pegaTag(cXMLResp, "indCont")
   aRetorno['ultNSU'] := pegaTag(cXMLResp, "ultNSU")
   aRetorno['RetNFeDest']:= PrsAnsiToOem(cXMLResp)

   ::lAutorizada:= ( aRetorno['cStat'] $ "138" )

RETURN(aRetorno)


Qdo fizer as outras (download da NFe e manifestação) posto aqui, se alguem ainda não postou.
abraços
Devair
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 15
Data de registro: 22 Ago 2012 15:17
Cidade/Estado: tanabi,sp
Curtiu: 1 vez
Mens.Curtidas: 0 vez

hbNFe dúvidas

Mensagempor sygecom » 26 Mar 2013 11:19

CLIPEIRO escreveu:Localizei fontes do Fernando, de testes.exe no forum do clipper, baixei hbnfe.rar bem como
Link direto para 32bits: http://downloads.sourceforge.net/tortoi ... i?download

Baixe usando o TortoiseSVN que é onde tem os fontes mais atualizados do projeto.
https://hbnfe.svn.sourceforge.net/svnro ... code/trunk hbnfe-code

Ocorre que eu uso xHarbour 1.2.1 com lib gráfica : minigui extended.

O hbnfe não depende de LIB gráfica, ou seja, funciona tanto em modo texto como com lib gráficas( Hwgui, Minigui, Fivewin e etc...)

Observei no arquivo TODOS.TXT que para xHarbour ainda não tinham testes, neste topico, observei que o colega Hasa, utiliza algo parecido com o que eu uso. Tambem compilo com o HBMake.

Bai

Gostaria de saber se houve uma evolução para xHarbour, se algum colega teria interesse em me passar o codigo fonte e qual seria o custo para me auxiliar nisso.

100% funcionando com xHarbour. Infelizmente eu não tenho mais tempo para ajudar, casualmente agora estou parado esperando um cliente, e me sobrou um tempinho para passar rápido por aqui, mas vai postando suas duvidas, quem sabe mais gente pode ajudar.

Nota: Vou commitar agora alguns recursos novos no HBNFE( Cancelamento por evento, Manifestação do Destinatario, ajustes e correções.)

abraço a todos!
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
leonardodemachado@hotmail.com

Faça você também sua doação esse fórum é uma lenda viva: http://www.pctoledo.com.br/doacao
Avatar de usuário

sygecom
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 7017
Data de registro: 21 Jul 2006 10:12
Cidade/Estado: Alvorada-RS
Curtiu: 1 vez
Mens.Curtidas: 133 vezes

hbNFe dúvidas

Mensagempor CLIPEIRO » 27 Mar 2013 10:00

Prezados, bom dia!

Meu muito obrigado a quem pode comentar e pelas dicas e contatos oferecidos.

forte abraço
CLIPEIRO
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 5
Data de registro: 21 Jun 2011 00:28
Cidade/Estado: CURITIBA - PR
Curtiu: 0 vez
Mens.Curtidas: 0 vez

hbNFe dúvidas

Mensagempor runner » 02 Abr 2013 14:57

Ola, amigos.

Alguém está sabendo sobre o ajuste no cancelamento da NFe, que agora tem que ser por EVENTO usando a função CancelarNFeEvento().
Harbour 3.2 + Minigui Extended 16 + xDev
runner
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 69
Data de registro: 03 Ago 2007 05:17
Cidade/Estado: GUARULHOS-SP
Curtiu: 0 vez
Mens.Curtidas: 3 vezes

Anterior Próximo



Retornar para Projeto hbNFe

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 3 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro