Jump to content

dev botao

Enviando um DanfeNFC do FastReport com Troco


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

  • Like 1
Link to comment
Share on other 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 to comment
Share on other sites

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.