Jump to content
Fivewin Brasil

Ajuda Urgente


informax

Recommended Posts

na classe faz esse ajuste

 

METHOD StruFatura(oitem) CLASS TVoNFe2G
   local axArray := {}

   aadd(axArray, {"nFat"   , TVoNFeItem():New("C", 1, 1, 60, 0, ,oItem:nFat )  }  )
   aadd(axArray, {"vOrig"  , TVoNFeItem():New("N", 1, 15,15 , 2,,oItem:vOrig )  }  )
   aadd(axArray, {"vDesc"  , TVoNFeItem():New("N", 1, 15,15 , 2,,oItem:vDesc )  }  )
   aadd(axArray, {"vLiq"   , TVoNFeItem():New("N", 1, 15,15 , 2,,oItem:vLiq)  }  )


return( axArray )
 

ele grava o Vdesc mesmo com valor 0.00, no meu antes estava gravando só se o Vdesc fosse # de zero, ai ajustei ele gravou com ZERO, e parou de dar o erro.

 

 

Link to comment
Share on other sites

no caso da fatura, tem o vDesc, que deve ter presença no xml obrigatória, mas parece que existe algum erro nos arquivos da receita federal, porque ao colocar vDesc:=0.00, dá erro

 

então, eu acrescentei R$ 0,01 (um centavo) no valor original da fatura (vOrig), e na tag, <vDesc> coloquei 0.01

e no valor liquido (vLiq) coloquei o valor final.

e deu certo.

 

Vai entender.

 

 

Link to comment
Share on other sites

 

Boa tarde a Todos,

gostaria muito da ajuda de alguém ou vou acabar perdendo Clientes. Até hoje não consigo fazer o XML funcionar. O Validador mais completo diz que o Grupo Fatura não foi informado.

POR FAVOR GENTE. BATEU O DESESPERO.

 

 

 

35180904657443000100550010000003961549988569nfe.xml

Amigo, vc ainda não resolveu a parada??

Link to comment
Share on other sites

Para que possamos te ajudar, precisamos de algumas informações :

Qual ferramenta utiliza para gerar o Arquivo Xml ? (Exemplo: "Classe do Gilmer com FlexDocs", "ACBR Monitor"...)

Qual o Ambiente que está trabalhando ? ("Produção", "Homologação" ou "Ambos")

