Ir para conteúdo
  • Cadastre-se

dev botao

Salvar XML antes de enviar


joaoelson
  • Este tópico foi criado há 2073 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Boa tarde.

Amigos estou com uma dúvida besta, mas gostaria de sanar com vocês.

Estou tentando salvar o xml antes de enviar. Para isso estou usando o seguinte código...

GerarNFe;
ACBrNFe.NotasFiscais.Assinar;
ACBrNFe.NotasFiscais.Validar;
SalvarXML;

No código salvar

 xml := ACBrNFe.NotasFiscais.Items[0].XML;

update .....campo=xml.....

A questão é que não estou obtendo o xml completo pelo código "ACBrNFe.NotasFiscais.Items[0].XML". O máximo que obtenho é até uma parte do xml, exatamente até a assinatura quem vem incompleta, ficando da seguinte forma:

<?xml version="1.0" encoding="UTF-8"?><NFe xmlns="http://www.portalfiscal.inf.br/nfe"><infNFe versao="4.00" Id="NFe11180705785944000135650010000001379000001371"><ide><cUF>11</cUF><cNF>00000137</cNF><natOp>VENDA AO CONSUMIDOR</natOp><mod>65</mod><serie>1</serie><nNF>137</nNF><dhEmi>2018-07-24T15:48:26-04:00</dhEmi><tpNF>1</tpNF><idDest>1</idDest><cMunFG>1100205</cMunFG><tpImp>4</tpImp><tpEmis>9</tpEmis><cDV>1</cDV><tpAmb>2</tpAmb><finNFe>1</finNFe><indFinal>1</indFinal><indPres>1</indPres><procEmi>0</procEmi><verProc>SQL1 1.262</verProc><dhCont>2018-07-24T15:08:03-04:00</dhCont><xJust>Problemas de conexao com a internet</xJust></ide><emit><CNPJ>05544444444</CNPJ><xNome>Empresa</xNome><xFant>Fantasia</xFant><enderEmit><xLgr>rua</xLgr><nro>2373</nro><xBairro>bairro</xBairro><cMun>1100205</cMun><xMun>cidade</xMun><UF>UF</UF><CEP>768000</CEP><cPais>1058</cPais><xPais>Brasil</xPais><fone>6666666</fone></enderEmit><IE>00000000099999</IE><IM>83333</IM><CNAE>4781400</CNAE><CRT>3</CRT></emit><det nItem="1"><prod><cProd>1</cProd><cEAN>SEM GTIN</cEAN><xProd>NOTA FISCAL EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL</xProd><NCM>62063000</NCM><CFOP>5102</CFOP><uCom>UNID</uCom><qCom>1.0000</qCom><vUnCom>1.0000000000</vUnCom><vProd>1.00</vProd><cEANTrib>SEM GTIN</cEANTrib><uTrib>UNID</uTrib><qTrib>1.0000</qTrib><vUnTrib>1.0000000000</vUnTrib><indTot>1</indTot></prod><imposto><vTotTrib>0.31</vTotTrib><ICMS><ICMS00><orig>0</orig><CST>00</CST><modBC>0</modBC><vBC>1.00</vBC><pICMS>17.5000</pICMS><vICMS>0.18</vICMS><pFCP>2.0000</pFCP><vFCP>0.02</vFCP></ICMS00></ICMS><PIS><PISOutr><CST>49</CST><vBC>0.00</vBC><pPIS>0.0000</pPIS><vPIS>0.00</vPIS></PISOutr></PIS><COFINS><COFINSOutr><CST>49</CST><vBC>0.00</vBC><pCOFINS>0.0000</pCOFINS><vCOFINS>0.00</vCOFINS></COFINSOutr></COFINS></imposto></det><total><ICMSTot><vBC>1.00</vBC><vICMS>0.18</vICMS><vICMSDeson>0.00</vICMSDeson><vFCP>0.02</vFCP><vBCST>0.00</vBCST><vST>0.00</vST><vFCPST>0.00</vFCPST><vFCPSTRet>0.00</vFCPSTRet><vProd>1.00</vProd><vFrete>0.00</vFrete><vSeg>0.00</vSeg><vDesc>0.00</vDesc><vII>0.00</vII><vIPI>0.00</vIPI><vIPIDevol>0.00</vIPIDevol><vPIS>0.00</vPIS><vCOFINS>0.00</vCOFINS><vOutro>0.00</vOutro><vNF>1.00</vNF><vTotTrib>0.31</vTotTrib></ICMSTot></total><transp><modFrete>9</modFrete></transp><pag><detPag><indPag>0</indPag><tPag>01</tPag><vPag>1.00</vPag></detPag></pag><infAdic><infAdFisco>Informacoes fisco</infAdFisco><infCpl>Operador: 100 Venda: 396 Vendedor: 1;informacoes contribuinte</infCpl></infAdic></infNFe><infNFeSupl><qrCode><![CDATA[http://www.nfce.sefin.ro.gov.br/consultanfce/consulta.jsp?chNFe=11180705785944000135650010000001379000001371&nVersao=100&tpAmb=2&dhEmi=323031382D30372D32345431353A34383A32362D30343A3030&vNF=1.00&vICMS=0.18&digVal=554E6453627A794C6E6548427934545773304C334630546C7A59303D&cIdToken=000001&cHashQRCode=BFD8DFEE7F7922755E935C8935ADC892B7452FF2]]></qrCode><urlChave>http://www.nfce.sefin.ro.gov.br/consultaAmbHomologacao.jsp</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="#NFe11180705785944000135650010000001379000001371"><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>UNdSbzyLneHBy4TWs0L3F0TlzY0=</DigestValue></Reference></SignedInfo><SignatureValue>CcwZ3GH1opJuYzLQU8mXIlkazQisSELQH6ifoGGlkuAhWEyEdOS5WcGOXF5QMGPY33r9+5LPeaRiLpKDHX4LeWgjYMWjBUwptOP1pChUKh96DzfJmBrByCz9Firp2HN9a+h1Ax3bZknRCpAlH1riKa4Rml+z2KBtn4XLRvpRbuU7c8CRLEg/u0BCFQeIZ73RWXYVRyHjoG2NrbDm54M006Asajmh8GsRbexU9lgEf5nQ45D+TfCmNcIqt6x+Vi9aCsr6mdC9uFX0AEb72VtC/z0Kb3mBxFP4C0Qz5j4P/k/Fs/KejY/NxYmNcOOZ2Qrk9QY1ibL8zWjPar2cDN6sRw==</SignatureValue><KeyInfo><X509Data><X509Certificate>MIIIEjCCBfqgAwIBAgIIWIosl8lh+TowDQYJKoZIhvcNAQELBQ...

Alguma ideia de como fazer isso usando apenas o componente acbrnfe, sem ter que trabalhar diretamente com o arquivo xml?

Desde já agradeço aos amigo do ACBr... Vocês são fo**s ?

 

Editado por joaoelson
Link para o comentário
Compartilhar em outros sites

Agora, Oneide Luiz Schneider disse:

O componente tem um método -> ACBrNFe.NotasFiscais.GravarXML('.....')
Veja se te ajuda.

Então... já tentei essa função, colocando ela após assinar e validar, mas não estou obtendo o xml completo.

Tentei também utilizando as propriedades XMLOriginal e XMLAssinado, mas está na mesma.

A dúvida é se dá pra fazer isso, pegar o xml completo antes de utilizar o método enviar.

Obrigado pela força! 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Moderadores
15 horas atrás, joaoelson disse:

Então... já tentei essa função, colocando ela após assinar e validar, mas não estou obtendo o xml completo.

Tentei também utilizando as propriedades XMLOriginal e XMLAssinado, mas está na mesma.

A dúvida é se dá pra fazer isso, pegar o xml completo antes de utilizar o método enviar.

Obrigado pela força! 

Pra ser completo tem que ter o protocolo de autorização...

Mas com o GravarXML você vai ter ele assinado em arquivo.

Provavelmente está havendo truncamento ao salvar em banco de dados, seja pela estrutura do mesmo ou pelo componente de acesso.

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

35 minutos atrás, BigWings disse:

Pra ser completo tem que ter o protocolo de autorização...

Mas com o GravarXML você vai ter ele assinado em arquivo.

Provavelmente está havendo truncamento ao salvar em banco de dados, seja pela estrutura do mesmo ou pelo componente de acesso.

Então amigo. Esse truncamento está vindo do próprio componente acbrnfe. Não consigo pegar o xml completo pela propriedade NotasFiscais.Items[0].XMLEssa informação do xml peguei em debug. 

A imagem a seguir vem de um Showmessage(ACBrNFe.NotasFiscais.Items[0].XML).
image.png.5d8d96ea26cbaef9b63516dfc52a95e5.png

Link para o comentário
Compartilhar em outros sites

  • Moderadores
34 minutos atrás, joaoelson disse:

Então amigo. Esse truncamento está vindo do próprio componente acbrnfe. Não consigo pegar o xml completo pela propriedade NotasFiscais.Items[0].XMLEssa informação do xml peguei em debug. 

A imagem a seguir vem de um Showmessage(ACBrNFe.NotasFiscais.Items[0].XML).

O ShowMessage vai truncar a string.

O debug do Delphi vai truncar a string.

Abra o arquivo gravado pelo GravarXML.

Ou faça algo do tipo:

SL := TStringList.Create;
try
  SL.Text := ACBrNFe.NotasFiscais.Items[0].XML;
  SL.SaveToFile('C:\PATH\TO\ARQUIVO.XML');
finally
  SL.Free;
end;

 

  • Obrigado 1
Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

Resolvido..

A quem possa interessar...

Gravo o xml antes de enviar para evitar problema com o digestvalue. Se já existir xml não será gerado novamente, caso houver erro e o retorno for duplicidade será feito apenas uma consulta. Também para evitar o consumo indevido do Webservice, segundo NT 2018/002, controlo a quantidade de envios da mesma nota.

 

obrigado aos amigos.

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2073 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.