Bematech_FI_VendeItemDepartamento ERRO -2 Parametro invalido

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

indusoft
Usuário Nível 1
Usuário Nível 1
Mensagens: 11
Registrado em: 06 Out 2004 17:02

Bematech_FI_VendeItemDepartamento ERRO -2 Parametro invalido

Mensagem por indusoft »

Olá pessoal,

Estou utilizando em meu sistema a BEMAFI32.DLL.
Consigo abrir o CUPOM FISCAL, mas ao enviar
o comando para imprimir os itens, retorna o
ERRO: -2 Parâmetro inválido para a função.
Já tentei utilizar de várias formas, mas sem sucesso.
aDLL_Retorno:=hb_dynCall({"Bematech_FI_VendeItemDepartamento","BEMAFI32.DLL",HB_DYN_CALLCONV_STDCALL,
"12345678901234","Caneta","01","0,250","10,000","0,00","0,00","01","UN"},
@R1,@R2,@R3,@R4,@R5,@R6,@R7,@R8,@R9)

Atenciosamente,

Vanderlei
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Bematech_FI_VendeItemDepartamento ERRO -2 Parametro invalido

Mensagem por alxsts »

Olá!

Nunca usei esta DLL mas, pela mensagem, o problema é com os parâmetros. Já tentou usar ponto decimal ao invés de vírgula, como mostra o teu exemplo, já alterado por mim?

Código: Selecionar todos

aDLL_Retorno:=hb_dynCall({"Bematech_FI_VendeItemDepartamento","BEMAFI32.DLL",HB_DYN_CALLCONV_STDCALL,
"12345678901234","Caneta","01","0.250","10.000","0.00","0.00","01","UN"},@R1,@R2,@R3,@R4,@R5,@R6,@R7,@R8,@R9)
[]´s
Alexandre Santos (AlxSts)
indusoft
Usuário Nível 1
Usuário Nível 1
Mensagens: 11
Registrado em: 06 Out 2004 17:02

Bematech_FI_VendeItemDepartamento ERRO -2 Parametro invalido

Mensagem por indusoft »

amigo, tentei colocando PONTO no lugar da VIRGULA,
mas não tive sucesso.

muito obrigado.
DLZ
Usuário Nível 3
Usuário Nível 3
Mensagens: 184
Registrado em: 09 Jun 2008 10:09
Localização: Ibirubá - RS - Brasil

Bematech_FI_VendeItemDepartamento ERRO -2 Parametro invalido

Mensagem por DLZ »

Ola
esse erro podem ser várias coisas..
vamos por partes, diria o Jak.. ehehe

Primeiro, vamos ver o que diz a documentação da Bemafi32.dll

Codigo: STRING até 49 caracteres com o código do produto.
Descricao: STRING até 201 caracteres com a descrição do produto.
Aliquota: STRING com o valor ou o índice da alíquota tributária. Se for o valor deve ser informado com o tamanho de 4 caracteres ou 5 com a vírgula. Se for o índice da alíquota deve ser 2 caracteres. Ex. (18,00 para o valor ou 05 para o índice)
ValorUnitario: STRING com até 9 dígitos para o valor (tres casas decimais).
Quantidade: STRING com até 7 dígitos para a quantidade. Na venda com departamento a quantidade é fracionária e são 3 casas decimais.
Acrescimo: STRING com o acréscimo por valor com até 10 dígitos (2 casas decimais).
Desconto: STRING com o desconto por valor com até 10 dígitos (2 casas decimais).
IndiceDepartamento: STRING com o índice do departamento com 2 dígitos.
UnidadeMedida: STRING com no máximo 2 caracteres para a unidade de medida. Caso não seja passado nenhum caracter a unidade não é impressa.

Pelo q entendi , vc está passando assim:
aDLL_Retorno:=hb_dynCall({"Bematech_FI_VendeItemDepartamento","BEMAFI32.DLL",HB_DYN_CALLCONV_STDCALL,
2 "12345678901234","Caneta","01","0.250","10.000","0.00","0.00","01","UN"},@R1,@R2,@R3,@R4,@R5,@R6,@R7,@R8,@R9)

Pelo q estou vendo, vc está passando a lengenda 01para tributação do ECF. Para q isso funcione, é necessário que uma alíquota de ICMS esteja carregada no ECF na posição 01. Só para efeito de teste, vc pode passar "II" no lugar de "01" o q fará com que o ítem seja registrado como Isento.

Espero ter ajudado..
ABraços
indusoft
Usuário Nível 1
Usuário Nível 1
Mensagens: 11
Registrado em: 06 Out 2004 17:02

Bematech_FI_VendeItemDepartamento ERRO -2 Parametro invalido

Mensagem por indusoft »

caro amigo, infelizmente ainda não consegui.
o interessante é que consigo abrir o cupom e depois cancelá-lo.
DLZ
Usuário Nível 3
Usuário Nível 3
Mensagens: 184
Registrado em: 09 Jun 2008 10:09
Localização: Ibirubá - RS - Brasil

Bematech_FI_VendeItemDepartamento ERRO -2 Parametro invalido

Mensagem por DLZ »

Vc tentou registrar com "II" ???
Qual o modelo do ECF que vc está usando ?
lucimauro
Usuário Nível 3
Usuário Nível 3
Mensagens: 465
Registrado em: 21 Set 2004 21:02
Localização: Sobral-CE

Bematech_FI_VendeItemDepartamento ERRO -2 Parametro invalido

Mensagem por lucimauro »

Voce est usando harb ou Xharb?
sambomb
Usuário Nível 3
Usuário Nível 3
Mensagens: 250
Registrado em: 24 Out 2008 17:02
Localização: Itaocara - RJ - Brasil

Bematech_FI_VendeItemDepartamento ERRO -2 Parametro invalido

Mensagem por sambomb »

Segue o exemplo da bematech de como fazer a chamada:

Código: Selecionar todos

// Exemplo em Visual Basic

iRetorno = Bematech_FI_VendeItemDepartamento("123", "Caneta", "1200", "0,25", "10", "0", "0", "01", "UN")
 

// Exemplo em Delphi

cCodigo    := '123';
cDescricao := 'Caneta';
cAliquota  := '1200';
cValor     := '0,250';
cQtde      := '10,000';
cAcresc    := '0';
cDesc      := '0';
cIndice    := '01';
cUnidade   := 'UN';

iRetorno := Bematech_FI_VendeItemDepartamento( pchar( cCodigo ), pchar( cDescricao ), pchar( cAliquota ), pchar( cValor ), pchar( cQtde ), pchar( cAcresc ), pchar( cDesc ), pchar( cIndice ), pchar( cUnidade ) );

Como pode ver o separador é vírgula e tem que verificar a configuração do ECF para ver qual o tamanho de decimais que está cadastrado, passando 3 decimais para um ECF configurado para 2 decimais apenas ( Quantidade OU Preço ) pode gerar esse problema.
Imagem

Rca Sistemas - Itaocara - RJ
Responder