Jump to content
Fivewin Brasil

ELGIN - Impressora Fiscal


jef2_tim

Recommended Posts

Ola amigos

POS-LOGGER impressora Termica da elgin... alguem ja fez rodar no sistema? Alguem tem o tratamento de retorno dela.. nao consegui fazer nem a leitura X mesmo carregando direitinho o driver e tudo mais...

Flow

Um Xharbraço.

Uso Fwh 2.5 (xharbour 0.99.3) e Xmate Para Compilar

Impactus Automação Comercial

jef2_timber@hotmail.com

(91)-32387012

Belem-PA

Link to comment
Share on other sites

Ola amigos

POS-LOGGER impressora Termica da elgin... alguem ja fez rodar no sistema? Alguem tem o tratamento de retorno dela.. nao consegui fazer nem a leitura X mesmo carregando direitinho o driver e tudo mais...

Flow

Um Xharbraço.

Uso Fwh 2.5 (xharbour 0.99.3) e Xmate Para Compilar

Impactus Automação Comercial

jef2_timber@hotmail.com

(91)-32387012

Belem-PA

Link to comment
Share on other sites

DECLARE TABERRO[99999]

TABERRO[1 ] :="Não foi possível alocar mais memória."

TABERRO[2 ] :="Memória RAM foi corrompida."

TABERRO[1000 ] :="Memória Fiscal foi desconectada."

TABERRO[1001 ] :="Erro de leitura na Memória Fiscal."

TABERRO[1002 ] :="Memória está setada apenas para leitura."

TABERRO[1003 ] :="Registro fora dos padrões (erro interno)."

TABERRO[1004 ] :="Memória Fiscal está lotada."

TABERRO[1005 ] :="Número máximo de cartuchos excedidos."

TABERRO[1006 ] :="Tentativa de gravar novo modelo de ECF."

TABERRO[1007 ] :="Tentativa de gravação de qualquer dado antes da inicialização da Memória Fiscal."

TABERRO[1008 ] :="Número máximo de usuários foi atingido."

TABERRO[1009 ] :="Número máximo de intervenções foi atingido."

TABERRO[1010 ] :="Número máximo de versões foi atingido."

TABERRO[1011 ] :="Número máximo de reduções foi atingido."

TABERRO[1012 ] :="Erro na gravação de registro na memória fiscal"

TABERRO[2000 ] :="Erro de leitura no dispositivo físico."

TABERRO[2001 ] :="Erro de leitura no dispositivo."

TABERRO[2002 ] :="Dispositivo de transações foi desconectado."

TABERRO[3000 ] :="Tipo de registro a ser gravado inválido."

TABERRO[3001 ] :="Registro de transações está esgotado."

TABERRO[3002 ] :="Tentativa de abrir nova transação com transação já aberta."

TABERRO[3003 ] :="Tentativa de fechar uma transação que não se encontrava"

TABERRO[4000 ] :="Erro de leitura no dispositivo físico."

TABERRO[4001 ] :="Erro de escrita no dispositivo."

TABERRO[4002 ] :="Dispositivo de contexto foi desconectado."

TABERRO[4003 ] :="Leitura após final do arquivo."

TABERRO[4004 ] :="Escrita após final do arquivo."

TABERRO[5000 ] :="Versão de contexto fiscal no dispositivo não foi reconhecida."

TABERRO[5001 ] :="CRC do dispositivo está incorreto."

TABERRO[5002 ] :="Tentativa de escrita fora da área de contexto."

TABERRO[6000 ] :="Relógio do ECF inconsistente."

TABERRO[6001 ] :="Data/hora informadas não estão consistentes."

TABERRO[7000 ] :="Nenhum mecanismo de impressão presente."

TABERRO[7001 ] :="Atual mecanismo de impressão está desconectado."

TABERRO[7002 ] :="Mecanismo não possui capacidade suficiente para realizar esta operação."

TABERRO[7003 ] :="Impressora está sem papel para imprimir."

TABERRO[7004 ] :="Faltou papel durante a impressão do comando."

TABERRO[8000 ] :="Comando fora de seqüência."

TABERRO[8001 ] :="Código mercadoria não válido."

TABERRO[8002 ] :="Descrição inválida."

