Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-05-2013
Avatar de santiago14
santiago14 santiago14 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Cerrillos, Salta, Argentina
Posts: 583
Poder: 21
santiago14 Va por buen camino
Thumbs up Notas de crédito A y B Hasar SMH/P330

Y para completar van las notas de crédito A y B.
El código es algo diferente, este documento es considerado NO fiscal y supongo que eso le otorga menos importancia que las Facturas y Notas de débito. Habrá que conversar con un Contador para resolver este misterio.
Una particularidad, este documento necesita de "un documento relacionado", normalmente una factura, eso se lo indica con el comando Hasar1.DocumentoDeReferencia[], pero el mismo no funciona del todo bien, así que se reemplaza (algo mas tedioso de hacer) por el comando Hasar1.Enviar() y unas líneas previas mas.
Lo que nos ocupa a nosotros, el código:
Código Delphi [-]
//Nota de crédito A
procedure TFrmPpal.evNotaCreditoAEventAlert(Sender: TObject;
  EventName: String; EventCount: Integer; var CancelAlerts: Boolean);
var
  puerto:string;
  ini:TIniFile;
  factura:TEnc_egreso;
  fs, comando, comprobante_original:WideString;
begin
  with DataModule2, IBConsulta, factura do
  try
    terminarTransaccion;
    IBTransaccion.StartTransaction;
    buscar_cliente_factura(ibconsulta, 'NOTA_CREDITO_A');
  //Recuperamos los datos de la Nota de crédito A
    //cod_egreso:=Fields[0].asInteger;
    cod_egreso:=FieldByName('cod_egreso').AsInteger;
  //Recuperamos el comprobante relacionado
    cod_comprobante_relacionado:=FieldByName('cod_comprobante_relacionado').AsInteger;
    nombre_cliente:=FieldByName('nombre_cliente').AsString;
    domicilio:=FieldByName('domicilio_cliente').AsString;
    responsabilidad_iva:=FieldByName('responsabilidad_iva_cliente').AsString;
    tipo_documento:=FieldByName('tipo_documento').AsString;
    numero_documento:=FieldByName('numero_documento').AsString; //Sería el cuit
    pto_vta_egreso:=FieldByName('pto_vta_egreso').AsInteger; //el pto de venta
  //Recuperamos el nro de comprobante relacionado
    obtener_nro_comprobante(cod_comprobante_relacionado, IBConsulta);
  //Abrimos la fiscal
    abrir_fiscal(archivoINI);
    Hasar1.PrecioBase:=False; //TRUE: CON BASE IMPONIBLE; FALSE: CON PRECIO FINAL, IMPUESTOS INCLUIDOS
    Hasar1.Comenzar;
    Hasar1.TratarDeCancelarTodo;
  //Este comando no funciona en P-330F, se reemplaza por Enviar()
    //Hasar1.DocumentoDeReferencia[1]:=IBConsulta.FieldByName('nro_comprobante').AsString;
    fs:=#28;
    comprobante_original:=IBConsulta.FieldByName('nro_comprobante').AsString;
    comando:=#147 + fs + '1' + fs + comprobante_original;
    Hasar1.Enviar(comando);
    Hasar1.DatosCliente(nombre_cliente, numero_documento, obtener_tipo_documento(tipo_documento),
      obtener_responsabilidad_iva(responsabilidad_iva), domicilio);
    //Hasar1.DescripcionesLargas:=false; //trunca las descripciones largas
    Hasar1.AbrirDNFH(NOTA_CREDITO_A);
    Buscar_detalle_factura_A(ibconsulta, cod_egreso);
    with ibconsulta do
    begin
      first;
      while not eof do
      begin                //DESCR CANT MONTO IVA IMPUESTOS INTERNOS
        hasar1.ImprimirItem(FieldByName('nombre_existencia').AsString, FieldByName('cantidad_egreso').AsFloat,
          FieldByName('precio_final').AsFloat, FieldByName('porcentaje_alicuota').AsFloat, 0);
        next;
      end;
    end;
    hasar1.Subtotal(true);
    //  hasar1.ImprimirPago('Efectivo:',strtofloat(txttotal.text));
    Hasar1.CerrarDNFH;
  //Me devuelve el nro de comprobante
    nro_egreso:=StrToInt(Hasar1.Respuesta[3]);
    registrar_numero_comprobante_egreso(nro_egreso, cod_egreso, IBConsulta);
    Hasar1.Finalizar;
    IBTransaccion.Commit;
    CoolTrayIcon1.ShowBalloonHint('Impresora fiscal', 'Nota de crédito A, Nº '
      + LPad(pto_vta_egreso, 4, '0') + ' - ' + LPad(nro_egreso, 8, '0') + ' en la Impresora fiscal...',
      bitInfo, 10);
  except
    on E:Exception do
    begin
      terminarTransaccion;
      merrores(e, 'Error en la impresión de datos.', 'Impresión Nota crédito A.');
    end;
  end;
end;

//Nota de crédito B
procedure TFrmPpal.evNotaCreditoBEventAlert(Sender: TObject;
  EventName: String; EventCount: Integer; var CancelAlerts: Boolean);
