Clipper On Line • Ver Tópico - número de parámetros de CMD inválido ???

número de parámetros de CMD inválido ???

Discussão sobre desenvolvimento de software para atender as exigências da legislação fiscal e tributária (ECF, TEF, SINTEGRA, NF-e, ECD, EFD, etc.)

Moderador: Moderadores

 

número de parámetros de CMD inválido ???

Mensagempor marcelocordeiro » 18 Fev 2009 20:49

Pessoal, por favor se alguem puder me ajudar
Tem uma empresa que presto serviço esporádico, hj me chamaram afim de ver um problema na emissao do cupom fiscal, qdo abre o mesmo da a mensagem "número de parámetros de CMD inválido"

podem verificar o codigo abaixo que extrai do programa e dar uma ideia do que seja o problema

qq coisa estou no msn marcelocordeiro1974@msn.com
posso conversar por msn ou por telefone

agradeço desde ja qq ajuda

abracao pessoal

#INCLUDE "Fileio.ch"

#define ST1_BIT_0 "número de parámetros de CMD inválido"
#define ST1_BIT_1 "cupom aberto"
#define ST1_BIT_2 "comando inexistente"
#define ST1_BIT_3 "primeiro dado de CMD nÆo foi ESC (1Bh)"
#define ST1_BIT_4 "impressora em erro"
#define ST1_BIT_5 "erro no rel¢gio"
#define ST1_BIT_6 "pouco papel"
#define ST1_BIT_7 "fim de papel"

#define ST2_BIT_0 "comando nÆo executado"
#define ST2_BIT_1 "CGC/IE do propriet rio nÆo programados"
#define ST2_BIT_2 "cancelamento nÆo permitido"
#define ST2_BIT_3 "capacidade de al¡quotas program veis lotada"
#define ST2_BIT_4 "al¡quota nÆo programada"
#define ST2_BIT_5 "erro na Mem¢ria RAM CMOS nÆo vol til"
#define ST2_BIT_6 "Mem¢ria fiscal lotada"
#define ST2_BIT_7 "tipo de parƒmetro de CMD inv lido"

****************************************
FUNCTION COMUNICA(FBUFFER,tam_a_ser_ret)
****************************************
/* evia sequencia de bytes para impressora */
fwrite(PORTA, @FBUFFER, len(FBUFFER))
/* pega o retorno da impressora NAK/ACK ST1 ST2 */

GRAVALOG( SUBS(FBUFFER+SPACE(603),3,600))

retorno_impressora := ack := nak := st1 := st2 := space(1)
FTEMPO = LEN(FBUFFER) / 100
INKEY(FTEMPO)

for contador1 := 1 to 3

     fread(PORTA,@retorno_impressora,1)

     do case
        case contador1 = 1
             do case
                case asc(retorno_impressora) = 21 /* retorno em caracter 21d=15h=NAK */
                     MENFIS("Atencao... a impressora retornou 21d=15h=NAK")

                case asc(retorno_impressora) = 06
                     ack := transform(asc(retorno_impressora),"99")
                otherwise
                     MENFIS("Atencao... provavelmente o driver nao foi carregado !")
                     fclose(PORTA)
                     SET COLOR TO
                     CLEAR
                     quit
             endcase
        case contador1 = 2
             st1 := transform(asc(retorno_impressora),"999")
        case contador1 = 3
[b]            st2 := transform(asc(retorno_impressora),"999")[/b]
     endcase

next contador1

/* pega sequencia de retorno caso necess rio */

sequencia_retorno := ""
for contador2 := 1 to tam_a_ser_ret
    fread(PORTA, @retorno_impressora, 1)
    sequencia_retorno += retorno_impressora
next contador2
*-----------------------DECODIFICA
DECODIFICA(ack,st1,st2)

return sequencia_retorno /* executou_sn */

/////////////////////////////////////////////

/////////////////////////////////////////////////
static function DECODIFICA(ACK,ST1,ST2)
   Bit_st1:=Bit_st2:=Bit_ack:=0
   Bit_ack=Val(ACK)
   Bit_st1=Val(ST1)
   Bit_st2=Val(ST2)
//Tratamento do Ack ou NAk
  if Bit_ack # 6
   MENFIS("Problemas ao Enviar o Comando a Impressora Devolveu 21")
  end if