TABERRO[8003 ] :="Quantidade não inválida."

TABERRO[8004 ] :="Ãndice da alíquota não válido."

TABERRO[8005 ] :="Alíquota não carregada."

TABERRO[8006 ] :="Valor contém caracter inválido."

TABERRO[8007 ] :="Total da operação igual a 0 (zero)."

TABERRO[8008 ] :="Alíquota não disponível para carga."

TABERRO[8009 ] :="Valor da alíquota não válido."

TABERRO[8010 ] :="Troca de situação tributária somente após Redução Z."

TABERRO[8011 ] :="Ãndice do Meio de Pagamento não válido."

TABERRO[8012 ] :="Meio de Pagamento indisponível para carga."

TABERRO[8013 ] :="Cupom totalizado em 0 (zero)."

TABERRO[8014 ] :="Meio de Pagamento não definido."

TABERRO[8015 ] :="Carga de usuário permitido somente após Redução Z."

TABERRO[8016 ] :="Dia sem movimento."

TABERRO[8017 ] :="Total pago inferior ao total do cupom."

TABERRO[8018 ] :="Gerencial não definido."

TABERRO[8019 ] :="Ãndice do Gerencial fora da faixa."

TABERRO[8020 ] :="Gerencial não disponível para carga."

TABERRO[8021 ] :="Nome do Gerencial inválido."

TABERRO[8022 ] :="Esgotado número de Gerenciais."

TABERRO[8023 ] :="Acerto do horário de verão somente após a Redução Z."

TABERRO[8024 ] :="Já acertou horário de verão."

TABERRO[8025 ] :="Sem Alíquotas disponíveis para carga."

TABERRO[8026 ] :="Item não vendido no cupom."

TABERRO[8027 ] :="Quantidade a ser cancelada maior do que a quantidade vendida."

TABERRO[8028 ] :="Cabeçalho possui campo(s) inválido(s)."

TABERRO[8029 ] :="Nome do Departamento não válido."

TABERRO[8030 ] :="Departamento não encontrado."

TABERRO[8031 ] :="Departamento não definido."

TABERRO[8032 ] :="Não há Meio de Pagamento disponível."

TABERRO[8033 ] :="Alteração de Meio de Pagamento somente após a Redução Z."

TABERRO[8034 ] :="Nome do Documento Não Fiscal não pode ser vazio."

TABERRO[8035 ] :="Não há mais Documentos Não Fiscais disponíveis."

TABERRO[8036 ] :="Documento Não Fiscal indisponível para carga."

TABERRO[8037 ] :="Número da redução inicial inválida."

TABERRO[8038 ] :="Cabeçalho do documento já foi impresso."

TABERRO[8039 ] :="Número máximo de linhas de propaganda excedidas."

TABERRO[8040 ] :="Relógio já está no estado desejado."

TABERRO[8041 ] :="Valor do acréscimo inconsistente."

TABERRO[8042 ] :="Não há meio de pagamento definido."

TABERRO[8043 ] :="COO do documento vinculado inválido."

TABERRO[8044 ] :="Ãndice do item inexistente no contexto."

TABERRO[8045 ] :="Código de item não encontrado no cupom atual."

TABERRO[8046 ] :="Percentual do desconto ultrapassou 100%."

TABERRO[8047 ] :="Desconto do item inválido."

TABERRO[8048 ] :="Falta definir valor percentual ou absoluto em operação de desconto/acréscimo."

TABERRO[8049 ] :="Tentativa de operação sobre item cancelado."

TABERRO[8050 ] :="Cancelamento de acréscimo/desconto inválidos."

TABERRO[8051 ] :="Operação de acréscimo/desconto inválida."

TABERRO[8052 ] :="Número de Departamentos esgotados."

TABERRO[8053 ] :="Ãndice de Documento Não Fiscal fora da faixa."

TABERRO[8054 ] :="Troca de Documento Não Fiscal somente após a Redução Z."

TABERRO[8055 ] :="CNPJ e/ou Inscrição Estadual inválida(s)."

TABERRO[8056 ] :="Falta(m) parâmetro(s) no comando de abertura de Comprovante Crédito ou Débito."

TABERRO[8057 ] :="Código e Nome do Documento Não Fiscal indefinidos."