É gerado algum Arquivo de Erro ? (Validaxml, Erro_??.Log"...)

Nos passe o máximo de informação pertinente possível para tentarmos encontrar a solução.

Abrs.

Link to comment
Share on other sites

Verificando o seu Arquivo Xml, reparei que está faltando a Tag < IndPag>

Veja como está informando:

-<pag>
-<detPag>
<tPag>15</tPag>
<vPag>12045.00</vPag>
</detPag>
</pag>


E deveria ser assim:

-<pag>
-<detPag>
<indPag>1</indPag>  ==>> Aqui
<tPag>15</tPag>
<vPag>12045.00</vPag>
</detPag>
</pag>

 

Link to comment
Share on other sites

Amigo

 

Peguei teu arquivo,  fiz algumas alterações para poder submeter ao sefaz via ACBR.

Chave de acesso

Grupos: ide, emit.

Passou normalmente sem mexer em mais nada, então, se tiver algum problema, deve estar nestes grupos, embora o acbr quando a gente valida, ele faz pequenas correções no xml.

Uma ideia pra vc.

Instale o acbr, configure e submeta via comando:  NFe.EnviarNFe("nome do arquivo completo",1,1,1,0,1), pois se tiver algum problema, ele deve apontar.

 

[]s,

 

 

Link to comment
Share on other sites

Esse é o erro que dá na Validação, mesmo passando o parâmetro 68;

TVONFEUTIL2G:CONSULTASTATUS
TVONFEUTIL2G:CONSULTANF
215 - Rejeição: Falha no schema XML
<retConsStatServ versao="3.10" xmlns="http://www.portalfiscal.inf.br/nfe"><tpAmb>1</tpAmb><verAplic>SP_NFE_PL_008i2</verAplic><cStat>215</cStat><xMotivo>Rejeição: Falha no schema XML</xMotivo><cUF>35</cUF><dhRecbto>2018-09-21T09:34:14-03:00</dhRecbto></retConsStatServ>

Indica a Versão 3.10. existe algum outro parametro que deve ser passado?

 

Link to comment
Share on other sites

 

Esse é o erro que dá na Validação, mesmo passando o parâmetro 68;

TVONFEUTIL2G:CONSULTASTATUS
TVONFEUTIL2G:CONSULTANF
215 - Rejeição: Falha no schema XML
<retConsStatServ versao="3.10" xmlns="http://www.portalfiscal.inf.br/nfe"><tpAmb>1</tpAmb><verAplic>SP_NFE_PL_008i2</verAplic><cStat>215</cStat><xMotivo>Rejeição: Falha no schema XML</xMotivo><cUF>35</cUF><dhRecbto>2018-09-21T09:34:14-03:00</dhRecbto></retConsStatServ>

Indica a Versão 3.10. existe algum outro parametro que deve ser passado?

 

Informax, boa noite. O erro não pode ser este, exceto se vc usou arquivo errado, pois, veja que a versão está como 3.10, quando na verdade o arquivo dele está com 4.00, veja:

<infNFe versao="4.00" Id="NFe35180904657443000100550010000003961549988569">

[]s,

 

Link to comment
Share on other sites

TVONFEUTIL2G:CONSULTASTATUS
TVONFEUTIL2G:CONSULTANF

	Method ConsultaStatus() Class TVoNFeUtil2G
	   Local nRet := 1
   Local msgCabec:="",msgDados:="",msgRetWS:=""
   Local mensagem:=""
	   If ::CertificadoSelecionado()
	      Try
	         DO CASE
         CASE lNovaDll4  // versao nova
            nRet:=::oNFEUtil:ConsultaStatus2G(::SiglaWS,::SiglaUF,::Ambiente,::cCertificado, "4.00", @msgDados,@msgRetWS,@mensagem,::Proxy,::Usuario,::Senha)
         OTHE
            nRet:=::oNFEUtil:ConsultaStatus2G(::SiglaWS,::SiglaUF,::Ambiente,::cCertificado, "3.10", @msgDados,@msgRetWS,@mensagem,::Proxy,::Usuario,::Senha)
         ENDCASE
	      Catch
	         // ESTA EM: DBMANUT2.PRG
         // AVISAR_PARAMETROS_WS()  // ALGUM ERRO OCORREU NA MAQUINA OU SEFAZ.
	         ? "Montar aviso de parametros"
	         Return(.f.)
	      End Try
	//
	// Consulta nf pela chave
Method ConsultaNF(ChaveNFe,cXmlAssinado,wFlagGravar) Class TVoNFeUtil2G
	   Local nRet:=1
   Local msgRetWS:=""
   Local mensagem:=""
   Local msgDados:=""
   Local cParteXml,cPartecStat
   Local nPos,nPosIni,nPosFin
	   // isto na existe mais na nova versao 3.10 - ENTRA NO ELSE DA 2.00
   Private cVersaoNfeConsulta:= "2.01"  // criado em 28/06/2012
	   Default cXmlAssinado:=""
   Default ChaveNFe := ""
	   if wFlagGravar=NIL  // alterado em 12/03/2015 - Paulo
      wFlagGravar=.T.
   endif
	   ::Limpa()
	   // Em: 12/03/2014 o Gilmer Recomendou colocar:
   HB_GCALL( .F. )
	   IF lNovaDll4
	      If ::CertificadoSelecionado()
	         If ::ConsultaStatus()
	            Try
                                                                              // 3.10 no original
               nRet := ::oNFEUtil:ConsultaNF2G(::SiglaWS,::Ambiente,::cCertificado,::cVersaoNfe,@msgDados,@msgRetWS,@mensagem,ChaveNFe,::Proxy,::Usuario,::Senha)
	            Catch
	               ? "Montar aviso de parametros na Linha 1127 VONFEUTIL2G - ConsultaNF"
	               Return(.f.)
	            End Try
	            //::lAutorizada := ( nRet==100.or.nRet==101 )  // Original Gilmer
            ::lAutorizada := ( strzero(nret,3,0) $ "100/101/151/135/155/420" ) // Paulo
	            ::aUltStatus:={msgDados, msgRetWS}
            ::cStsNFe     := LerTag(msgRetWS, "cStat")
            ::cStsNFeMsg  := Mensagem   // Original Gilmer - Mantive
            //::cStsNFeMsg  := LerTag(msgRetWS, "xMotivo") // Era assim na 2.00
	            If !::lAutorizada
	               ::GeraLog( Mensagem+CRLF+msgRetWS )
	               If ::lMensagem
	                  #IFDEF __DOS__
                     Alert( hb_ansitooem( Mensagem+"-"+Procname() ) )
                  #ELSE
                     MsgStop( Mensagem+CRLF+ProcName() , CAPTION_MSG )
                  #ENDIF
	               Endif
	            Else
	               ::Protocolo   := LerTag(msgRetWS, "nProt")
               ::Recebimento := LerTag(msgRetWS, "dhRecbto")
	               If ::lAutorizada.and.!Empty(cXmlAssinado)
	                  cXmlAssinado:=::ReadXml(cXmlAssinado)
                  cparteXml:=::aUltStatus[2]
                  nPos:=At("<infProt>",cParteXml)
                  cParteXml:=Substr(cParteXml,nPos,Len(cParteXml)-(nPos-1))
                    DO CASE
                    CASE lNovaDll4
                      cParteXml:='<protNFe versao="4.00" xmlns="http://www.portalfiscal.inf.br/nfe">'+cParteXml  // alterado em 11/02/2018 
                      cParteXml:=Strtran(cParteXml,"</retConsSitNFe>","")
                      cXmlAssinado:=StrTran(cXmlAssinado,"<NFe",'<nfeProc versao="4.00" xmlns="http://www.portalfiscal.inf.br/nfe">' +"<NFe")  // alterado em 11/02/2018
                  OTHE
                      cParteXml:='<protNFe versao="3.10" xmlns="http://www.portalfiscal.inf.br/nfe">'+cParteXml
                      cParteXml:=Strtran(cParteXml,"</retConsSitNFe>","")
                      cXmlAssinado:=StrTran(cXmlAssinado,"<NFe",'<nfeProc versao="3.10" xmlns="http://www.portalfiscal.inf.br/nfe">' +"<NFe")
                  ENDCASE
	                  ::cXmlProtocolo:=StrTran(cXmlAssinado,"</NFe>","</NFe>"+cParteXml+"</nfeProc>")
                  // Remove CR+LF
                  ::cXmlProtocolo:=StrTran(::cXmlProtocolo,Chr(13))
                  ::cXmlProtocolo:=StrTran(::cXmlProtocolo,Chr(10))
	                  if wFlagGravar  // alterado em 12/03/2015 - Paulo
	                      If ::lSalvaXmlAutomatico
    
                         ::cChaveNfe:=ChaveNfe
    
                         If !::SalvaXml(::cChaveNfe+"-nfe.xml",::cXmlProtocolo,3)
    
                            ::Geralog("Não foi possível salvar XML Protocolado:"+::cChaveNfe+CRLF)
    
                            #IFDEF __DOS__
                               Alert( hb_ansitooem( "Não foi possível salvar XML Protocolado:"+::cChaveNfe+"-"+Procname() ) )
                            #ELSE
                               MsgStop( "Não foi possível salvar XML Protocolado:"+::cChaveNfe+"-"+CRLF+ProcName() , CAPTION_MSG)
                            #ENDIF
    
                         Endif
    
                      Endif
                      
                  Endif
	               Endif
	            Endif
	         Endif
	      Endif
	   ELSE // ERA ASSIM NA VERSAO 2.10 - 20/10/2014
	      If ::CertificadoSelecionado()
	         If ::ConsultaStatus( .t. )  // alterado em 20/11/2010
	            // nRet := ::oNFEUtil:ConsultaNF2G(::SiglaWS,::Ambiente,::cCertificado,cVersaoNfeConsulta,@msgDados,@msgRetWS,@mensagem,ChaveNFe,::Proxy,::Usuario,::Senha)
	            // nRet := ::oNFEUtil:ConsultaNF2G(::SiglaWS,::Ambiente,::cCertificado,::cVersaoNfe,@msgDados,@msgRetWS,@mensagem,ChaveNFe,::Proxy,::Usuario,::Senha)
	            Try  // COLOQUEI UM TRY AQUI
                                                                              // 3.10 no original
               nRet := ::oNFEUtil:ConsultaNF2G(::SiglaWS,::Ambiente,::cCertificado,cVersaoNfeConsulta,@msgDados,@msgRetWS,@mensagem,ChaveNFe,::Proxy,::Usuario,::Senha)
	            Catch
	               ? "Montar aviso de parametros na Linha 1217 VONFEUTIL2G - ConsultaNF"
	               Return(.f.)
	            End Try
	            If nRet>=1
	               If ::lMensagem
	                  #IFDEF __DOS__
                     Alert( hb_ansitooem( Mensagem+"-"+Procname() ) )
                  #ELSE
                     // mudei em 22/12/2011 - Joao
                     //MsgStop( Mensagem+CRLF+ProcName() , CAPTION_MSG )
	                     MsgWait( Mensagem+CRLF+ProcName() , CAPTION_MSG )
	                  #ENDIF
	                  MemoWrit("ConsultaNF.Log",MsgRetWs)
	               Endif
	            Endif
        
            ::aUltStatus:={msgDados, msgRetWS}
            ::cStsNFe     := LerTag(msgRetWS, "cStat")
            ::cStsNFeMsg  := LerTag(msgRetWS, "xMotivo")
	            // --------------------------------------------------------------------------------
            // alterado em 27/07/2013 - Paulo - classe passou a retornar  cStsNFe  VAZIA
            // ::lAutorizada := ( ::cStsNFe $ "100/101/151/135/155/420" )  ->
	            ::lAutorizada := ( strzero(nret,3,0) $ "100/101/151/135/155/420" )
	            //   --------------------------------------------------------------------------------
            ::Protocolo   := LerTag(msgRetWS, "nProt")
            ::Recebimento := LerTag(msgRetWS, "dhRecbto")
    
            If ::lAutorizada.and.!Empty(cXmlAssinado)
	               cXmlAssinado:=::ReadXml(cXmlAssinado)
               // cParteXml:=Substr(::aUltStatus[3],At("?>",::aUltStatus[3])+2)
               cParteXml:=Substr(::aUltStatus[2],At("?>",::aUltStatus[2])+2)  // alterado em 20/11/2010
               cParteXml:=Strtran(cParteXml,"retConsSitNFe","protNFe")
               cParteXml:=Strtran(cParteXml,"1.07","1.10")
               nPosIni:=At("<cUF>",cParteXml)
               nPosFin:=At("</cUF>",cParteXml)
               cParteXml:=Left(cParteXml,nPosIni-1)+Substr(cParteXml,nPosFin+6)
               nPosIni:=At("<cStat>",cParteXml)
               nPosFin:=At("</xMotivo>",cParteXml)
               cPartecStat:=Substr(cParteXml,nPosIni,(nPosFin+10)-nPosIni)
               cParteXml:=Strtran(cParteXml,cPartecStat,"")
               nPos:=At("</digVal>",cParteXml)+9
               cParteXml:=Left(cParteXml,nPos-1)+cPartecStat+Substr(cParteXml,nPos)
	               if at("</protNFe></protNFe>",cParteXml)=0
	                  cXmlAssinado:=StrTran(cXmlAssinado,"<NFe",'<nfeProc xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.10">' +"<NFe")
	                  ::cXmlProtocolo:=StrTran(cXmlAssinado,"</NFe>","</NFe>"+cParteXml+"</nfeProc>")
	               else
	                  wposremove_i:= at('</chNFe>',cParteXml)
                  wposremove_f:= len(cParteXml)
	                  cParteXml:= subs(cParteXml,wposremove_i+8,(wposremove_f-wposremove_i)+1)
                  cParteXml:=Strtran(cParteXml,"</protNFe></protNFe>","</protNFe>")
                  cParteXml:=Strtran(cParteXml,'<protNFe versao="2.00">','<protNFe versao="2.00" xmlns="http://www.portalfiscal.inf.br/nfe">')
                  cXmlAssinado:=StrTran(cXmlAssinado,"<NFe",'<nfeProc xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.10">' +"<NFe")
	                  ::cXmlProtocolo:=StrTran(cXmlAssinado,"</NFe>","</NFe>"+cParteXml+"</nfeProc>")
	               endif
	               // Remove CR+LF
               ::cXmlProtocolo:=StrTran(::cXmlProtocolo,Chr(13))
               ::cXmlProtocolo:=StrTran(::cXmlProtocolo,Chr(10))
	            Endif
	         Endif
	      Endif
	   ENDIF


 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...