Ir para conteúdo
  • Cadastre-se

dev botao

Cielo Premia


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

Recommended Posts

Boa noite

Colegas não estou conseguindo atgualizar meu sistema com o cielo premia.

fiz uma atualização do ACBR , e apartir de então não consigo mais efetuar uma venda.

se alguem puder mim da uma ajuda eu agradeço, se for pedir demais podemos combinar um valor para tal ajuda.

eu agredeço

estou com muita urgencia

Obrigado

[email protected]

Link para o comentário
Compartilhar em outros sites

faço parte do projeto da T2Ti , na verdade só acompanho o desenvolvimento.

no meu frente de caixa tenho esta chamada

FinalizaVenda;

procedure TFEfetuaPagamento.FinalizaVenda;

FDataModule.ACBrECF.SubtotalizaCupom(0); >> aqui tudo OK

BlockInput(True); >> Aqui OK

ACBrTEFD.FinalizarCupom; >> Aqui tá o problema ( ele chama esta função que vou posta abaixo)

.....

.....

======

procedure TACBrTEFD.FinalizarCupom;

Var

I, J, Ordem : Integer;

Est, EstNaoFiscal : AnsiChar;

ImpressaoOk : Boolean ;

GrupoFPG : TACBrTEFDArrayGrupoRespostasPendentes ;

begin

ImpressaoOk := False ;

fTefClass.GravaLog( 'FinalizarCupom ') ;

try

while not ImpressaoOk do

begin

try

BloquearMouseTeclado( True );

try

EstNaoFiscal := 'N';

Est := EstadoECF;

while Est <> 'L' do >>> (((( Aqui entra nesse loop e não sai mais))))

begin

// É não fiscal ? Se SIM, vamos passar por todas as fases...

if Est = 'N' then

begin

case EstNaoFiscal of

'N' : EstNaoFiscal := 'V' ;

'V' : EstNaoFiscal := 'P' ;

'P' : EstNaoFiscal := 'N' ;

end ;

Est := EstNaoFiscal ;

end ;

try

Case Est of

'V' : ComandarECF( opeSubTotalizaCupom );

'P' :

begin

if not AutoEfetuarPagamento then

begin

GrupoFPG := nil ;

AgruparRespostasPendentes( GrupoFPG );

Ordem := 0 ;

For I := 0 to Length( GrupoFPG )-1 do

begin

if GrupoFPG.OrdemPagamento = 0 then

begin

Inc( Ordem ) ;

if SubTotalECF > 0 then

ECFPagamento( GrupoFPG.IndiceFPG_ECF, GrupoFPG.Total );

For J := 0 to RespostasPendentes.Count-1 do

if RespostasPendentes[J].IndiceFPG_ECF = GrupoFPG.IndiceFPG_ECF then

RespostasPendentes[J].OrdemPagamento := Ordem;

end

else

Ordem := GrupoFPG.OrdemPagamento ;

end;

end;

if SubTotalECF <= 0 then

ComandarECF( opeFechaCupom )

else

break ;

end ;

'N' : // Usado apenas no Fechamento de NaoFiscal

begin

if SubTotalECF <= 0 then

ComandarECF( opeFechaCupom )

else

break ;

end ;

else

raise Exception.Create(

ACBrStr('ECF deve estar em Venda ou Pagamento'));

end;

except

{ A condição abaixo, será True se não for Cupom Nao Fiscal,

ou se já tentou todas as fases do Cupom Nao Fiscal

(SubTotaliza, Pagamento, Fechamento)...

Se for NaoFiscal não deve disparar uma exceção até ter

tentado todas as fases descritas acima, pois o ACBrECF

não é capaz de detectar com precisão a fase atual do

Cupom Não Fiscal (poucos ECFs possuem flags para isso) }

if EstNaoFiscal = 'N' then

raise ;

end ;

Est := EstadoECF;

end;

ImpressaoOk := True ;

finally

BloquearMouseTeclado( False );

end;

except

on EACBrTEFDECF do ImpressaoOk := False ;

else

raise ;

end;

if not ImpressaoOk then

begin

if DoExibeMsg( opmYesNo, 'Impressora não responde'+sLineBreak+

'Tentar novamente ?') <> mrYes then

begin

try ComandarECF(opeCancelaCupom); except {Exceção Muda} end ;

break ;

end;

end;

end;

finally

if not ImpressaoOk then

CancelarTransacoesPendentes;

end;

end;

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Tópico confuso... pelo que compreendi ele está em Loop no FinalizarCupom... verifique como você está informando o Estado do ECF para o componente... provavelmente você está informando errado

Certifique-se se você está com a última versão dos fontes...

Se o problema persistir, por favor adicione o LOG

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

eu acompanho o projeto da T2ti e vc precisa fazer umas modificacoes pra poder funcionar o cielo premia, primeiro nao vai poder subtotalizar o cupom entao comenta essas linhas ai no FinalizaVenda

  // subtotaliza o cupom

  // SubTotalizaCupom; cielo premia nao pode subtotalizar o cupom

segundo vc precisa mover as linhas q efetuam o meio de pagamento do FinalizaVenda pro onComandaECF pra operacao opeImprimePagamentos

// tratar se conseguiu imprimir a forma de pagamento

  // para nao tentar efetuar novamente as mesmas formas


  // movido pra onComandaECF - opeImprimePagamentos

   TotalTipoPagamento := TTotalTipoPagamentoVO.Create;

    for i := 0 to ListaTotalTipoPagamento.Count - 1 do

    begin

      TotalTipoPagamento := ListaTotalTipoPagamento.Items[i];

      if (TotalTipoPagamento.TemTEF <> 'S') then

        FDataModule.ACBrECF.EfetuaPagamento(TotalTipoPagamento.CodigoPagamento, TotalTipoPagamento.Valor);

    end; 
e por fim vc precisa no onComandaECFSubTotaliza colocar essas linhas pra subtotalizar o cupom e caso ja tenha desconto ou acrescimo somar ao que vier do cielo

  try

    if Desconto > 0 then

      FDataModule.ACBrECF.SubtotalizaCupom((Desconto * -1) + DescAcre)

    else if Acrescimo > 0 then

      FDataModule.ACBrECF.SubTotalizaCupom(Acrescimo + DescAcre)

    else

      FDataModule.ACBrECF.SubTotalizaCupom(DescAcre);


    RetornoECF := 1;

  except

    RetornoECF := 0;

  end;

acabei de fazer uns testes e funcionou, agora ainda vou refazer o roteiro pra v se tudo ta ok nas outras operacoes do aplicativo

dessa forma ja tem alguns problemas pra tratar, mas, vc ja pode partir dai

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Não é melhor fazer ajustes nas Units do Projeto TI2TI ?

O ideal é evitar mudanças nos fontes do ACBr, isso pode causar problemas quando for necessário atualiza-lo... E comprometer o funcionamento do componente

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois ...

Boa tarde!

Senhores sou novo por aqui, também ulizo o projeto da T2TI, e também estou levando uma pisa para implementar o premia.

Vi as implementações sugeridas e as fiz.

A respeito da itedentficação da software house e informações adcionais {TipoTratamento=4}, como implementar ?

Link para o comentário
Compartilhar em outros sites

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