Ir para conteúdo
  • Cadastre-se

dev botao

Impressão DANFSE Fortes - Não imprime todos os itens


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

Recommended Posts

Bom dia pessoal, ao realizar a impressão do DANFSE no fortes, eu tenho um problema, vou anexar o DANFSE em PDF e o XML que o esta gerando...

O problema é que quando eu adiciono dois itens, ele não imprime como deveria, mas somente o primeiro item do XML...

Segue em anexo

Sem título.png

4316030877131400010856000000239-nfse.xml

EL Soluções em Informática

Desenvolvimento  e Suporte (ERP, NF-e, Sped Fiscal, EFD Contribuições, Emissor de Cupom Fiscal)
Ronda Alta - RS

(54)3364-1588
www.elinfo.com.br

 

Link para o comentário
Compartilhar em outros sites

Bom dia Juliomar, eu tentei aplicar as correções mas não tive sucesso...

Gostaria de ajuda para saber oque de fato eu preciso verificar que pode estar causando o problema

EL Soluções em Informática

Desenvolvimento  e Suporte (ERP, NF-e, Sped Fiscal, EFD Contribuições, Emissor de Cupom Fiscal)
Ronda Alta - RS

(54)3364-1588
www.elinfo.com.br

 

Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...

Bom dia, 

Abri os fontes do Fortes e verifiquei que no dataset correspondente aos itens esta sendo alimentado com a discriminação do serviço:

 cdsItens.Append;
 cdsItens.FieldByName('DISCRIMINACAO').AsString := FNFSe.Servico.Discriminacao;
 cdsItens.Post;

Modifiquei a estrutura do dataset e alimentação dos dados para efetivamente pegar informações dos itens:

 for i:=0 to FNFSe.Servico.ItemServico.Count-1 do
 begin
   cdsItens.Append;
   cdsItens.FieldByName('ITEM').AsString := FNFSe.Servico.ItemServico.Items[i].Descricao;
   if FNFSe.Servico.ItemServico.Items[i].Tributavel = snSim then
     cdsItens.FieldByName('TRIBUTAVEL').AsString := 'Sim'
   else
     cdsItens.FieldByName('TRIBUTAVEL').AsString := 'Não';
   cdsItens.FieldByName('QUANTIDADE').AsString := FormatFloat(',0.00', FNFSe.Servico.ItemServico.Items[i].Quantidade);
   cdsItens.FieldByName('UNITARIO').AsString := FormatFloat(',0.0000', FNFSe.Servico.ItemServico.Items[i].ValorUnitario);
   cdsItens.FieldByName('TOTAL').AsString := FormatFloat(',0.00', FNFSe.Servico.ItemServico.Items[i].ValorTotal);
   cdsItens.Post;
 end;

No entanto a listagem ItemServico esta vindo vazia ( FNFSe.Servico.ItemServico.Count = 0 ).

Aparentemente o componente ACBrNFSe não esta carregando os dados referentes ao itens de serviço (tag "ItensServico"), visto que após a carga do xml de nfse a listagem ItemServico permanece zerada:

ACBrNFSe1.NotasFiscais.LoadFromFile(lcPathFileName);
lnTeste:= ACBrNFSe1.NotasFiscais.Items[0].NFSe.Servico.ItemServico.Count;

O teste foi realizado com o provedor SimplISS e o xml esta em anexo.

Agradeço caso alguém possa me dizer se me esqueci de algo ou se posso acessar estes dados de outra forma ou ainda por onde melhorar o código caso seja algo a ser ajustado no ACBrNFSe.

Abraço.

00_000_000000044-nfse.xml

Link para o comentário
Compartilhar em outros sites

Update:
Com base no post do colega Roger, ajustei o leitor NFSe para quando o provedor SimpISS, carregar a listagem ItemServico.

Alterações no arquivo pnfsNFSeR.pas, function TNFSeR.LerNFSe_ABRASF_V1: Boolean, inseridas linhas 1086 a 1100:

      //Provedor SimplISS permite varios itens servico
      if FProvedor = proSimplISS then
      begin
        i := 1;
        while (Leitor.rExtrai(4, 'ItensServico', 'ItensServico', i) <> '') do
        begin
          with NFSe.Servico.ItemServico.Add do
          begin
            Descricao := Leitor.rCampo(tcStr, 'Descricao');
            Quantidade := Leitor.rCampo(tcInt, 'Quantidade');
            ValorUnitario := Leitor.rCampo(tcDe2, 'ValorUnitario');
          end;
          i := i + 1;
        end;
      end;

Segue em anexo o arquivo alterado.

pnfsNFSeR.pas

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Elisângela,

Muito obrigado pela colaboração, já esta no repositório.

Favor atualizar os seus fontes pois este que você anexou esta desatualizado.

  • Curtir 1
Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2921 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.

The popup will be closed in 10 segundos...