Lendo campo cSit da Nfe
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!
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
Curtidas 0
Respostas
Claudia Nogueira
14/12/2012
Posta aqui o retorno do WebService.
GOSTEI 0
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
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:
Se a resposta estiver em arquivo você troca ali no LoadFromFile, e se já tiver a string com a resposta troca:
Por isso:
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
14/12/2012
Muito Obrigado! Era isso mesmo.
GOSTEI 0