TABERRO[8058 ] :="Alíquota não definida no comando de venda."

TABERRO[8059 ] :="Código e Nome do Meio de Pagamento não definidos."

TABERRO[8060 ] :="Parâmetro de comando não informado."

TABERRO[8061 ] :="Não há Documentos Não Fiscais definidos."

TABERRO[8062 ] :="Acréscimo/Desconto de item já cancelado."

TABERRO[8063 ] :="Não há acréscimo/desconto em item."

TABERRO[8064 ] :="Item já possui acréscimo."

TABERRO[8065 ] :="Operação de acréscimo em item ou subtotal só é valido para ICMS"

TABERRO[8066 ] :="Valor do Comprovante Crédito ou Débito não informado."

TABERRO[8067 ] :="COO inválido."

TABERRO[8068 ] :="Ãndice do Meio de Pagamento no cupom inválido."

TABERRO[8069 ] :="Documento Não Fiscal não encontrado."

TABERRO[8070 ] :="Seqüência de pagamento não encontrada no cupom."

TABERRO[8071 ] :="Meio de pagamento não permite CDC."

TABERRO[8072 ] :="Valor insuficiente para pagar o cupom."

TABERRO[8073 ] :="Meio de pagamento origem ou destino não encontrado no último cupom emitido"

TABERRO[8074 ] :="Valor do estorno não pode exceder o valor do pagamento no meio origem."

TABERRO[8075 ] :="Meios de pagamento origem e destino devem ser diferentes no estorno."

TABERRO[8076 ] :="Percentual da alíquota inválido."

TABERRO[8077 ] :="Não houve operação em subtotal para ser cancelada."

TABERRO[8078 ] :="Só é permitida uma operação de acréscimo em subtotal por cupom."

TABERRO[8079 ] :="Texto adicional do meio de pagamento deve ter no máximo 2 linhas"

TABERRO[8080 ] :="Preço unitário ultrapassou o número máximo de dígitos permitido"

TABERRO[8081 ] :="Código do departamento fora da faixa."

TABERRO[8082 ] :="O valor do desconto não pode zerar o valo do cupom ou ser maior que o item."

TABERRO[8083 ] :="Percentual de acréscimo não pode ser superior a 999,99%"

TABERRO[8084 ] :="Valor do acréscimo ultrapassa o número máximo de dígitos permitido (13 dígitos)"

TABERRO[8085 ] :="Cupom sem venda em alíquota de ICMS."

TABERRO[8086 ] :="Cancelamento inválido."

TABERRO[8087 ] :="Texto de cliche do usuário deve ter no máximo três linhas."

TABERRO[8088 ] :="Não houve venda de item não fiscal"

TABERRO[8089 ] :="A data não pode ser inferior a data do último documento emitido."

TABERRO[8090 ] :="A hora informada no comando não pode ser inferior ao horário do último documento"

TABERRO[8091 ] :="Sem função"

TABERRO[8092 ] :="Estado inválido para ajuste de relogio ou horário de verão"

TABERRO[8093 ] :="A operação de CDC deve preceder as operações de estorno de meio de pagamento."

TABERRO[8094 ] :="Senha inválida para inicialização do proprietário."

TABERRO[8095 ] :="Erro gerado pelo mecanismo de cheques"

TABERRO[8096 ] :="Comando válido somente após a abertura do dia"

TABERRO[9000 ] :="Não foi encontrado nenhum cartucho de dados vazio para ser inicializado."

TABERRO[9001 ] :="Cartucho com o número de série informado não foi encontrado."

TABERRO[9002 ] :="Número de série do ECF é inválido na inicialização."

TABERRO[9003 ] :="Cartucho de MFD desconectado ou com problemas."

TABERRO[9004 ] :="Erro de escrita no dispositivo de MFD."

TABERRO[9005 ] :="Erro na tentativa de posicionar ponteiro de leitura."

TABERRO[9006 ] :="Endereço do Bad Sector informado é inválido."

TABERRO[9007 ] :="Erro de leitura na MFD."

TABERRO[9008 ] :="Tentativa de leitura além dos limites da MFD."

TABERRO[9009 ] :="MFD não possui mais espaço para escrita."

