Ir para conteúdo
  • Cadastre-se

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

Rookie

Rookie (2/14)

  • One Year In
  • First Post
  • Conversation Starter
  • One Month Later
  • Week One Done

Recent Badges

2

Reputação

  1. 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, '&amp;', '&', [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.
  2. 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
  3. 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
×
×
  • 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.