Ir para conteúdo
  • Cadastre-se

dev botao

Coleta de CPF no PinPad, segunda parte


ALA
Ver Solução Respondido por brajan,
  • Este tópico foi criado há 1531 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Senhores, bom dia. Estou enfrentando um problema na coleta dos doados direto no pinpad. Como já foi dito em outro tópico o TEF deve estar inicializado. Até ai tudo bem. Mas quando tento acionar a função g.ACBrTEFD.TEFCliSiTef.ObtemDadoPinPadDiretoEx(2, ' ', ' ' )  antes de realizar uma venda, ocorre erro -100 na função e não aciona o pinpad..

   if Trim( dmst_TEF_DLL ) = dmco_Sim then
   begin
      g.ACBrTEFD.DesInicializar( TACBrTEFDTipo( gpCliSiTef ) );
      // Configura TEF //
      g.ACBRTEFD.SuportaSaque               := False;
      g.ACBRTEFD.SuportaDesconto            := False;
      g.ACBRTEFD.SuportaReajusteValor       := False;
      g.ACBRTefD.NumVias                    := dmin_NViasTef;
      g.ACBRTefD.EsperaSTS                  := dmin_ContadorTEF;
      g.ACBRTefD.TEFCliSiTef.EnderecoIP     := dmst_TEF_Endereco_IP;
      g.ACBRTefD.TEFCliSiTef.CodigoLoja     := dmst_TEF_IDLoja;
      g.ACBRTefD.TEFCliSiTef.NumeroTerminal := g.FormataIDTerminal( dmst_TEF_IdTerminal );
      if dmst_TEF_MultiplosCartoes = dmco_Sim then
      begin
         g.ACBRTefD.MultiplosCartoes := True
      end
      else
      begin
         g.ACBRTefD.MultiplosCartoes := False;
      end;

      if dmst_TEF_AutoAtivarGP = dmco_Sim then
      begin
         g.ACBRTefD.AutoAtivarGP := True
      end
      else
      begin
         g.ACBRTefD.AutoAtivarGP := False;
      end;

      g.ACBRTefD.AutoEfetuarPagamento := False; // sempre falso //
      g.ACBRTefD.AutoFinalizarCupom   := False; // sempre falso //

      // ** //
      lcst_estadoSimuladoEcf:= tpsVenda; // CANCELA PENDENTE
      // ala 21/08/2017 se ocorrer prolema retornar com essa linha lcst_estadoSimuladoEcf := tpsLivre;
      if not( g.ACBrTEFD.Inicializado(TACBrTEFDTipo( gpCliSiTef ))) then
      begin
         g.ACBrTEFD.Inicializar( TACBrTEFDTipo( gpCliSiTef ) );
      end;
      // ** //

      // *** 1 CPF, 2 CNPJ *** //
      try
         if not(InputQuery( 'PDV NFC-e', 'Informe: 1-CPF, 2-CNPJ', lcst_Opcao )) then
         begin
             ShowMessage( 'Opção inválida.' );
             Abort;
         end;
         if StrtoInt( lcst_Opcao ) = 1 then // CPF //
         begin
            lbl_Mensagem1.Caption := 'AGUARDANDO DIGITAÇÃO DO CPF NO PINPAD...';
            lbl_Mensagem1.Refresh;
            lcst_Retorno          := g.ACBrTEFD.TEFCliSiTef.ObtemDadoPinPadDiretoEx(1, ' ', ' ' );
         end
         else if StrtoInt( lcst_Opcao ) = 2 then // CNPJ //
         begin
            lbl_Mensagem1.Caption := 'AGUARDANDO DIGITAÇÃO DO CNPJ NO PINPAD...';
            lbl_Mensagem1.Refresh;
            lcst_Retorno          := g.ACBrTEFD.TEFCliSiTef.ObtemDadoPinPadDiretoEx(2, ' ', ' ' );
         end
         else
         begin
             Abort;
         end;
      except
         begin
            ShowMessage( 'Opção inválida.' );
            Abort;
         end;
      end;

      if Trim( lcst_Retorno ) <> EmptyStr then
      begin
         if not UTIL.Validar_CNPJ_CPF( lcst_Retorno ) then
         begin
            lbl_Mensagem1.Caption := EmptyStr;
            ShowMessage( 'CPF/CNPJ inválido' );
         end
         else
         begin
             lbl_Mensagem1.Caption := 'CPF/CNPJ: ' + lcst_Retorno;
             ShowMessage( 'CPF/CNPJ: ' + lcst_Retorno );
             DMXML.DS_VENDA.DataSet.Edit;
             DMXML.DS_VENDA.DataSet.FieldByName( 'VEN_CNPJ_CIC' ).AsString := lcst_Retorno;
             DMXML.DS_VENDA.DataSet.Post;
             DMXML.DS_VENDA.DataSet.Edit;
         end;
      end
      else
      begin
         lbl_Mensagem1.Caption := EmptyStr;
         ShowMessage( 'CPF/CNPJ Não informado' );
      end;
      lcst_estadoSimuladoEcf := tpsLivre;
   end
   else
   begin
      ShowMessage( 'Opção disponível apenas para SkyTef');
   end;
 

 

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • Consultores
Em 29/10/2019 at 11:34, ALA disse:

ocorre erro -100 na função e não aciona o pinpad..

Se você ler a documentação verá que erro -100 é "Erro interno no módulo".

Isso quer dizer que você precisa do suporte da Software Express para configurar o módulo de coleta de dados pelo pinpad.

 

  • Curtir 1

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • 2 meses depois ...
  • Administradores

Boa tarde;

20 minutos atrás, brajan disse:

consegui resolver o problema

Seria interessante dizer como resolveu o problema.

Att.

  • Curtir 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1531 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.