var
  puerto:string;
  ini:TIniFile;
  factura:TEnc_egreso;
  fs, comando, comprobante_original:WideString;
begin
  with DataModule2, IBConsulta, factura do
  try
    terminarTransaccion;
    IBTransaccion.StartTransaction;
    buscar_cliente_factura(ibconsulta, 'NOTA_CREDITO_B');
  //Recuperamos los datos del comprobante
    //cod_egreso:=Fields[0].asInteger;
    cod_comprobante_relacionado:=FieldByName('cod_comprobante_relacionado').AsInteger;
    cod_egreso:=FieldByName('cod_egreso').AsInteger;
    nombre_cliente:=FieldByName('nombre_cliente').AsString;
    domicilio:=Trim(FieldByName('domicilio_cliente').AsString);
    responsabilidad_iva:=FieldByName('responsabilidad_iva_cliente').AsString;
    tipo_documento:=FieldByName('tipo_documento').AsString;
    numero_documento:=FieldByName('numero_documento').AsString; //Sería el cuit
    pto_vta_egreso:=FieldByName('pto_vta_egreso').AsInteger; //
  //Recuperamos el nro de comprobante relacionado
    obtener_nro_comprobante(cod_comprobante_relacionado, IBConsulta);
  //Abrimos la fiscal
    abrir_fiscal(archivoINI);
    Hasar1.PrecioBase:=False; //TRUE: CON BASE IMPONIBLE; FALSE: CON PRECIO FINAL, IMPUESTOS INCLUIDOS
    Hasar1.Comenzar;
    Hasar1.TratarDeCancelarTodo;
  //Este comando no funciona en P-330F, se reemplaza por Enviar()
    //Hasar1.DocumentoDeReferencia[1]:=IBConsulta.FieldByName('nro_comprobante').AsString;
    fs:=#28;
    comprobante_original:=IBConsulta.FieldByName('nro_comprobante').AsString;
    comando:=#147 + fs + '1' + fs + comprobante_original;
    Hasar1.Enviar(comando);
    if domicilio <> EmptyStr then
    begin
      Hasar1.DatosCliente(nombre_cliente, numero_documento, obtener_tipo_documento(tipo_documento),
        obtener_responsabilidad_iva(responsabilidad_iva), domicilio);
    end
    else
    begin
    //No acepta una variable con un espacio, así que le mandamos el espacio directamente.
      Hasar1.DatosCliente(nombre_cliente, numero_documento, obtener_tipo_documento(tipo_documento),
        obtener_responsabilidad_iva(responsabilidad_iva), ' ');
    end;
    //Hasar1.DescripcionesLargas:=false; //trunca las descripciones largas
    Hasar1.AbrirDNFH(NOTA_CREDITO_B);
    Buscar_detalle_factura_A(ibconsulta, cod_egreso);
    with ibconsulta do
    begin
      first;
      while not eof do
      begin                //DESCR CANT MONTO IVA IMPUESTOS INTERNOS
        hasar1.ImprimirItem(FieldByName('nombre_existencia').AsString, FieldByName('cantidad_egreso').AsFloat,
          FieldByName('precio_final').AsFloat, FieldByName('porcentaje_alicuota').AsFloat, 0);
        next;
      end;
    end;
    hasar1.Subtotal(true);
    //  hasar1.ImprimirPago('Efectivo:',strtofloat(txttotal.text));
    Hasar1.CerrarDNFH;
  //Me devuelve el nro de comprobante
    nro_egreso:=StrToInt(Hasar1.Respuesta[3]);
    registrar_numero_comprobante_egreso(nro_egreso, cod_egreso, IBConsulta);
    Hasar1.Finalizar;
    IBTransaccion.Commit;
    CoolTrayIcon1.ShowBalloonHint('Impresora fiscal', 'Nota de crédito B, Nº '
      + LPad(pto_vta_egreso, 4, '0') + ' - ' + LPad(nro_egreso, 8, '0') + ' en la Impresora fiscal...',
      bitInfo, 10);
  except
    on E:Exception do
    begin
      terminarTransaccion;
      merrores(e, 'Error en la impresión de datos.', 'Impresión Nota de Crédito B.');
    end;
  end;
end;

Con esto completamos.
Tenemos: Facturas A y B, Notas de débito A y B, Notas de crédito A y B, Cierre X, Cierre Z

Saludos.
__________________
Uno es responsable de lo que hace y de lo que omite hacer.
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Cierres X y Z en fiscal Hasar SMH/P330 santiago14 Impresión 2 15-04-2019 00:10:11
Notas de débito A y B fiscal Hasar SMH/P330 santiago14 Impresión 0 30-04-2013 19:10:22
Facturas A y B en impresora fiscal Hasar SMH/P330 santiago14 Varios 1 30-04-2013 15:14:02
Nota de Credito con HASAR 320F diegolf Conexión con bases de datos 9 28-02-2008 19:10:39
Notas de Credito Paradiso Varios 10 01-07-2006 04:35:03


La franja horaria es GMT +2. Ahora son las 21:59:05.


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
Copyright 1996-2007 Club Delphi