TABERRO[9010 ] :="Leitura da MFD serial é interrompida por comando diferente de LeImpressao"

TABERRO[10000] :="Estado inválido para registro sendo codificado."

TABERRO[10001] :="Inconsistência nos parâmetros lidos no Logger."

TABERRO[10002] :="Registro inválido detectado no Logger."

TABERRO[10003] :="Erro interno."

TABERRO[11000] :="Parâmetro repassado ao comando é inválido."

TABERRO[11001] :="Erro de sintaxe na lista de parâmetros."

TABERRO[11002] :="Valor inválido para parâmetro do comando."

TABERRO[11003] :="String contém seqüência de caracteres inválidos."

TABERRO[11004] :="Parâmetro foi declarado 2 ou mais vezes na lista."

TABERRO[11005] :="Parâmetro obrigatório ausente na lista."

TABERRO[11006] :="Não existe o comando no protocolo."

TABERRO[11007] :="Estado atual não permite a execução deste comando."

TABERRO[11008] :="Sinalização indicando que comando aborta a impressão da segunda via."

TABERRO[11009] :="Sinalização indicando que comando não possui retorno."

TABERRO[11010] :="Tempo de execução esgotado."

TABERRO[11011] :="Nome de registrador inválido."

TABERRO[11012] :="Tipo de registrador inválido."

TABERRO[11013] :="Tentativa de escrita em registrador de apenas leitura."

TABERRO[11014] :="Tentativa de leitura em registrador de apenas escrita."

TABERRO[11015] :="Comando recebido diferente do anterior no buffer de recepção."

TABERRO[11016] :="Fila de comandos cheia."

TABERRO[11017] :="Ãndice de registrador indexado fora dos limites."

TABERRO[11018] :="Número de emissões do Logger foi excedido na Intervenção Técnica."

TABERRO[11019] :="Divisão por 0 (zero) nas rotinas de BDC."

TABERRO[15001] :="Comando aceito apenas em modo de Intervencao Técnica."

TABERRO[15002] :="Comando não pode ser executado em modo de Intervenção Técnica."

TABERRO[15003] :="Já existe MFD presente neste ECF."

TABERRO[15004] :="Não existe MFD neste ECF."

TABERRO[15005] :="Memória RAM do ECF não está consistente."

TABERRO[15006] :="Memória fiscal não encontrada."

TABERRO[15007] :="Dia já fechado."

TABERRO[15008] :="Dia aberto."

TABERRO[15009] :="Falta reducao Z."

TABERRO[15010] :="Mecanismo impressor não selecionado."

TABERRO[15011] :="Sem bobina de papel na estação de documento fiscal."

TABERRO[15012] :="Tentativa de finalizar documento já encerrado."

TABERRO[15013] :="Não há sinal de DTR."

TABERRO[15014] :="Sem inscrições do usuário no ECF."

TABERRO[15015] :="Sem dados do proprietário no ECF."

TABERRO[15016] :="ECF encontra-se indevidamente em linha."

TABERRO[15017] :="ECF não encontra-se em linha para executar o comando."

TABERRO[15018] :="Mecanismo está indisponível para impressão."

DLLURANO := LOADLIB32( "DLLG2.DLL" )

Porta = DLLG2_IniciaDriver(CPORTA)

DLLG2_DefineTimeout(Porta, 9600)

DLLG2_LimpaParams(Porta )

DLLG2_AdicionaParam(Porta, "NomeInteiro", "EstadoFiscal", 7)

NomeErro = SPACE(20)

CodErro = SPACE(5)

Circunstancia := 0

RETORNO := 0

if DLLG2_ExecutaComando(Porta, "LeInteiro") > 0

NomeErro = DLLG2_ObtemNomeErro(Porta, NomeErro, 0)

CodErro = DLLG2_ObtemCodErro(Porta)

if codErro#0

msginfo(TABERRO[codeRRO],"Aviso")

FREELIB32( DLLURANO )

close database

CANCEL

endif

endif

DLLG2_LimpaParams(Porta )

// adiciona parametros // pega numero de serie da ecf

DLLG2_AdicionaParam(Porta, "NomeTexto", "NumeroSerieECF", 7)

// executa comando

