kapiaba Posted December 2, 2009 Report Share Posted December 2, 2009 Emissor de Nota Fiscal Eletrônica - Erro inesperado na execução! Por acaso, alguém saberia me dizer do que se trata este erro? Se houver como corrigir, como faço? Gilmer, a classe está quebrando e não deixa continuar... Você já passou por isso? Como resolver? Abraços. João Santos - São Paulo. kmt_karinha@pop.com.br joao@pleno.com.br Fone: (11) 3106-2832 / 8243-5632 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
kapiaba Posted December 2, 2009 Author Report Share Posted December 2, 2009 Emissor de Nota Fiscal Eletrônica - Erro inesperado na execução! Por acaso, alguém saberia me dizer do que se trata este erro? Se houver como corrigir, como faço? Gilmer, a classe está quebrando e não deixa continuar... Você já passou por isso? Como resolver? Abraços. João Santos - São Paulo. kmt_karinha@pop.com.br joao@pleno.com.br Fone: (11) 3106-2832 / 8243-5632 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
kapiaba Posted December 2, 2009 Author Report Share Posted December 2, 2009 ERRO: INESPERADO AO TRATAR O XML DO WSOBJECT REFERENCE NOT SET TO AN INSTANCE OF AN OBJECT. TVONFEUTIL:BUSCANFE Que dureza! Abraços. João Santos - São Paulo. kmt_karinha@pop.com.br joao@pleno.com.br Fone: (11) 3106-2832 / 8243-5632 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
vailtom Posted December 2, 2009 Report Share Posted December 2, 2009 O .Net Framework tá instalado nesta CPU João? A dll está registrada corretamente e para a versão certa que vc está usando? Quote Link to comment Share on other sites More sharing options...
kapiaba Posted December 2, 2009 Author Report Share Posted December 2, 2009 citação:O .Net Framework tá instalado nesta CPU João? A dll está registrada corretamente e para a versão certa que vc está usando? id=quote>id=quote>YES, Friend!id=size5> Está correto no CLIENTE. Tudo funcionando corretamente... Em uma nota... Pimba! Erro muito louco! Abraços. João Santos - São Paulo. kmt_karinha@pop.com.br joao@pleno.com.br Fone: (11) 3106-2832 / 8243-5632 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
vailtom Posted December 2, 2009 Report Share Posted December 2, 2009 Acho que este pepino quem descasca é o suporte da flexdocs... Quote Link to comment Share on other sites More sharing options...
kapiaba Posted December 2, 2009 Author Report Share Posted December 2, 2009 citação:Acho que este pepino quem descasca é o suporte da flexdocs... id=quote>id=quote>Obrigado Vailton, vamos esperar o Gilmer ver... Seria interessante ele repassar isto ao pessoal da FLEXDOCS e ver a saida... VIA CLASSE. Por aqui, RESUELTO! Qualquer coisa, falar com Mister Paulo Araújo! Muchas gracias. Abraços. João Santos - São Paulo. kmt_karinha@pop.com.br joao@pleno.com.br Fone: (11) 3106-2832 / 8243-5632 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
pauloaraujo Posted December 3, 2009 Report Share Posted December 3, 2009 Amigos, Só para desabafar e deixar a solução do tópico. A maioria dos nossos clientes são empresas de cestas básicas e de natal. Nesta época do ano, cada uma delas chega a emitir cerca de 500 notas POR DIA. Umas mais e outras menos. A chance de dar algum problema é imensa, pois não depende só de nós. Estruturamos o nosso sistema marcando num BD cada fase do processo da NFe. Quando gerado, alteramos o status para "GER" e habilitamos o botão TRANSMITIR. Após transmitido, alteramos o status para "ENV" e habilitamos o botão CONSULTA LOTE. É aà que a coisa pegou. Em 2 clientes nossos a "mardita" da Sefaz retornou o número do RECIBO, com data e hora. Portanto, ela atestou que RECEBEU as Notas. Só que comprovadamente elas SUMIRAM na base de dados deles. Quando se consulta o lote num caso desses, fornecendo o número do recibo, dá o erro apontado pelo João. Só que nós não podemos simplesmente voltar o status para a fase anterior. A solução foi acrescentar a rotina abaixo num botão "Consulta Status". Ela, ANTES de "voltar" para o status inicial, pesquisa se a nota realmente está ou não na base do Sefaz. IF CADNFE->STATUS = "ENV" // nfe já transmitida oNFEUtil:=tVoNFeUtil():New(CADPARAM->UF,val(cTpAmb),cCertificado,wProxy,wUsuario,wSenha,cLicenca,.t.) NX := oNFEUtil:ConsultaStatus() If NX = 0 //-> nada a fazer ELSE TONE( 900, 2 ) DO CASE CASE NX = 105 cMensa := ( "em processamento na secretaria da fazenda" ) CASE NX = 107 cMensa := ( "Serviço Paralisado Momentaneamente (curto prazo) " ) CASE NX = 108 cMensa := ( "Serviço Paralisado Momentaneamente (curto prazo) " ) CASE NX = 109 cMensa := ( "Serviço Paralisado sem Previsão de Retorno " ) CASE NX = 281 cMensa := ( "Rejeição: Certificado Transmissor Data Validade" ) OTHERWISE cMensa := OemToAnsi( "Problemas na TransmissÆo/ConexÆo. " + ; "Internet Pode Estar com Problemas." ) ENDCASE oMensa:Refresh() oRetorno:Refresh() oRecibo:Refresh() oDetalhes:Refresh() //-> Abre Notas Fiscais SELECT CADNFE //-> permanecer somente consulta lote/status habilitado lGerar := .F. lTransmite := .F. lConsulta := .T. lCancela := .F. lConsStatus := .T. RETURN NIL ENDIF SELECT CADNFE cChaveAcesso:=alltrim(CADNFE->CHAVEACES) cMensa:="";cRetorno:="";xRecibo:="";cDetalhes:="" oMensa:Refresh() oRetorno:Refresh() oRecibo:Refresh() oDetalhes:Refresh() carq:="REMESSA\nfe"+cChaveAcesso+"-nfe.xml" cXmlAssinado:="" cRecibo:="" nRet:=oNfeUtil:ConsultaNf(cChaveAcesso,cXmlAssinado) IF oNfeUtil:lAutorizada // nota está na SEFAZ wtexto:=oNfeUtil:aUltStatus[3] wpos:=AT("",wTexto)+7 nProtocolo := SUBSTR( wTexto, wPos, 15 ) wposData := AT( "", wTexto ) + 10 cDataNfe := SUBSTR( wtexto, wposData, 10 ) wposHora := AT( "", wTexto ) + 21 cHoraNfe := SUBSTR( wtexto, wposHora, 8 ) cXmlRemessaSemestarassinado:=oNfeUtil:ReadXml(cArq) cXmlAssinado:=Space(Len(cXmlRemessaSemestarassinado)) oNfeUtil:Assinar(cXmlRemessaSemestarassinado ,"infNFe", @cXmlAssinado) nRet:=oNfeUtil:ConsultaNf(cChaveAcesso,cXmlAssinado) oNfe := TVoNFe():New() oNfe:PegaChaveAcesso(cXmlAssinado) oNFe:SaveXml(,cXmlAssinado, 2 ) //-> Enviadas - Funcionou OK oNFe:SaveXml(,oNfeUtil:cXmlProtocolo, 3 ) //-> Protocolos SELECT CADNFE RLOCK() REPL PROTOCOLO WITH nProtocolo REPL PROTODATA WITH CTOD(SUBS(cDataNfe,9,2)+"/"+SUBS(cDataNfe,6,2)+"/"+SUBS(cDataNfe,1,4)) REPL PROTOHORA WITH cHoraNfe REPL STATUS WITH "APR" REPL RETNFE WITH "TR" COMMIT UNLOCK TONE( 900, 2 ) cMensa := OemToAnsi( "CLIENTE: " ) + NOME_CLIENTE_VIEW() + " - " + ; + VERIFICA_STATUS_CLIENTE() cRetorno := "PROT: " + ALLTRIM( CADNFE->PROTOCOLO ) xRecibo := "REC.: " + ALLTRIM( CADNFE->RECIBO ) cChave := ALLTRIM(CADNFE->CHAVEACES) cGerado := OemToAnsi( "Arquivo XML da Nota Fiscal Eletr“nica " + ; "Gerada, Est no Diret¢rio: " ) +CRLF+CRLF cBackup := OemToAnsi( "Recomenda‡Æo: " +CRLF+CRLF+ ; "Altamente recomend vel, que se fa‡a, " + ; "C¢pia de Seguran‡a(BACKUP) Di ria, " + ; "em um PENDRIVE. " +CRLF+ ; "Vocˆ pode usar o BRAZIP.EXE ou o " + ; "WINZIP.EXE ou o PKZIP.EXE " + ; "Estes compactadores de Arquivos, sÆo " + ; "gratuitos e podem ser(em) baixados " + ; "em: http://www.baixaki.com.br " +CRLF+CRLF+ ; "Contato Sistemas e Processamentos @" + ; ALLTRIM( STR( D_ANO ) ) + " - " + ; "http://www.pleno.com.br " +CRLF+ ; "Todos os direitos reservados." ) // cXml := cPathNFe := CURDRIVE() + ":\" + GETCURDIR() + ; "\REMESSA\ENVIADAS\" + ; ALLTRIM( cChave ) + ; "nfe.xml" + CRLF + CRLF + ; "DATA: " + ; DTOC(CADNFE->DATA ) + ; + " - " + ; "HORA: " + ; CADNFE->HORA + ; + " - " + ; "PROTOCOLO: " + ; CADNFE->PROTOCOLO + ; + CRLF + ; "DATA PROT: " + ; DTOC( CADNFE->PROTODATA ) + ; + " - " + ; "HORA PROT: " + ; CADNFE->PROTOHORA +CRLF + ; "RECIBO: " + ; CADNFE->RECIBO +CRLF+CRLF cDetalhes := cGerado + cXml + cbackup oMensa:Refresh() oRetorno:Refresh() oRecibo:Refresh() oDetalhes:Refresh() // desligar: gerar / transmitir / consulta lote // habilitar imprimir danfe lDanfe := .T. lGerar := .F. lTransmite := .F. lConsulta := .F. lCancela := .F. lConsStatus := .F. oBmp4:Disable() oBmp4:Refresh() ELSE IF nRet = 105 .OR. nRet = 108 .OR. nRet = 109 DO CASE CASE nRet = 105 cMensa := ( "Em Processamento na Sefaz. Tente Novamente " ) CASE nRet = 108 cMensa := ( "Serviço Paralisado Momentaneamente (curto prazo) " ) CASE nRet = 109 cMensa := ( "Serviço Paralisado sem Previsão de Retorno " ) ENDCASE // nada a fazer, permanecer na consulta de lote lGerar := .F. lTransmite := .F. lConsulta := .T. lCancela := .F. lConsStatus := .F. oBmp4:Enable() oBmp4:Refresh() oMensa:Refresh() oRetorno:Refresh() oRecibo:Refresh() oDetalhes:Refresh() //-> Abre Notas Fiscais SELECT CADNFE RETURN ( .F. ) ELSE // retornar SELECT CADNFE RLOCK() REPL STATUS WITH " " REPL RETNFE WITH "NT" COMMIT UNLOCK // desligar: transmitir / consulta lote // habilitar: gerar lGerar := .T. lTransmite := .F. lConsulta := .F. lCancela := .F. lConsStatus := .F. oBmp4:Disable() oBmp4:Refresh() ENDIF ENDIF ENDIF id=code>id=code> Editado por - pauloaraujo on 03/12/2009 10:56:40 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted December 3, 2009 Author Report Share Posted December 3, 2009 RESOLVIDOid=size5> Abraços. João Santos - São Paulo. kmt_karinha@pop.com.br joao@pleno.com.br Fone: (11) 3106-2832 / 8243-5632 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.