Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Estou importando o NFSe do anexo utilizando NFSeX com o código abaixo e não estou conseguindo capturar o código do serviço.

var
  ACBrNFSeX: TACBrNFSeX;
begin
  ACBrNFSeX := TACBrNFSeX.Create(nil);
  try
    ACBrNFSeX.SetProvedor(proIPM, ve100);
    ACBrNFSeX.NotasFiscais.LoadFromFile(Edit1.Text, False);
    ACBrNFSeX.NotasFiscais.Items[0].NFSe.Servico.ItemListaServico; //Retorna em branco.
    ACBrNFSeX.NotasFiscais.Items[0].NFSe.Servico.ItemServico[0].CodServ; //Retorna em branco.
    ACBrNFSeX.NotasFiscais.Items[0].NFSe.Servico.ItemServico[0].ItemListaServico; //Retorna 0702. --> O que mais se aproxima é esse aqui, porém retorna um 0 a mais.
    ACBrNFSeX.NotasFiscais.Items[0].NFSe.Servico.ItemServico[0].CodLCServ; //Retorna em branco.
  finally
    ACBrNFSeX.Free;
  end;
end;

Arapongas.xml

  • Consultores
Postado

Bom dia @gerasoft,

Para você entender o porque de que alguns campos estão zerados ou vazios, basta abrir o XML e verificar se a informação existe no XML.

Outra coisa, abra a unit IPM.LerXml (uma vez que o provedor é IPM versão 1.00) e verifica se nessa unit tem alguma linha que lê alguma tag do XML e armazena o seu conteúdo no campo CodLCServ (por exemplo).

Se não tem a linha isso explica o motivo desse campo estar retornando uma string vazia.

No que se refere ao campo ItemListaServico devemos sempre ao alimentar o componente para emitir a nota, informar esse campo no formato xx.yy o componente vai remover o ponto ou o zero a esquerda se assim o provedor exige.

Portanto ao ler essa informação do XML se estiver 702, o componente formata essa informação deixando-a no formato xx.yy dai temos como resposta 07.02

Espero ter ajudado.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado

Temos um XML de Guarapuava, que está em anexo, com um código de serviço de 5 digitos <21009>, porém o IPM retorna apenas 4 digitos <2100> conforme o código abaixo retirado do IPM.LerXml:

          aValor := ObterConteudo(ANodes[i].Childrens.FindAnyNs('codigo_item_lista_servico'), tcStr);
          ItemListaServico := PadLeft(aValor, 4, '0');

NFSe Guarapuava.xml

Postado

O código de serviço correto é 1009 (Segundo o contador que consultei), porém no sistema da IPM é permitido digitar 5 digitos, devendo ser ignorado o primeiro. Porém o IPM.LerXml está ignorando o último.

Código no XML <21009>

Está Retornando <2100>

Deveria Retornar <1009>

  • Consultores
Postado

Bom dia @gerasoft,

Se o provedor IPM permite informar um código de até 5 dígitos devendo ser ignorado o primeiro, o código 21009 tem que ser informando como sendo 1009 (primeiro digito ignorado).

Informando somente 1009, no meio entendimento vai constar esse código tanto no XML a enviado quanto no de retorno.

Chegou a fazer esse teste?

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado

Não estamos gerando o XML, o mesmo foi gerado por outro sistema.
O que quero fazer é importar esse xml para o meu sistema de Escrita Fiscal.

  • Consultores
Postado

Boa tarde @gerasoft,

Desculpe pela demora, vamos fazer o seguinte teste:

Na unit que faz a leitura do XML (IPM.LerXml temos o seguinte:

          aValor := ObterConteudo(ANodes[i].Childrens.FindAnyNs('codigo_item_lista_servico'), tcStr);
          ItemListaServico := PadLeft(aValor, 4, '0');

altere para:

          aValor := ObterConteudo(ANodes[i].Childrens.FindAnyNs('codigo_item_lista_servico'), tcStr);
          ItemListaServico := aValor;

Salve a unit alterada, reinstale o ACBr e faça um novo teste.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

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

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.