if DLLG2_ExecutaComando(Porta, "LeTexto") > 0

NomeErro = DLLG2_ObtemNomeErro(Porta, NomeErro, 0)

CodErro = DLLG2_ObtemCodErro(Porta)

if codErro#0

msginfo(TABERRO[codeRRO],"Aviso")

FREELIB32( DLLURANO )

close database

CANCEL

endif

Circunstancia = DLLG2_ObtemCircunstancia(Porta, Circunstancia, 200)

Retorno =SUBSTR(DLLG2_ObtemRetornos(Porta, Retorno, 5000),13,20)

endif

xSerie := Retorno

DLLG2_LimpaParams(Porta)

// adiciona parametros Retorna o Numero do Caixa

DLLG2_AdicionaParam(Porta, "NomeInteiro", "ECF", 7)

NomeErro = SPACE(20)

CodErro = SPACE(5)

Circunstancia := 0

RETORNO := 0

If DLLG2_ExecutaComando(Porta, "LeInteiro") > 0

NomeErro = DLLG2_ObtemNomeErro(Porta, NomeErro, 0)

CodErro = DLLG2_ObtemCodErro(Porta)

if codErro#0

msginfo(TABERRO[codeRRO],"Aviso")

FREELIB32( DLLURANO )

close database

CANCEL

endif

Circunstancia = DLLG2_ObtemCircunstancia(Porta, Circunstancia, 200)

Retorno =substr(DLLG2_ObtemRetornos(Porta, Retorno, 100 ),14)

endif

xnumcx := strzero(val(retorno),3,0)

//adiciona parametros Pega o Numero do coo

DLLG2_AdicionaParam(Porta, "NomeInteiro", "COO", 7)

NomeErro = SPACE(20)

CodErro = SPACE(5)

Circunstancia := 0

RETORNO := 0

//executa comando

If DLLG2_ExecutaComando(Porta, "LeInteiro") > 0

NomeErro = DLLG2_ObtemNomeErro(Porta, NomeErro, 0)

CodErro = DLLG2_ObtemCodErro(Porta)

if codErro#0

msginfo(TABERRO[codeRRO],"Aviso")

FREELIB32( DLLURANO )

close database

CANCEL

endif

Circunstancia = DLLG2_ObtemCircunstancia(Porta, Circunstancia, 200)

Retorno = DLLG2_ObtemRetornos(Porta, Retorno, 5000)

EndIf

xxxcoo := STRZERO(VAL(substr(Retorno, 14) ),6,0)

**********************************

NomeErro = SPACE(20)

CodErro = SPACE(5)

Circunstancia := 0

RETORNO := 0

DLLG2_LimpaParams(Porta)

DLLG2_AdicionaParam(Porta, "Operador",xnomusu,7)

IF DLLG2_ExecutaComando(Handle , "CancelaCupom") > 0

NomeErro = DLLG2_ObtemNomeErro(Porta, NomeErro, 0)

CodErro = DLLG2_ObtemCodErro(Porta)

if codErro#0

CDESCR:= TABERRO[codeRRO]

Od:update()

return nil

ENDIF

Circunstancia = DLLG2_ObtemCircunstancia(Porta, Circunstancia, 200)

Retorno =SUBSTR(DLLG2_ObtemRetornos(Porta, Retorno, 5000),13,20)

ENDIF

*******************************************

NomeErro = SPACE(20)

CodErro = SPACE(5)

Circunstancia := 0

RETORNO := 0

if DLLG2_ExecutaComando(Porta , "AbreCupomFiscal") > 0

NomeErro = DLLG2_ObtemNomeErro(Porta, NomeErro, 0)

CodErro = DLLG2_ObtemCodErro(Porta)

if codErro#0 .AND. CODERRO # 11007

* trataerro(codErro)

CDESCR:= TABERRO[codeRRO]

if coderro #15009

// xean := 0

CDESCR :=TABERRO[codeRRO]

Circunstancia = DLLG2_ObtemCircunstancia(Porta, Circunstancia, 200)

Retorno =SUBSTR(DLLG2_ObtemRetornos(Porta, Retorno, 5000),13,20)

Od:update()

return(.f.)

else

reducaoz(cimpresora,.f.)

sysrefresh()

// xean := 0

