Página 1 de 1

Erro tag urlchave em branco - Nfce Rs

Enviado: 16 Jan 2025 14:39
por malcarli
Boa tarde Mestre Quintas, após a última atualização da classe, fui instalar em um cliente no RS, e o mesmo está dando erro na tag urlchave que está sem contéudo, para nfce. Voltei no cliente a versão anterior do meu app com a classe antiga e funcionou. Poderia verificar se tem algum erro na classe ou que tenha sido implementado um novo parâmetro que preciso setar? obg

xml gerado com a classe antiga:

Código: Selecionar todos

<infNFeSupl>
<qrCode>
<![CDATA[ https://www.sefaz.rs.gov.br/NFCE/NFCE-COM.aspx?p=43250143631419000154650010000043321010005280|2|1|8|3400EA9C465936BF1557495E83DE25B0D8C23DD1 ]]>
</qrCode>
<urlChave>http://www.sefaz.rs.gov.br/nfce/consulta</urlChave>
</infNFeSupl>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<Reference URI="#NFe43250143631419000154650010000043321010005280">
<Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
<Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<DigestValue>xh302ckSnucLqAUrZv8xzyHbzOw=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>LrOqFvk4KtvQCEb4rFXwUvobo16Bwkk6S3VLEvglaCSdIKxjigTlBnh/YWBz0kg386SnzosX0d/+xIS7x2DbglOyYtuAQv2zGSQcbKV9aLLn7b/+hUn6Ceq3NtA1u8aO3jcah0vwV/fAI4VQJkwGdEVpQrRYlYDGkjn5gNaGy0SJETRu0fn/eidSv6oDuu0xS960ndYMkzqumpKuLj/b0MHkAqF4HZpsK07zrK9oeQma1i7k7dHcc0pYc/dMPtSlLyoMeJMs/xyQdOUgqcQm50Oh2fODQroozf+r7uNG6C9nah4BHXRTO5OnPhx644EPViRJwWGLRxwU8uAW4j/Khg==</SignatureValue>
<KeyInfo>
<X509Data>
<X509Certificate>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</X509Certificate>
</X509Data>
</KeyInfo>
</Signature>
</NFe>
<protNFe versao="4.00">
<infProt Id="ID243250093554269">
<tpAmb>1</tpAmb>
<verAplic>RSnfce2412041335DR</verAplic>
<chNFe>43250143631419000154650010000043321010005280</chNFe>
<dhRecbto>2025-01-15T12:09:32-03:00</dhRecbto>
<nProt>243250093554269</nProt>
<digVal>xh302ckSnucLqAUrZv8xzyHbzOw=</digVal>
<cStat>100</cStat>
<xMotivo>Autorizado o uso da NF-e</xMotivo>
</infProt>
</protNFe>
</nfeProc>
xml gerado com a última versão da classe, que está com a tag urlchave em branco

Código: Selecionar todos

<infNFeSupl>
<qrCode>
<![CDATA[ https://www.sefaz.rs.gov.br/NFCE/NFCE-COM.aspx?p=43250143631419000154650010000043341010005284|2|1|8|10125ECA3366AA24C092EF73FFCD7595242206F8 ]]>
</qrCode>
<urlChave/>
</infNFeSupl>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<Reference URI="#NFe43250143631419000154650010000043341010005284">
<Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
<Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<DigestValue>bgFKe+zMiSyMVAZNxoTIjbutrp4=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>KhrnwpCzdJh4aoI3LPhwDuZ6qVFQoxJ6lt6d4PhSBTd6FTVFLsV6eLKfn3Nz85T3NxojNozYIbLrN177nJIdZ1qoxnTmRYSSRDrmx9HdQMWj/Cvgp7U7dg+bCCaiiUewLlWe8kRVaidjqkfIzF6rlHEE0PDAuKosKzajQrXG+PeQp9g+4jWUPvmtQ2u6el5EImvRtObaCluuYpv/dNJXxZ8yA3uWpA5gHyGiyiZoJRGGN4Vvtnp3b+tdE9Uxs+b3VZk/cxdlCoAHzBFhsNJVjAPyngULkus3spmZO7DkG2R/kBrh6krrCLfbn3QZ5EAjOhjuZt3ZveH0bD/5fzIhqw==</SignatureValue>
<KeyInfo>
<X509Data>
<X509Certificate>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</X509Certificate>
</X509Data>
</KeyInfo>
</Signature>
</NFe>


Erro tag urlchave em branco - Nfce Rs

Enviado: 16 Jan 2025 16:22
por JoséQuintas
Aqui corrido, vi agora, vou verificar.
A princípio só pode ser algo no sefazclass.ch, é de lá que vém esse endereço.

Erro tag urlchave em branco - Nfce Rs

Enviado: 16 Jan 2025 16:27
por JoséQuintas
ch.png
Aqui está ok.
Olhar o outro agora.

Erro tag urlchave em branco - Nfce Rs

Enviado: 16 Jan 2025 17:58
por JoséQuintas
Não detectei problema, a não ser o xml meio doido com procNFe, e sem fechar tag.

Ajustei o XML e deu certo, não mexi em nada, exceto uma melhoria no módulo de envio.

Código: Selecionar todos

   IF XmlNode( cXml, "mod" ) == "65"
      ::lConsumidor := .T.
   ENDIF
pra detectar automaticamente nf consumidor.

Fiz isso pra poder usar o programa teste da sefazclass.

compilei com fontes sefazclass e debug

Código: Selecionar todos

hbmk2 test ..\source\*.prg -b
envio.png
após selecionar certificado, acionei o envio de disco.

No debug:

Código: Selecionar todos

? hb_MemoWrit( "d:\temp\testd.xml", oSefaz:cXmlDocumento )
E xml com qrcode e chave
valida.png
Na dúvida até conferi.
Lógico, o que mostra erro é que usei certificado de outra empresa
valida2.png
Não sei o que dizer, aqui gerou com a chave.
Veja os parametros que chegam na parte do qrcode, talvez alguma incompatibilidade.
Antes precisava "SVRS" e agora a seleção é totalmente automática.

Erro tag urlchave em branco - Nfce Rs

Enviado: 16 Jan 2025 18:03
por JoséQuintas
fonte.png
Nessa parte, no ze_sefaz_nfeenvio.prg

Coloque MsgBox() ou algo parecido pra ver o conteúdo de cUF e cVersaoQrCode

O conteúdo deverá ser RS (obtido do xml) e 2.00, que é o default.

Erro tag urlchave em branco - Nfce Rs

Enviado: 16 Jan 2025 18:36
por JoséQuintas
Testei com XML errado.

Aqui isto impediu o qrcode/chave:

Código: Selecionar todos

   IF ! Empty( QRCODE_chNFe ) ;
      .AND. ! Empty( QRCODE_nVersao ) ;
      .AND. ! Empty( QRCODE_tpAmb ) ;
      .AND. ! Empty( QRCODE_dhEmi ) ;
      .AND. ! Empty( QRCODE_vNF ) ;
      ; // .AND. ! Empty( QRCODE_vICMS ) ; // 2024.07.20 sem ICMS ok
      .AND. ! Empty( QRCODE_digVal  ) ;
      .AND. ! Empty( QRCODE_cIdToken ) ;
      .AND. ! Empty( QRCODE_cCSC  )
Testei sem idtoken e sem csc

Erro tag urlchave em branco - Nfce Rs

Enviado: 16 Jan 2025 19:03
por JoséQuintas
Sei lá...
Alterei pra colocar zeros se não informar isso.
E a melhoria que mencionei de detectar nf consumidor pelo xml.
Fiz isso pra poder testar e deixei depois do teste.
Talvez colocar como default.

https://github.com/JoseQuintas/sefazcla ... 3bf7867964

Erro tag urlchave em branco - Nfce Rs

Enviado: 16 Jan 2025 19:12
por JoséQuintas
Refeito.
Colocado zerado como default, e removido tudo que é teste.
Muito mais simples assim.

https://github.com/JoseQuintas/sefazcla ... cf15d2555f

Fiz assim porque lembrei que com a nova lei, algumas UFs dispensaram registro.
Supõe-se que vai ficar com zeros.
Já fica pronto pra 2025/2026.

Atenção:
O problema não tem a ver com mudança de versão de sefazclass.
Isso tudo era obrigatório antes.
A mudança foi pro meu teste, e já vai vaier pra próximas notas possivelmente sem idtoken e csc.

Então... não sei o que aconteceu por aí.

Erro tag urlchave em branco - Nfce Rs

Enviado: 16 Jan 2025 19:26
por JoséQuintas
Note que com a versão do ano passado, tudo isto virou lixo, está apenas como compatibilidade.

Código: Selecionar todos

   /* obsoleto / compatibilidade */
   METHOD cIndSinc( cValue )                SETGET
   METHOD cFusoHorario                      SETGET
   METHOD cNFCe                             SETGET
   METHOD lSincrono                         SETGET
   METHOD CTeConsultaProtocolo( ... )       INLINE ::CTeProtocolo( ... )
   METHOD CTeConsultaRecibo( ... )          INLINE ::CTeRetEnvio( ... )
   METHOD CTeLoteEnvia( cXml, cLote, ... )  INLINE (cLote),::CTeEnvio( cXml, ... )
   METHOD CTeStatusServico( ... )           INLINE ::CTeStatus( ... )
   METHOD NFeLoteEnvia( cXml, cLote, ... )  INLINE (cLote), ::NFeEnvio( cXml, ... )
   METHOD NFeConsultaRecibo( ... )          INLINE ::NFeRetEnvio( ... )
   METHOD NFeConsultaProtocolo( ... )       INLINE ::NFeProtocolo( ... )
   METHOD NFeStatusServico( ... )           INLINE ::NFeStatus( ... )
   METHOD NFeConsultaCadastro( ... )        INLINE ::NFeCadastro( ... )
   METHOD NFeConsultaGTIN( ... )            INLINE ::NFeGTIN( ... )
   METHOD NFeDistribuicaoDFe( ... )         INLINE ::NFeDistribuicao( ... )
   METHOD NFeConsultaDest( ... )            INLINE ::NfeDestinadas( ... )
   METHOD MDFeLoteEnvia( cXml, cLote, ...)  INLINE (cLote), ::MDFeEnvio( cXml, ... )
   METHOD MDFeConsultaRecibo( ... )         INLINE ::MDFeRetEnvio( ... )
   METHOD MDFeConsultaProtocolo( ... )      INLINE ::MDFeProtocolo( ... )
   METHOD MDFeStatusServico( ... )          INLINE ::MDFeStatus( ... )
   METHOD MDFeConsNaoEnc( ... )             INLINE ::MDFeEmAberto( ... )
   METHOD MDFeDistribuicaoDFe( ...)         INLINE ::MDFeDistribuicao( ... )
   METHOD MDFeEventoInclusaoCondutor( ... ) INLINE ::MDFeCondutor( ... )
   METHOD NFeStatusServicoSVC( ... )        INLINE ::NFeStatusSVC( ... )

Erro tag urlchave em branco - Nfce Rs

Enviado: 16 Jan 2025 19:32
por JoséQuintas
Mais um pra virar lixo nessa lista

Código: Selecionar todos

FUNCTION ze_Sefaz_NFeStatusSVC( Self, cUF, cCertificado, cAmbiente )

   ze_Sefaz_NfeStatus( Self, cUF, cCertificado, cAmbiente, .T. )

   RETURN ::cXmlRetorno

Erro tag urlchave em branco - Nfce Rs

Enviado: 17 Jan 2025 09:30
por malcarli
obrigado. Testei e funcionou agora

Erro tag urlchave em branco - Nfce Rs

Enviado: 17 Jan 2025 12:14
por JoséQuintas
Então não tem a ver com versão.
É uma informaçào que sempre foi obrigatória.
Tanto versão antiga quanto nova, teria que preencher.

Como virou opcional, era preencher com zeros.
O que mudei agora foi apenas pra iniciar com zeros, o que deixa pronto pra esse novo opcional de 2025.

Não faz sentido dizer que funcionava com versão anterior, porque a regra sempre foi a mesma.

Mesmo assim valeu, acabei melhorando o envio pra detectar automático se é NFCe.
Dá pra fazer o mesmo em outros métodos, se é que já não fiz.