Ir para conteúdo
  • Cadastre-se

dev botao

Preencher o CupomVirtual no metodo QuandoCancelarCupom no AcbrEcfVirtualSat


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

Recommended Posts

Boa noite, estou com problema de valores de cancelamento, mas vi que no metodo QuandoCancelaCupom do AcbrEcfVirtualSat da pra resolver, o problema é que não estou conseguindo carregar o cupom que eu quero.

Alguem tem algum exemplo de como fazer isso?

 

Att

 

João Victor

Link para o comentário
Compartilhar em outros sites

  • 9 meses depois ...
procedure TfPdv.ACBrECFVirtualSAT1QuandoCancelarCupom(
  const NumCOOCancelar: Integer; CupomVirtual: TACBrECFVirtualClassCupom;
  var PermiteCancelamento: Boolean);
var
  vItemCupom : TACBrECFVirtualClassItemCupom;
  vsAliq : string;
  viSeq : integer;
  Aliq : TACBrECFAliquota;
  FormaPag : TACBrECFFormaPagamento;
begin
  inherited;
  with MontaSQL(dmPDv.dbPDV,'select * from itensvendaecf where gidecf="'+GidECF+'" and cancelado=0') do
  try
    if NumCooCancelar = stoi(FieldbyName('num_coo').AsString) then
      exit;

    CupomVirtual.Clear;
    viSeq := 0;
    while not eof do
    begin
      inc(viSeq);
      vsAliq := copy(fieldByName('totalizador').AsString,1,2);
      if Pos(Copy(vsAliq,1,1),'FIN') > 0 then
        vsAliq := Copy(vsAliq,1,1) + '1';
      Aliq := ACBrECF1.AchaICMSIndice(vsAliq);
      CupomVirtual.VendeItem(FieldByName('codbarras').AsString,
                             FieldByName('descricao').AsString,
                             FieldByName('quantidade').AsFloat,
                             FieldbyName('unitario').AsFloat,
                             FieldbyName('desconto').AsFloat * (-1),
                             Aliq,
                             fieldbyName('unidade').AsString,
                             0);
      next;
    end;
  finally
    close;
    free;
  end;

  // Pagamentos
  with MontaSQL(dmPDV.dbPDV,'select pagamento_ecf.valor,formapagamento.codigoecf '+
      'from pagamento_ecf inner join formapagamento on (pagamento_ecf.forma_pagamento = formapagamento.codigo) '+
      'where pagamento_ecf.gid_venda = "' + GidECF + '"') do
  try
      while not eof  do
      begin
        FormaPag := ACBrECF1.AchaFPGIndice(FieldByName('codigoecf').AsString);
        CupomVirtual.EfetuaPagamento(FieldbyName('valor').AsFloat,'',stoi(Formapag.Indice));
        next;
      end;
  finally
    close;
    free;
  end;
end;

Ta na mão

Link para o comentário
Compartilhar em outros sites

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