Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Impresor Fiscal (no me imprime el nombre del cliente) (https://www.clubdelphi.com/foros/showthread.php?t=83539)

tulio 28-06-2013 14:13:34

Impresor Fiscal (no me imprime el nombre del cliente)
 
Hola Compañeros


les comentos que de un sistema de facturación manejo un impresor fiscal HASAR 330F , y el problema que tengo es que en los comprobantes FACTURA B , no me imprime los datos del cliente, e probado todo tipo de combinaciones y solo me muestra en la factura la leyenda CONSUMIDOR FINAL, y no me salen el nombre,documento y domicilio del cliente.

Por favor si alguien me puede pegar la parte del codigo delphi que imprime en un impresor hasar las facturas B se lo agradezco mucho

Les muestro el codigo delphi donde imprimo las facturas A y facturas B


SAludos !!!!!!!


Código Delphi [-]
 
 If tipo='A' then ////FACTURA A
   begin
    hasar1.Finalizar;
    hasar1.Puerto:=1;
    hasar1.Modelo:=2;
    hasar1.Comenzar;
    hasar1.TratarDeCancelarTodo;
    fs:=chr(28);
    hasar1.PrecioBase:=true;
    nombre:=copy(trim(tablas.t_ClientesRAZON_SOCial.AsString),1,29);
    numdoc:=trim(tablas.t_Clientesnro_CUIt.AsString);
    domi:=copy(trim(tablas.t_ClientesDOMI_comer.AsString),1,29);
    Comando:='b'+FS+nombre+FS+numdoc+FS+'I'+FS+'C'+FS+Domi;
    hasar1.Enviar(comando);
    hasar1.AbrirComprobanteFiscal(65);  ////65=ticket factura A

    tablas.t_Items_faC.First;
    while not tablas.t_Items_faC.Eof do
     begin
      descri:=trim(tablas.t_Items_faCDESCR_ARti.AsString);
      cant:=tablas.t_Items_faCCANTIDAD.Asfloat;
      monto:=Fvarios.redondear((tablas.t_Items_faCImporte.AsFloat/tablas.t_Items_faCCANTIDAD.Asfloat),2) ;
      iva:=21;
      impint:=0;
      hasar1.ImprimirItem(descri,cant,monto,iva,impint);
      tablas.t_Items_faC.next;
     End;
    imprime:=true;
    hasar1.Subtotal(imprime);
    If PAGO='EFECTIVO' then
      hasar1.ImprimirPago('Contado',neto)
    else
      hasar1.ImprimirPago('Cuenta Corriente',neto);
    hasar1.CerrarComprobanteFiscal;
    hasar1.Finalizar;
   end
  Else ////COMIENZA LA FACTURA B
   begin
   hasar1.Finalizar;
   hasar1.Puerto:=1;
   hasar1.Comenzar;
   hasar1.TratarDeCancelarTodo;
   hasar1.PrecioBase:=false;
   tc:=TICKET_FACTURA_B;
   nombre:=copy(trim(tablas.t_ClientesRAZON_SOCial.AsString),1,29);
   numdoc:=trim(tablas.t_Clientesnro_CUIt.AsString);
   domi:=copy(trim(tablas.t_ClientesDOMI_comer.AsString),1,29);
   Comando:='b'+FS+nombre+FS+numdoc+FS+'C'+FS+'C'+FS+Domi;
   hasar1.Enviar(comando);

   hasar1.AbrirComprobanteFiscal(TICKET_FACTURA_B);

    tablas.t_Items_faC.First;
    while not tablas.t_Items_faC.Eof do
     begin
      descri:=trim(tablas.t_Items_faCDESCR_ARti.AsString);
      cant:=tablas.t_Items_faCCANTIDAD.Asfloat;
      monto:=Fvarios.redondear(tablas.t_Items_faCImporte.AsFloat/tablas.t_Items_faCCANTIDAD.Asfloat,2);
      iva:=21;
      impint:=0;
      hasar1.ImprimirItem(descri,cant,monto,iva,impint);
      tablas.t_Items_faC.next;
     End;
    imprime:=true;
    hasar1.Subtotal(imprime);

    If PAGO='EFECTIVO' then
      hasar1.ImprimirPago('Contado',neto)
    else
      hasar1.ImprimirPago('JCTA',neto);

    hasar1.CerrarComprobanteFiscal;
    hasar1.Finalizar;
   End;
 End

santiago14 29-06-2013 22:05:39

Hace un tiempo puse unos ejemplos para enviar distintos tipos de comprobantes a la Hasar. En particular, para las Facturas A y B, los puedes ver aquí.
Si bien yo mando Facturas y vos Tickets facturas, la cosa es muy parecida...
Espero haber sido de ayuda.

Santiago.

tulio 30-06-2013 00:56:31

Muchas Gracias Santiago por el link

les cuento que el problema que tenia en la factura B ,era que primero hacia la apertura del ticket, y despues mandaba los datos del cliente, invirtiendo ese orden se me arreglo.

Una pregunta que vos tenes experiencia en el tema, cuando hago las facturas B le tengo que mandar los datos del cliente con el nro de cuit, si le envio el dni solo , me hace el ticket sin el nombre del cliente y con un tope de hasta 1000 pesos, Puede ser que exija siempre el cuit ?

Gracias !!!!!

santiago14 03-07-2013 13:50:12

Para exigir siempre el cuit tendrías que controlarlo vos a través del software. La reglamentación de afip indica que cuando no es a un RI hay flexibilización de datos, al Consumidor final basta con la expresión "CONSUMIDOR FINAL", cuando es a una persona, basta con el DNI.
El tema de los 1.000 pesos, es una reglamentación medio vieja, cuando la inflación (que no existe :D) se acrecentó, los $ 1.000 qudaron cortos pero no hubo actualización de los valores. Si no mal recuerdo, cuando uno pone los datos completos, permite hacer un ticket de mayor valor, aunque como se trata de un ticket B....

Santiago

tulio 03-07-2013 16:33:09

Gracias

Santiago por el consejo

un abrazo

tulio !!!!


La franja horaria es GMT +2. Ahora son las 10:45:45.

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