//Aqui ‚ Feito o Tratamento do St1 subtraindo  o Byte anterior pelo Seguinte
  if Bit_st1 >= 128;MENFIS(ST1_BIT_7) ;Bit_st1=Bit_st1-128 ;end if
  if Bit_st1 >= 64 ;MENFIS(ST1_BIT_6) ;Bit_st1=Bit_st1-64  ;end if
  if Bit_st1 >= 32 ;MENFIS(ST1_BIT_5) ;Bit_st1=Bit_st1-32  ;end if
  if Bit_st1 >= 16 ;MENFIS(ST1_BIT_4) ;Bit_st1=Bit_st1-16  ;end if
  if Bit_st1 >= 8  ;MENFIS(ST1_BIT_3) ;Bit_st1=Bit_st1-8   ;end if
  if Bit_st1 >= 4  ;MENFIS(ST1_BIT_2) ;Bit_st1=Bit_st1-4   ;end if
  if Bit_st1 >= 2  ;MENFIS(ST1_BIT_1) ;Bit_st1=Bit_st1-2   ;end if
  if Bit_st1 >= 1  ;MENFIS(ST1_BIT_0)                      ;end if
//Aqui ‚ Feito o Tratamento do St2 subtraindo  o Byte anterior pelo Seguinte
  if Bit_st2 >= 128;MENFIS(ST2_BIT_7) ;Bit_st2=Bit_st2-128 ;end if
  if Bit_st2 >= 64 ;MENFIS(ST2_BIT_6) ;Bit_st2=Bit_st2-64  ;end if
  if Bit_st2 >= 32 ;MENFIS(ST2_BIT_5) ;Bit_st2=Bit_st2-32  ;end if
  if Bit_st2 >= 16 ;MENFIS(ST2_BIT_4) ;Bit_st2=Bit_st2-16  ;end if
  if Bit_st2 >= 8  ;MENFIS(ST2_BIT_3) ;Bit_st2=Bit_st2-8   ;end if
  if Bit_st2 >= 4  ;MENFIS(ST2_BIT_2) ;Bit_st2=Bit_st2-4   ;end if
  if Bit_st2 >= 2  ;MENFIS(ST2_BIT_1) ;Bit_st2=Bit_st2-2   ;end if
  if Bit_st2 >= 1  ;MENFIS(ST1_BIT_0)                      ;end if
return NIL


---
Nota da Moderação (Maligno):
A presente mensagem foi editada com a única finalidade de inserir as tags que permitem uma melhor exposição do código acima.
marcelocordeiro
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 16
Data de registro: 14 Nov 2005 15:06
Cidade/Estado: presidente prudente
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Re: número de parámetros de CMD inválido ???

Mensagempor sygecom » 19 Fev 2009 12:10

Olá Marcelo,
Esse sistema é seu ?
Já tenho ir colocando um alert("aqui") para ver onde esta dando essa mensagem ? pelo que eu notei no seu codigo não tem nada dando referencia ao define ST2_BIT_7 que é o define onde esta dando a mensagem.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
leonardodemachado@hotmail.com

Faça você também sua doação esse fórum é uma lenda viva: http://www.pctoledo.com.br/doacao
Avatar de usuário

sygecom
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 7006
Data de registro: 21 Jul 2006 10:12
Cidade/Estado: Alvorada-RS
Curtiu: 1 vez
Mens.Curtidas: 130 vezes

Re: número de parámetros de CMD inválido ???

Mensagempor marcelocordeiro » 19 Fev 2009 16:42

ola leonardo, agradeco muito a atencao!

esse sistema nao é meu, foi desenvolvido numa empresa que trabalhei a 6 anos atraz, mas o pessoal nao da mais manutencao no programa, inclusive estao subst por outro, mas voltou a funcionar deixa quieto

agora independente disso, quero entrar no site da Bematech e baixar programas de exemplo para comunicar com impressora fiscal, afim de desenvolver o meu

obrigado

abraço
marcelocordeiro
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 16
Data de registro: 14 Nov 2005 15:06
Cidade/Estado: presidente prudente
Curtiu: 0 vez
Mens.Curtidas: 0 vez




Retornar para Legislação Fiscal e Tributária

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 4 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro