Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Hasar Ocx - Adodb - Error (https://www.clubdelphi.com/foros/showthread.php?t=46645)

knife_sj 06-08-2007 00:46:01

Hasar Ocx - Adodb - Error
 
Bueno, mi problema consiste en lo siguiente
ayer implemente en mi programa de facturacion la opcion de poder imprimir con controlador fiscal, antes se imprimia solamente con RaveReport... desde q implemente este sistema pasa lo siguiente:

ANTES de usar el controlador fiscal las consultas andan todas perfectas, el programa corre normalmente

pero DESPUES de hacer una factura e imprimirla por el controlador TODAS las consultas me dan el siguiente error cuando intento abrirlas:
Código:

Argumentos incorrectos, fuera del intervalo permitido o en conflicto con otros.
ya sean consultas elaboradas como por ejemplo

Código:

'SELECT  Articulos.id, Articulos.CodigoBarra, Articulos.descr, rubros.rubro, proveedores.nombre, Articulos.costo, Articulos.porcentaje, Articulos.presentacion,'+#13+#10+
'        Articulos.descarga, Articulos.stock, Articulos.colchon'+#13+#10+
'FROM    Articulos INNER JOIN'+#13+#10+
'                rubros ON Articulos.rubro = rubros.id INNER JOIN'+#13+#10+
'                proveedores ON Articulos.proveedor = proveedores.id'+#13+#10+
'WHERE    (Articulos.descr LIKE '''+keyword.text+'%'') OR (Articulos.CodigoBarra = '''+keyword.Text+''')'+#13+#10+
'ORDER BY Articulos.descr'

o consultas tan sencillas como

Código:

SELECT * FROM Articulos
en un momento llegue a pensar q era mi MS - SQL Server... pero antes de hacer nada hice una prueba

como el programa tiene una opcion para seleccionar que tipo de impresora vamos a usar (fiscal o comun y corriente) hice una factura con la impresora comun y corriente.. luego hice una consulta de precios, consulte facturas anteriores, pedi un inventario por pantalla... en resumen hice varias consultas y el programa andaba perfecto...

realmente no se que puedo llegar a estar haciendo mal con el tema del controlador, pero les adjunto el codigo para que lo revisen por favor

Código:

       
if (tipo_impresora = 0) then //si es impresora comun
            Form1.RvProject1.ExecuteReport('Ticket')
else
begin

  with HASAR1 do
  begin
        Puerto := 1;
        Transporte := PUERTO_SERIE;
        PrecioBase := False;
        Modelo := modelo_fiscal;
        DescripcionesLargas := True;
        Reintentos := 3;
        TiempoDeEspera := 2000;
  end;

  HASAR1.Comenzar;
  HASAR1.TratarDeCancelarTodo;
  HASAR1.AbrirComprobanteFiscal(TICKET_C);
 
  while not Rep_Detalle.Eof do
  begin

    HASAR1.ImprimirItem(
          Rep_Detalle.FieldValues['descr'],
          Rep_Detalle.FieldValues['CANT'],
          Rep_Detalle.FieldValues['PRECIO'],
            21, 0);

    Rep_Detalle.Next;

  end;

  HASAR1.ImprimirPago('Efectivo', StrToFloat(subtotal.Caption));
  HASAR1.CerrarComprobanteFiscal;
  HASAR1.Finalizar;

end;


schdamian 25-11-2010 06:36:40

Perdon por revivir estos post viejos pero me parecio importante ya que yo por no haber leido este post me perdi un dia entero peleandome con las consultas.

Despues de perder todo el dia, me doy cuenta que despues de cerrar una factura (A ó B) usando la OCX de Hasar (fiscal051122.ocx) las consultas sql tablas etc dejan de funcionar, es como dice -knife_sj- desde consultas rebuscadas hasta un simple "select" da el error..
Código:

Argumentos incorrectos, fuera del intervalo permitido o en conflicto con otros.
incluso haciendo un Table1.Active:= True; tambien falla y da el error.

No tiene nada que ver con las consultas ya que quitando el OCX de hasar todo vuelve a funcionar 10 puntos.

Quien sabe que porqueria habran programado estos de hasar pero su ocx como su documentacion dan asco, quien sabe que otros problemas mas tendra la basura.

soyyoale 06-06-2011 19:30:20

Problemas con hasar y ado
 
Hola Chicos, tengo el mismo problema que ustedes, como lo solucionaron?

adryduran 10-07-2011 23:11:51

Hola, me pasa lo mismo, lo pudieron solucionar? Estoy pensando en bajar el anterior ocx de Hasar.

adryduran 14-07-2011 17:00:51

Despues de mucho prueba y error descubri que si sacas esta linea
HASAR1.ImprimirPago('Efectivo', importe);
podes hacer las consultas sql sin problemas, y no es necesario para realizar la factura.
Yo estoy usando "Fiscal051122.Ocx" y hay muchos comandos que no funcionan bien, por ejemplo
HASAR1.DocumentoDeReferencia[1]:=nro_factura; // que se utiliza para realizar una nota de credito
HASAR1.AbrirDNFH(NOTA_CREDITO_B);
HASAR1.CerrarDNFH;
y otros.
Lo solucione utilizando HASAR1.Enviar(...), cualquier cosa consultame.
Slds
Adriana


lalo1981 02-05-2012 19:18:12

numero de parametros invalido
 
tengo el mismo problema, me tirarias una linea de como lo solucionaste con el hasar1.enviar...te lo agradeceria mucho ya que me trabe con eso
gracias

LALO

ginobili20 07-06-2013 14:45:27

Hola gente, alguien lo soluciono??? agradeceria si alguno me da una mano que quede parado con esto....

Saludos, Ariel

lalo1981 07-06-2013 19:37:45

Si lo resolvi el tema de las notas de credito, no lo tengo presente como pero lo busco y te lo paso.

ginobili20 07-06-2013 19:55:22

uh gracias lalo te lo agradeceria un montonazo.

Abrazo Ariel

ginobili20 22-07-2013 21:11:40

No te olvides de mi lalo.. abrazo..

ferra 26-07-2013 17:18:50

Hola gente
con respecto al error lo solucioné cambiando

HASAR1.CerrarComprobanteFiscal; //ESTE ES EL PROBLEMA

por

HASAR1.Enviar(CHR(69));

espero les sirva

ginobili20 28-08-2013 17:36:15

Muchisimas gracias ferra, lo pruebo y te aviso.

ferra 03-09-2013 22:03:02

Hola gente

también hay problemas con HASARImp.Subtotal(true);
si esta linea está después no deja consultar la base de datos entra en conflicto
espero que sea útil

xjre 11-11-2013 21:58:42

Pudieron resolver esto?

Lo que note debugueando el sistema es que el error se da en los "Open" y todo lo que sea ExecSQL y ExecProc funciona bien. Y solo pasa con ADO (dbGO), no con BDE. Faltaria probar si es con ADO + ODBC o ya solo con usar ADO alcanza.

Despues de mil intentos le encontré la vuelta, en parte mezclando lo que dicen algunos por aca.

Revivo este post porque es el unico que aparece en google junto a otro mas que remite a este, por lo que mas de uno va a terminar aca.

Los comandos de la OCX que dan el "error" (que no se que será), son los siguientes:

ImprimirPago

Código:

HASAR.ImprimirPago(Descripcion, Importe)
lo reemplazo con (muy importante lo del formatfloat para poner todos los ceros, sino, al menos a mi, no me andaba):

Código:

HASAR.Enviar
(
 Chr(68)
+ Chr(28) + Descripcion
+ Chr(28) + StringReplace(FormatFloat('000000000.00', Importe), ',', '.', [rfReplaceAll])
+ Chr(28) + 'T'
+ Chr(28) + '0'
);

SubTotal

Tenia:
Código:

Hasar.SubTotal(True)
lo eliminé del programa, ya que no necesito saber en ningun momento cuanto voy vendiendo)

CerrarComprobanteFiscal

Tenia:

Código:

HASAR.CerrarComprobanteFiscal;
lo reemplace por:

Código:

HASAR.Enviar(Chr(69));
No quiero poner mi rutina porque es muy larga, asique a modo de ejemplo, tomo lo que puso knife_sj y lo corrijo a como deberia "andar":

Código:


  with HASAR1 do
  begin
        Puerto := 1;
        Transporte := PUERTO_SERIE;
        PrecioBase := False;
        Modelo := modelo_fiscal;
        DescripcionesLargas := True;
        Reintentos := 3;
        TiempoDeEspera := 2000;
  end;

  HASAR1.Comenzar;
  HASAR1.TratarDeCancelarTodo;
  HASAR1.AbrirComprobanteFiscal(TICKET_C);
 
  while not Rep_Detalle.Eof do
  begin

    HASAR1.ImprimirItem(
          Rep_Detalle.FieldValues['descr'],
          Rep_Detalle.FieldValues['CANT'],
          Rep_Detalle.FieldValues['PRECIO'],
            21, 0);

    Rep_Detalle.Next;

  end;

  HASAR.Enviar
  (
      Chr(68)
      + Chr(28) + QPagoTipoPago.Value
      + Chr(28) + StringReplace(FormatFloat('000000000.00', StrToFloat(subtotal.Caption)), ',', '.', [rfReplaceAll])
      + Chr(28) + 'T'
      + Chr(28) + '0'
  );  // Esto es el imprimirpago
 
  HASAR.Enviar(Chr(69)); // Esto es el HASAR1.CerrarComprobanteFiscal;
  HASAR1.Finalizar;

Aprovecho y tambien les comento que el comando "Documento de Referecia" para imprimir el numero relacionado a la Nota de Credito, tampoco funciona, y hay que enviar lo siguiente:

Código:

HASAR.Enviar(Chr(147) + Chr(28) + '1' + Chr(28) + NumeroFacturaOrigen);
donde NumeroFacturaOrigen es un string.

Tengo la OCX funcional andando en varios sistemas (estacion de servicio, funeraria, kiosco). Es bastante hosca, no funciona bien del todo. Era mas robusta la winfis32.dll. Si alguno necesita alguna rutina en especial, chifle por MP.

Saludos

edumdq 19-11-2013 03:45:35

Hola, estoy con un problema, uso delphi 7, una hasar 715F, los tickets A y B los imprime bien.
Estoy intentando crear notas de crédito, me resulta imposible, me da el siguiente error: 'Función no soportada en versión de controlador fiscal seleccionada (Abrir DNFH)'. Si alguien puede pasarme un código completo para imprimir notas de crédito le agradezco.

Gracias!
Edu.

ashleyco 05-12-2013 07:35:01

donde NumeroFacturaOrigen es un string.

FerJavRec 06-12-2013 01:23:08

Hola gente, seria bueno poder hacer un componente para las impresoras hasar/epson y así nos desprenderíamos de los fastidiosos OCX,
saludos


La franja horaria es GMT +2. Ahora son las 19:23:33.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi