Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Pessoal, estou fazendo uma venda simples no ECF utilizando uma Bematech MP 4000 TH FI e o ACBr MonitorPLUS Ver.0.3.07.4 (atualizado hoje).

A forma de pagamento que estou utilizando é uma que permite vinculado (06).
 

Estes são os comandos que estou emitindo para o Monitor Plus por TCP:

Ecf.AbreCupom
Ecf.VendeItem("1","Descrição","12T",1,10,0,"UN","$","D",0)
Ecf.SubtotalizaCupom
ECF.EfetuaPagamento("06", 10.0, "", True)
ECF.FechaCupom
ECF.NumCOO
ECF.AbreCupomVinculado("<NumCOO>", "06", "", 10.0)

Porém depois de fechar o cupom e abrir o cupom vinculado ocorre o seguinte erro:

Erro retornado pela Impressora: Bematech

Meio de pagamento não permite tef

 

Só para confirmar aqui está o retorno das formas de pagamento:

ecf.formaspagamento
>> OK:   01                       Dinheiro|  02V                      Bloqueto|  03V                        Cheque|  04V                     Crediario|  05V                    Credi rio|  06V                       CartÆo|  07V               Consulta Cheque|  08V                       A Prazo|  09V                 Cartao Debito|  10V              CartÆo D‚bito|  11V                        Cartao|  12V                     CREDIARIO|  13V                        CHEQUE|  14V                      BLOQUETO|  15V                      DINHEIRO|  16V             CartÆo Cr‚dito|  17V               Consulta cheque

 

Log em anexo.

acbrmonitor-ecf.log

Postado

Pessoal, uma das coisas que notei foi que o retorno do comando para a impressora veio certo: 

-- 09/08 16:49:23:938 CarregaFormasPagamento
-- 09/08 16:49:23:939                 TX -> [STX][ENQ][NUL][FS]#1p[NUL]
-- 09/08 16:49:24:356    16:49:24:356 RX <- ACK = 6 Falha: 0
-- 09/08 16:49:24:457     RX <- Dinheiro        Bloqueto        Cheque          Crediario       Credi[160]rio       Cart[198]o          Consulta Cheque A Prazo         Cartao Debito   Cart[198]o D[130]bito   Cartao          CREDIARIO       CHEQUE          BLOQUETO        DINHEIRO        Cart[198]o Cr[130]dito  Consulta cheque [NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][ENQ][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][SOH][NAK][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL]P[NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][170]UUUUUUUUUUUUUUUU[170][170][170][NUL][NUL][NUL][NUL]

Por exemplo "Cart[198]o" que fica "Cartão"

Porém no ACBrMonitor Plus (no memo de log) printou:

  CartÆo

Tem alguma coisa haver com o encoding do projeto?

Eu apenas abri todos os pacotes e fui compilando um a um no Lazarus 1.6.

Postado

Pessoal, resolvido!

Tive que setar o campo "Página de código" dentro do "ACBr Monitor Plus", sessão "ECF", na aba "Parametros II".

Coloquei 850 e funcionou perfeitamente.

O problema ocorria pois ao executar o comando "TACBrECFBematech.AbreCupomVinculado" (ACBrECFBematech.pas) é obtida a descrição da forma de pagamento para então enviar o comando #66 para a impressora.

Abaixo o ponto aonde ocorria o problema.

procedure TACBrECFBematech.AbreCupomVinculado(COO, CodFormaPagto,
   CodComprovanteNaoFiscal :  String; Valor : Double ) ;
Var FPG : TACBrECFFormaPagamento ;
    StrValor, FPGDesc : String ;
    ComandoCompleto : Boolean ;
begin
  FPG := AchaFPGIndice( CodFormaPagto ) ;

  if FPG = nil then
     raise EACBrECFErro.create( ACBrStr('Forma de Pagamento: '+CodFormaPagto+
                             ' não foi cadastrada.') ) ;

  COO       := Poem_Zeros( trim(COO) ,6) ;
  FPGDesc   := PadRight( CodificarPaginaDeCodigoECF(FPG.Descricao), 16 ) ;    <<<<<< AQUI VINHA A DESCRIÇÃO COM CARACTERES ERRADA!!!!
//FPGDesc   := UpperCase(copy(FPGDesc,1,1))+LowerCase(copy(FPGDesc,2,16)) ;
  BytesResp := 0 ;
  ComandoCompleto  := ((Valor > 0) and (fs25MFD or (StrToIntDef( NumVersao,0 ) >= 310) )) ;
  StrValor := IntToStrZero( Round(Valor * 100) ,14) ;

  if ComandoCompleto then
    try
       AguardaImpressao := True ;
       EnviaComando( #66 + FPGDesc + StrValor + COO, 10) ;
    except
       ComandoCompleto := False ;
    end ;

  if not ComandoCompleto then
  begin
     AguardaImpressao := True ;
     EnviaComando( #66 + FPGDesc, 10) ;
  end ;
end;

 

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