Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado (editado)

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
Postado
  Em 24/07/2018 at 21:08, Oneide Luiz Schneider disse:

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

Expandir  

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
  • Moderadores
Postado
  Em 24/07/2018 at 21:16, 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! 

Expandir  

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

 

 

Postado
  Em 25/07/2018 at 12:52, 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.

Expandir  

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

  • Moderadores
Postado
  Em 25/07/2018 at 13:50, 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).

Expandir  

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

 

 

Postado

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.

  • Este tópico foi criado há 2496 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.