Lendo campo cSit da Nfe

Delphi

14/12/2012

Galera como faço para ler o campo cSit de uma NFe via aplicação Delphi?
OBS: Gostaria de saber se o campo cSit possui o valor 1 ou 0 apos realizar uma consulta no site do sintegra.gov.br também via aplicação delphi;

*A consulta ja esta sendo feita! So quero saber como faço para ler o valor do campo.

Obrigadoo!
Vinicius Snachez

Vinicius Snachez

Curtidas 0

Respostas

Claudia Nogueira

Claudia Nogueira

14/12/2012

Posta aqui o retorno do WebService.
GOSTEI 0
Vinicius Snachez

Vinicius Snachez

14/12/2012

<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Header><nfeCabecMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/CadConsultaCadastro2"><cUF>35</cUF><versaoDados>2.00</versaoDados></nfeCabecMsg></soap:Header><soap:Body><consultaCadastro2Result xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/CadConsultaCadastro2"><retConsCad versao="2.00" xmlns="http://www.portalfiscal.inf.br/nfe"><infCons><verAplic>SP_NFE_PL_006j</verAplic><cStat>111</cStat><xMotivo>Consulta cadastro com uma ocorrencia</xMotivo><UF>SP</UF><CNPJ>03446379000156</CNPJ><dhCons>2012-12-14T15:18:36</dhCons><cUF>35</cUF><infCad><IE>450009469114</IE><CNPJ>03446379000156</CNPJ><UF>SP</UF><cSit>1</cSit><indCredNFe>0</indCredNFe><indCredCTe>4</indCredCTe><xNome>A. APARECIDO PEREIRA MIRANTE DO PARANAPANEMA - ME</xNome><xRegApur>SIMPLES NACIONAL</xRegApur><CNAE>5611202</CNAE><dIniAtiv>1999-10-26</dIniAtiv><dUltSit>1999-10-26</dUltSit><ender><xLgr>RUA PAPA JOAO XXIII</xLgr><nro>1941</nro><xBairro>CENTRO</xBairro><cMun>3530201</cMun><xMun>MIRANTE DO PARANAPANEMA</xMun><CEP>19260000</CEP></ender></infCad></infCons></retConsCad></consultaCadastro2Result></soap:Body></soap:Envelope>
GOSTEI 0
Claudia Nogueira

Claudia Nogueira

14/12/2012

Tem várias formas de fazer isso, como varrer o xml e capturar todos os campos, porém como você quer apenas um campo, acho que compensa fazer o mais simples:

Var
  slArquivo : TStringList;
  scSit: String;
begin
  try
    scSit := '';
    slArquivo := TStringList.Create;
    slArquivo.LoadFromFile('C:\Users\claudia\Desktop\csit.xml');
    if AnsiPos('cSit',slArquivo.Text) > 0 then
      scSit := Copy(slArquivo.Text,AnsiPos('cSit',slArquivo.Text)+5,1);
    if scSit = '' then
      ShowMessage('Tag cSit não localizada')
    else
      ShowMessage(scSit);
  finally
    slArquivo.free;
  end;
end;


Se a resposta estiver em arquivo você troca ali no LoadFromFile, e se já tiver a string com a resposta troca:

slArquivo.LoadFromFile('C:\Users\claudia\Desktop\csit.xml');


Por isso:

slArquivo.Text := sRetorno;
GOSTEI 0
Vinicius Snachez

Vinicius Snachez

14/12/2012

Muito Obrigado! Era isso mesmo.

GOSTEI 0
POSTAR