Od:update()

return nil

endif

endif

Circunstancia = DLLG2_ObtemCircunstancia(Porta, Circunstancia, 200)

Retorno =SUBSTR(DLLG2_ObtemRetornos(Porta, Retorno, 5000),13,20)

endif

DLLG2_LimpaParams(Porta)

DLLG2_AdicionaParam(Porta, "NomeInteiro", "COO", 7)

NomeErro = SPACE(20)

CodErro = SPACE(5)

Circunstancia := 0

RETORNO := 0

//executa comando

If DLLG2_ExecutaComando(Porta, "LeInteiro") > 0

NomeErro = DLLG2_ObtemNomeErro(Porta, NomeErro, 0)

CodErro = DLLG2_ObtemCodErro(Porta)

if codErro#0

* trataerro(codErro)

endif

Circunstancia = DLLG2_ObtemCircunstancia(Porta, Circunstancia, 200)

Retorno = DLLG2_ObtemRetornos(Porta, Retorno, 5000)

EndIf

xxxcoo := STRZERO(VAL(substr(Retorno, 14) ),6,0)

***********************************************************************

NomeErro = SPACE(20)

CodErro = SPACE(5)

Circunstancia := 0

RETORNO := 0

DLLG2_LimpaParams(Porta)

DLLG2_AdicionaParam(Porta, "CodAliquota", xalqfit,9)

DLLG2_AdicionaParam(Porta, "CodProduto", xcodigo,7)

DLLG2_AdicionaParam(Porta, "NomeProduto", xdescricao,7)

DLLG2_AdicionaParam(Porta, "PrecoUnitario", transform(XPRECO,"@e 9,999.99"),6)

DLLG2_AdicionaParam(Porta, "Quantidade", transform(XQUANTIDADE,"@e 999.999"),6)

DLLG2_AdicionaParam(Porta, "Unidade", XUNID,7)

if DLLG2_ExecutaComando(Porta, "VendeItem") > 0

NomeErro = DLLG2_ObtemNomeErro(Porta, NomeErro, 0)

CodErro = DLLG2_ObtemCodErro(Porta)

if codErro#0

CDESCR:= TABERRO[codeRRO]

Od:update()

return nil

endif

Circunstancia = DLLG2_ObtemCircunstancia(Porta, Circunstancia, 200)

Retorno =SUBSTR(DLLG2_ObtemRetornos(Porta, Retorno, 5000),13,20)

endif

****************************************

NomeErro = SPACE(20)

CodErro = SPACE(5)

Circunstancia := 0

RETORNO := 0

if DLLG2_ExecutaComando(Porta , "AbreCupomFiscal") > 0

NomeErro = DLLG2_ObtemNomeErro(Porta, NomeErro, 0)

CodErro = DLLG2_ObtemCodErro(Porta)

if codErro#0 .AND. CODERRO # 11007

CDESCR:= TABERRO[codeRRO]

if coderro #15009

Circunstancia = DLLG2_ObtemCircunstancia(Porta, Circunstancia, 200)

Retorno =SUBSTR(DLLG2_ObtemRetornos(Porta, Retorno, 5000),13,20)

sysrefresh()

Od:update()

return(.f.)

else

reducaoz(cimpresora,.f.)

sysrefresh()

Od:update()

return nil

endif

endif

Circunstancia = DLLG2_ObtemCircunstancia(Porta, Circunstancia, 200)

Retorno =SUBSTR(DLLG2_ObtemRetornos(Porta, Retorno, 5000),13,20)

endif

DLLG2_LimpaParams(Porta)

DLLG2_AdicionaParam(Porta, "NomeInteiro", "COO", 7)

NomeErro = SPACE(20)

CodErro = SPACE(5)

Circunstancia := 0

RETORNO := 0

//executa comando

If DLLG2_ExecutaComando(Porta, "LeInteiro") > 0

NomeErro = DLLG2_ObtemNomeErro(Porta, NomeErro, 0)

CodErro = DLLG2_ObtemCodErro(Porta)

if codErro#0

* trataerro(codErro)

endif

Circunstancia = DLLG2_ObtemCircunstancia(Porta, Circunstancia, 200)

Retorno = DLLG2_ObtemRetornos(Porta, Retorno, 5000)

