Leonardo Batista
Membros-
Total de ítens
4 -
Registro em
-
Última visita
Últimos Visitantes
O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.
Leonardo Batista's Achievements
-
Leonardo Batista started following ACBrNFSeX - Erro ao ler xml NFSe do provedor EL
-
ACBrNFSeX - Erro ao ler xml NFSe do provedor EL
Leonardo Batista replied to Leonardo Batista's tópico in ACBrNFe
A primeira alteração que fiz foi no bloco de código abaixo, onde estava acessando o objeto ANodes[i] e mudei para AuxNode. with NFSe.Servico.ItemServico[i] do begin CodLCServ := ObterConteudo(AuxNode.Childrens.FindAnyNs('CodigoServico116'), tcStr); CodServ := ObterConteudo(AuxNode.Childrens.FindAnyNs('CodigoServicoMunicipal'), tcStr); CodigoCnae := ObterConteudo(AuxNode.Childrens.FindAnyNs('CodigoCnae'), tcStr); Quantidade := ObterConteudo(AuxNode.Childrens.FindAnyNs('Quantidade'), tcDe4); Unidade := ObterConteudo(AuxNode.Childrens.FindAnyNs('Unidade'), tcStr); ValorUnitario := ObterConteudo(AuxNode.Childrens.FindAnyNs('ValorServico'), tcDe2); Descricao := ObterConteudo(AuxNode.Childrens.FindAnyNs('Descricao'), tcStr); Descricao := StringReplace(Descricao, FpQuebradeLinha, sLineBreak, [rfReplaceAll, rfIgnoreCase]); Aliquota := ObterConteudo(AuxNode.Childrens.FindAnyNs('Aliquota'), tcDe4); ValorISS := ObterConteudo(AuxNode.Childrens.FindAnyNs('ValorIssqn'), tcDe4); aValorTotal := Quantidade * ValorUnitario; ValorTotal := RoundTo(aValorTotal, - 2); end; A segunda alteração foi no metodo abaixo onde o objeto que ele acessava era o ANode e mudei para o AuxNode: A data que me refiro é a data de emissão. if AuxNode <> nil then begin with NFSe do begin CodigoVerificacao := ObterConteudo(AuxNode.Childrens.FindAnyNs('Id'), tcStr); Link := CodigoVerificacao; Link := StringReplace(Link, '&', '&', [rfReplaceAll]); DataEmissao := ObterConteudo(AuxNode.Childrens.FindAnyNs('DataEmissao'), tcDatHor); OutrasInformacoes := ObterConteudo(AuxNode.Childrens.FindAnyNs('Observacao'), tcStr); OutrasInformacoes := StringReplace(OutrasInformacoes, FpQuebradeLinha, sLineBreak, [rfReplaceAll, rfIgnoreCase]); SituacaoNfse := StrToStatusNFSe(Ok, ObterConteudo(AuxNode.Childrens.FindAnyNs('Status'), tcStr)); Servico.Valores.IssRetido := FpAOwner.StrToSituacaoTributaria(Ok, ObterConteudo(AuxNode.Childrens.FindAnyNs('IssRetido'), tcStr)); end; Em relação aos Xmls o cliente que eu tenho utiliza apenas um serviço na NFSe, portanto vou ficar te devendo um XML com mais serviços. Vou te mandar o XML no privado por conter dados sensíveis. -
ACBrNFSeX - Erro ao ler xml NFSe do provedor EL
Leonardo Batista replied to Leonardo Batista's tópico in ACBrNFe
Boa Tarde @Alexandre de Paula tive uma reclamação do meu suporte que não estava puxando a data, e tive que realizar outras alterações vou subir o arquivo novamente aqui com as 2 correções a de cima e a de agora, caso precise que abra um nova Post só me avisar. As alterações de agora foram feitas no método: LerXmlNfse EL.LerXml.pas -
ACBrNFSeX - Erro ao ler xml NFSe do provedor EL
Leonardo Batista replied to Leonardo Batista's tópico in ACBrNFe
Anexei novamente. -
Bom Dia a todos, identifiquei um erro ao tentar ler xml de Nota de Serviço do provedor EL. A modificação que eu fiz foi necessária porque estava gerando Access Violation. Na verificação do IF se ANodes fosse igual a nil no else ele estava tentando acessar o objeto que apontava para nil fazendo gerar o erro. EL.LerXml.pas