Ir para conteúdo
  • Cadastre-se

dev botao

Enviando um DanfeNFC do FastReport com Troco


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

Recommended Posts

Bom dia meus amigos,

Estou subindo como opção um DanfeNFC para analise com minha rotina de  composição do XML.

Espero que ajude a alguns amigos que estejam precisando.

      pag.vTroco:=strtofloat(tiraponto(panel17.caption));


      qtpg:=tquery.Create(self);
      qtpg.DatabaseName:='foxbeta';
      qtpg.SQL.Text:='select codimpfiscal, tipo, '+
      ' sum(valor) Valor from t_pgcaixa a  '+
      ' inner join t_tpgto b on a.cdtpg = b.cdtpg '+
      ' where nrven = :nrven and empven = :empven '+
      ' group by codimpfiscal, tipo '+
      ' order by 1 ';
      qtpg.ParamByName('nrven').AsString:=pedido;
      qtpg.ParamByName('empven').AsString:=inttostr(empven);
      qtpg.prepare;
      qtpg.open;

      if not qtpg.IsEmpty then
      begin
        vlparcial:=0;
        pag.Clear;
        qtpg.First;
        while  not qtpg.Eof do
        begin
          with pag.Add do //PAGAMENTOS apenas para NFC-e
          begin
             tPag := iif(trim(qtpg.FieldByName('codimpfiscal').asstring) = 'DINHEIRO',fpDinheiro,
                         iif((trim(qtpg.FieldByName('codimpfiscal').asstring) = 'CARTAO'),
                             iif(trim(qtpg.FieldByName('tipo').asstring) = 'Crédito',fpCartaoCredito,fpCartaoDebito),
                       iif((trim(qtpg.FieldByName('codimpfiscal').asstring) = 'BOLETO'),fpBoletoBancario,
                       iif((trim(qtpg.FieldByName('codimpfiscal').asstring) = 'OUTROS'),fpOutro,fpCheque))));

             if (tpag = fpCartaoCredito) or (tpag = fpCartaoDebito) then
             tpIntegra := tiPagNaoIntegrado;

            if tPag = fpDinheiro then
               vPag := qtpg.FieldByName('Valor').AsFloat + pag.vTroco
             else
               vPag := qtpg.FieldByName('Valor').AsFloat;

             vlparcial := vlparcial + vpag;

            //           vPag := ValorNF;
          end;
          qtpg.Next;
        end;
      end;
      qtpg.close;
      qtpg.destroy; 
 

 

DANFeNFCe.fr3

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Moderadores

Boa tarde

qual seria a finalidade? e para qual versão?

anexe um pdf com a mudança?

se for para a 3.10 não houveram mudanças, se for para a 4.00 dai sim.

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

Olá Juliomar, 

Testei todos os exemplos disponíveis no SVN e apenas dois deles estavam implementados com a rotina do troco (DANFNFCe4_10 e  DANFeNFCe[Reduzida]) ,

e apenas o segundo está sem problemas na implementação da rotina,  a citar,  o primeiro  (DANFNFCe4_10), repete o troco para todas as formas de pagamento do NFCe.

Estou enviando o meu Danfe por se tratar de um layout visual diferente dos dois modelos anteriores citados, não contém o erro do DANFNFCe4_10 e pode ser mais agradável aos olhos do cliente que o  DANFeNFCe[Reduzida], para ficar de opção.

Este Danfe é para o a NFCe 4.00.

Demonstração DANFeNFCe4_10.pdf

Meu DanfeNFCe com Troco.pdf

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • Este tópico foi criado há 2198 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.