EndIf

xxxcoo := STRZERO(VAL(substr(Retorno, 14) ),6,0)

*****************************************

DLLG2_LimpaParams(Porta )

DLLG2_AdicionaParam(Porta, "NumItem",strzero(cupom->item,3,0), 9)

DLLG2_AdicionaParam(Porta, "Quantidade", transform(cupom->quantidade,"@e 999.999"), 6)

NomeErro = SPACE(20)

CodErro = SPACE(5)

Circunstancia := 0

RETORNO := 0

if DLLG2_ExecutaComando(Porta, "CancelaItemFiscal") > 0

NomeErro = DLLG2_ObtemNomeErro(Porta, NomeErro, 0)

CodErro = DLLG2_ObtemCodErro(Porta)

MSGINFO(CODERRO)

if codErro#0

CDESCR:= TABERRO[codeRRO]

od:update()

return nil

endif

endif

*****************************

DLLG2_LimpaParams(Porta)

IF VAL(XCD) = 1

xcd := str(VAL(xcd) - 3)

ELSE

xcd := strZERO(VAL(xcd) - 2,2,0)

ENDIF

XVLRx := MATRIZ[XXX,1]

XVLR := transform(xvlrX,"@e 9999.99")

XDESCONT := transform(xdesc,"@e 9,999.99")

DLLG2_AdicionaParam(Porta, "CodMeioPagamento",xcd, 9)

DLLG2_AdicionaParam(Porta , "Valor", xvlr, 6)

NomeErro = SPACE(20)

CodErro = SPACE(5)

Circunstancia := 0

RETORNO := 0

if DLLG2_ExecutaComando(Porta, "PagaCupom") > 0

NomeErro = DLLG2_ObtemNomeErro(Porta, NomeErro, 0)

CodErro = DLLG2_ObtemCodErro(Porta)

if codErro#0

MSGINFO( TABERRO[codeRRO])

od:update()

return nil

endif

endif

******************************

DLLG2_ExecutaComando(Porta, "EncerraDocumento")

DLLG2_LimpaParams(Porta)

//adiciona parametros

DLLG2_AdicionaParam( Porta, "Avanco", "300", 9)

//'executa comando

NomeErro = SPACE(20)

CodErro = SPACE(5)

Circunstancia := 0

RETORNO := 0

If DLLG2_ExecutaComando(Porta, "AvancaPapel") > 0

NomeErro = DLLG2_ObtemNomeErro(Porta, NomeErro, 0)

CodErro = DLLG2_ObtemCodErro(Porta)

if codErro#0

msginfo(TABERRO[codeRRO],"Aviso")

endif

Circunstancia = DLLG2_ObtemCircunstancia(Porta, Circunstancia, 200)

EndIf

********************************

DLLG2_LimpaParams(Porta)

DLLG2_AdicionaParam(Handle , "Operador",xnomusU ,7)

NomeErro = SPACE(20)

CodErro = SPACE(5)

Circunstancia := 0

RETORNO := 0

if DLLG2_ExecutaComando(Handle , "EmiteLeituraX") > 0

NomeErro = DLLG2_ObtemNomeErro(Porta, NomeErro, 0)

CodErro = DLLG2_ObtemCodErro(Porta)

if codErro#0

CDESCR:= TABERRO[codeRRO]

od:update()

return nil

endif

endif

DLL32 FUNCTION DLLG2_Versao(VERSAO AS STRING, TAMVERSAO AS LONG) AS STRING PASCAL LIB DLLURANO

DLL32 FUNCTION DLLG2_IniciaDriver(PORTA AS STRING) AS LONG PASCAL LIB "DLLG2.DLL"

DLL32 FUNCTION DLLG2_EncerraDriver(PORTA AS LONG) AS LONG PASCAL LIB DLLURANO

DLL32 FUNCTION DLLG2_ConfiguraDriver(PORTA AS LONG, VELOCIDADE AS LONG) AS LONG PASCAL LIB DLLURANO

DLL32 FUNCTION DLLG2_SetaArquivoLog( NOMEARQUIVO AS STRING) AS VOID PASCAL LIB DLLURANO

