Jump to content

2 Dia do ACBr

O Dia da Automação Comercial está chegando!
Inscreva-se

Nova Loja Oficial
loja.projetoacbr.com.br
Ajude o projeto a crescer, com estilo

Comprar

Balança SM100 performance surpreendente

Tecnologia Japonesa   Teclado e Visor resistentes a água
Consumo inteligente de etiquetas   Baixo custo de manutenção
Comunicação Ethernet e WIFI independentes

Saiba mais

Impressora de Etiquetas ELGIN - L42 PRO

Protocolos PPLA, PPLB, ZPL, EPL (automático)
Porta USB padrão Opcionais: Ethernet, Serial, Paralela
Sensor de Etiquetas Móvel Garantia de 18 meses

Saiba mais

fla

Clisitef Homologação Múltiplos Cartões

Recommended Posts

Boa tarde pessoal

Estou passando por um problema na homologação do Sitef com múltiplos cartões, teste 38:

- Valor da transação: 100,00

 

 

- Para esta transação a aplicação deve estar pronta para realizar o pagamento no cartão novamente, passar o restante em dinheiro ou cancelar toda a venda.

- Realizar uma transação de Crédito magnético com uma parte do valor da venda

 - Selecionar a opção á vista

 - Realizar o pagamento do restante do valor com cartão de Débito

 - Desativar o SiTef

 - Selecionar a opção á vista

 - Após o retorno da mensagem para a aplicação, ativar o SiTef, fechar o restante do valor da venda em dinheiro e concluir a venda normalmente.

- A CliSiTef retornará o timeout do SiTef

 - A aplicação deverá exibir a mensagem retornada para o operador e retornar para a tela de pagamentos, permitindo que o operador selecione cartão novamente, outra forma de pagamento ou cancele a venda.

 - Verificar comandos de mensagem retornados.

 - A transação será autorizada

- Há impressão de cupom.

 

Obtive a seguinte resposta deles:

Automação enviando uma função Finaliza para cada operação em uma venda de múltiplos cartões. Em uma venda de múltiplos cartões, deve ser enviado o mesmo número de CupomFiscal para todas as operações dentro da venda de múltiplos. Essas transações ficarão pendentes até a automação identificar que atingiu o valor total da venda, e então, enviará apenas uma função Finaliza com o mesmo número de CupomFiscal para confirmar todas as operações anteriores dentro da venda de múltiplos.

E quando houver desligamento da automação durante uma venda de múltiplos, quando a automação voltar ela deverá obter as transações pendentes e cancelar todas elas.

 

Analisando a AcbrTefD, função ConfirmarTransacoesPendentes percebi que é realmente enviada uma confirmação para cada transação:

procedure TACBrTEFD.ConfirmarTransacoesPendentes(ApagarRespostasPendentes: Boolean);
var
  HouveConfirmacao: Boolean;
  I : Integer;
begin
  fTefClass.GravaLog( 'ConfirmarTransacoesPendentes' );

  HouveConfirmacao := False;
  I := 0;
  while I < RespostasPendentes.Count do
  begin
    try
      with RespostasPendentes do
      begin
        GPAtual := TipoGP;   // Seleciona a Classe do GP

        if not CNFEnviado then
        begin
          CNF( Rede, NSU, Finalizacao, DocumentoVinculado );
          CNFEnviado       := True;
          HouveConfirmacao := True;
        end;

        if ApagarRespostasPendentes then
        begin
          ApagaEVerifica( ArqRespPendente );
          ApagaEVerifica( ArqBackup );
        end;

        Inc( I ) ;
      end;
    except
      { Exceção Muda... Fica em Loop até conseguir confirmar e apagar Backup }
    end;
  end ;

  try
    if HouveConfirmacao and Assigned( fOnDepoisConfirmarTransacoes ) then
      fOnDepoisConfirmarTransacoes( RespostasPendentes );
  finally
    if ApagarRespostasPendentes then
      RespostasPendentes.Clear;
  end;
end;
 

 

Alguém já passou por essa situação ?  Teria que mudar esse código ?

 

Obrigado!

Share this post


Link to post
Share on other sites

Veja os fontes da classe ACBrTEFDCliSitef.pas... ele não envia CNF se o mesmo já foi enviado..

   { Já Finalizou este Documento por outra Transação ? }
   if (pos(DocumentoVinculado, fDocumentosProcessados) > 0) then
      exit;                  

Basta você monitora o Log do ACBrTEFD ou do próprio SiTef, e verificar os comandos enviados e respostas recebidas...

  • Like 1
  • Thanks 1

Consultor SAC ACBr

Daniel Simões de Almeida
Ajude o Projeto ACBr crescer - Assine o SAC

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

Share this post


Link to post
Share on other sites

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