Ir para conteúdo
  • Cadastre-se

syspan

Membros Pro
  • Total de ítens

    119
  • Registro em

  • Última visita

Posts postados por syspan

  1. Só coloquei o indice 01 para testar a sua teoria.... obrigado pela ajuda, consegui resolver de outra forma, analisando os fontes vi que ele agrupa os vinculados, e ao agrupar ele separa por ordem de pagamento, então fiz o seguinte:

     

    inc(iOrdemPagamentoTEF);
    TACBrTEFDResp(fPDV.ACBrTEFD1.RespostasPendentes[fPDV.ACBrTEFD1.RespostasPendentes.Count-1]).OrdemPagamento:= iOrdemPagamentoTEF;

     

    Com isso ele conseguiu se virar e imprimir vinculados separados.

     

    Mais uma vez obrigado e desculpe pela insistencia....
     

  2. Juliomar, desculpe, mas não compreendi, pq quando chamo o AcbrTefd1.CRT, eu tenho que passar o parametro IndiceFPG, e esse mesmo indiceFPG ele chama na hora de abrir o vinculado através da opção ImprimirTransacaoPendente.  Então, como faço para mandar uma forma de pagamento e o componente imprimir outra?

  3. Bom dia, desculpe a insistencia, mas pelo log ele não separou as vias por finalizadora.

     

    image.thumb.png.94bac87874929012f30356ff006e38da.png

    Nesse caso o Cliente finalizou com 2 formas diferentes, Cartão de Débito e Cartão de Crédito, no comprovante SAT, saiu as 2.  Ele deveria ter Aberto o 1º Vinculado, impresso o 1º cartão e finalizado o 1º vinculado e feito a mesma coisa com a 2ª forma de pagamento?

  4. Boa tarde, estou com problema ao usar o AcbrECFVirtual (no caso AcbrEcfVirtualSAT), quando a sequencia da forma de pagamento no INI esta "pulada"

    [Formas_Pagamento]
    00=00|TROCO|-1|0|30/12/1899||
    01=01|DINHEIRO|0|0|30/12/1899||
    02=02|CREDIARIO|-1|0|30/12/1899||
    03=03|CHEQUE|-1|0|30/12/1899||
    04=05|PIX|-1|5|30/12/1899||
    05=06|VALE COMPRA|-1|0|30/12/1899||
    06=07|TEF|-1|0|30/12/1899||
    07=08|NAO PAGAR|-1|0|30/12/1899||
    08=04|POS|-1|0|30/12/1899||

     

    Nesse caso quando vai abrir um Vinculado o componente diz que a forma não foi usada

    Abaixo: Onde detectei o erro

    procedure TACBrECFVirtualClass.AbreCupomVinculado(COO, CodFormaPagto,
      CodComprovanteNaoFiscal: String; Valor: Double);
    Var
      FPG : TACBrECFFormaPagamento ;
      I, PosFPG, n : Integer ;
      UsouPagamento : Boolean ;
      SubTotalCupomAnterior: Double;

    begin
      GravaLog( ComandoLOG );

      if COO = '' then
        raise EACBrECFERRO.create(ACBrStr('COO inválido'));

      if Estado <> estLivre  then
        raise EACBrECFERRO.Create(ACBrStr('O Estado não é "LIVRE"')) ;

      if fpCupom.Pagamentos.Count < 1 then
        raise EACBrECFERRO.Create(ACBrStr('Ultimo Documento não é Cupom')) ;

      COO := Poem_Zeros(COO,6) ;

      FPG := AchaFPGIndice( CodFormaPagto ) ;
      if FPG = Nil then
        raise EACBrECFERRO.Create(ACBrStr('Posição de Pagamento: '+CodFormaPagto+' inválida'));

      if not FPG.PermiteVinculado then
        raise EACBrECFERRO.Create(ACBrStr('Forma de Pagamento: '+FPG.Indice+'-'+FPG.Descricao+
                                          ' não permite Vinculado'));

      UsouPagamento := False ;
      I := 0 ;
      while (not UsouPagamento) and (I < fpCupom.Pagamentos.Count) do
      begin
        PosFPG := fpCupom.Pagamentos[I].PosFPG ;
    //    UsouPagamento := (fpFormasPagamentos[ PosFPG ].Indice = FPG.Indice ) ; -- isso é o que estava

      // --- Alterei para pesquisar pelo indice e não pegar o indice e usa-lo como posição
        for n := 0 to fpFormasPagamentos.Count -1  do
          if fpFormasPagamentos[n].Indice = FPG.Indice then
          begin
            UsouPagamento := True;
            break;
          end;
        Inc( I ) ;
      end ;

      if not UsouPagamento then
        raise EACBrECFERRO.create(ACBrStr('Forma de Pagamento: '+FPG.Descricao+
                                          ' não foi utilizada no Cupom anterior')) ;

      try
        fpNumGNF := fpNumGNF + 1 ;
        fpNumCDC := fpNumCDC + 1 ;
        SubTotalCupomAnterior := Subtotal;

        //ZeraCupom;  // Não Zera Dados, para permitir chamar "CancelaCupom" após Vinculado
        SetEstadoECFVirtual(estRelatorio);

        AbreCupomVinculadoVirtual(COO, FPG, CodComprovanteNaoFiscal, SubTotalCupomAnterior, Valor);
        AbreDocumento ;
      except
         LeArqINI ;
         raise ;
      end ;
    end;

     

     

    Nesse caso esta errado, o componente não esta respeitando o indice (digo ele imagina que o indice tambem sera a posicao), tem como contornar isso, pq acredito que possa haver outras partes com o mesmo detalhe

     

    Espero ter sido claro

     

    Att

     

    João Victor
     

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