DLL32 FUNCTION DLLG2_ObtemNomeLog( NOMEARQUIVO AS STRING, TAMNOMEARQUIVO AS LONG) AS STRING PASCAL LIB DLLURANO

DLL32 FUNCTION DLLG2_DefineTimeout( PORTA AS LONG, TEMPOMAXIMO AS LONG) AS VOID PASCAL LIB DLLURANO

DLL32 FUNCTION DLLG2_LeTimeout( PORTA AS LONG) AS LONG PASCAL LIB DLLURANO

DLL32 FUNCTION DLLG2_LimpaParams(PORTA AS LONG) AS VOID PASCAL LIB DLLURANO

DLL32 FUNCTION DLLG2_AdicionaParam( PORTA AS LONG, NOMEPARAMETRO AS STRING,VALORPARAMETRO AS STRING, TIPOPARAMETRO AS LONG) AS VOID PASCAL LIB DLLURANO

DLL32 FUNCTION DLLG2_ListaParams(PORTA AS LONG, LISTAPARAMETROS AS STRING, TAMLISTAPARAMETROS AS LONG) AS STRING PASCAL LIB DLLURANO

DLL32 FUNCTION DLLG2_LeRegistrador( PORTA AS LONG, NOMEREGISTRADOR AS STRING, NOMECOMANDO AS STRING, TAMNOMECOMANDO AS LONG) AS LONG PASCAL LIB DLLURANO

DLL32 FUNCTION DLLG2_ExecutaComando( PORTA AS LONG, COMANDO AS STRING) AS LONG PASCAL LIB DLLURANO

DLL32 FUNCTION DLLG2_ObtemCodErro( PORTA AS LONG) AS LONG PASCAL LIB DLLURANO

DLL32 FUNCTION DLLG2_ObtemNomeErro( PORTA AS LONG, NOMEERRO AS STRING, TAMNOMEERRO AS LONG) AS STRING PASCAL LIB DLLURANO

DLL32 FUNCTION DLLG2_ObtemCircunstancia(PORTA AS LONG, CIRCUNSTANCIA AS STRING, TAMNOMECIRCUNSTANCIA AS LONG) AS STRING PASCAL LIB DLLURANO

DLL32 FUNCTION DLLG2_ObtemRetornos( PORTA AS LONG, RETORNOS AS STRING, TAMRETORNO AS LONG) AS STRING PASCAL LIB DLLURANO

DLL32 FUNCTION DLLG2_TotalRetornos( PORTA AS LONG) AS LONG PASCAL LIB DLLURANO

Link to comment
Share on other sites

function VerificaStatusTroco(var strTroco: String): Integer;

NO CASO PARA DECLARAR A STRTROCO TERIA Q SER @STRTROCO AS STRING Pois a a clausula ali VAR?

e quando nela se chama INTEGER como devo declarar ? Eu fiz 7

DLL32 Function E_VendeItem(strCodProduto AS STRING, strNomeProduto AS STRING, ;

strAliq AS STRING, strTipoQtde AS STRING, strQuantidade AS STRING, nCasasDec AS 7, ;

strPreco AS STRING, strTipoDesc AS STRING, strValorDesc AS STRING ) AS LONG PASCAL FROM "Elgin_VendeItem" LIB xDll

no caso o campo nCasasDec seria 7 eu peguei da declaracao da daruma mas nao sei se esta correto...

valeu amigos

Um Xharbraço.

Uso Fwh 2.5 (xharbour 0.99.3) e Xmate Para Compilar

Impactus Automação Comercial

jef2_timber@hotmail.com

(91)-32387012

Belem-PA

Link to comment
Share on other sites

Ola amigos

Algumas funcoes nao estao me retornando os valors corretos.. como a funcao verificar o numero do cupom.

DLL32 Function NumeroCupom(strRetorno AS STRING) AS LONG PASCAL FROM "Elgin_NumeroCupom" LIB xDll

estou declarando desta forma... mas esta sempre me retornando 1...

nCupom := Space(6)

estou chamando NumeroCupom(nCupom)

Um Xharbraço.

Uso Fwh 2.5 (xharbour 0.99.3) e Xmate Para Compilar

Impactus Automação Comercial

jef2_timber@hotmail.com

(91)-32387012

Belem-PA

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...