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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-04-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
Post Notas de débito A y B fiscal Hasar SMH/P330

Bien, ahí van las impresiones de las Notas de débito A y B.
Son muy similares a las facturas puesto que contablemente sabemos que estos documentos son análogos.

Código Delphi [-]
//Nota de débito A
procedure TFrmPpal.evNotaDebitoAEventAlert(Sender: TObject;
  EventName: String; EventCount: Integer; var CancelAlerts: Boolean);
var
  puerto:string;
  ini:TIniFile;
  factura:TEnc_egreso;
begin
  with DataModule2, IBConsulta, factura do
  try
    terminarTransaccion;
    IBTransaccion.StartTransaction;
    buscar_cliente_factura(ibconsulta, 'NOTA_DEBITO_A');
  //Cargamos el registro con los datos del documento
    //cod_egreso:=Fields[0].asInteger;
    cod_egreso:=FieldByName('cod_egreso').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
  //Abrimos la fiscal
    abrir_fiscal(archivoINI);
    Hasar1.PrecioBase:=False; //TRUE: CON BASE IMPONIBLE; FALSE: CON PRECIO FINAL, IMPUESTOS INCLUIDOS
    Hasar1.Comenzar;
    Hasar1.TratarDeCancelarTodo;
    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.AbrirComprobanteFiscal(NOTA_DEBITO_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);
  //Imprimimos las formas de pago del cliente
    Buscar_formas_pago_cliente(IBConsulta, cod_egreso);
    with IBConsulta do
    begin
      First;
      while not Eof do
      begin
        hasar1.ImprimirPago(FieldByName('tipo_forma_cobro').AsString,
          FieldByName('monto_forma_cobro').AsFloat);
        Next;
      end;
    end;
    Hasar1.CerrarComprobanteFiscal;
  //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 débito 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 de débito A');
    end;
  end;
end;

//Nota de débito B
procedure TFrmPpal.evNotaDebitoBEventAlert(Sender: TObject;
  EventName: String; EventCount: Integer; var CancelAlerts: Boolean);
var
  puerto:string;
  ini:TIniFile;
  factura:TEnc_egreso;
  r:string;
begin
  with DataModule2, IBConsulta, factura do
  begin
    terminarTransaccion;
    try
      IBTransaccion.StartTransaction;
      buscar_cliente_factura(ibconsulta, 'NOTA_DEBITO_B');
    //Recuperamos los datos de la factura
      //cod_egreso:=Fields[0].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; //
    //Abrimos la fiscal
      abrir_fiscal(archivoINI);
      Hasar1.PrecioBase:=False; //TRUE: CON BASE IMPONIBLE; FALSE: CON PRECIO FINAL, IMPUESTOS INCLUIDOS

      DateTimeToString(r, 'dd/mm/yyyy hh:nn:ss', Now);
      OutputDebugString(PChar(r + ' - Comenzar.'));
      Hasar1.Comenzar;

      DateTimeToString(r, 'dd/mm/yyyy hh:nn:ss', Now);
      OutputDebugString(PChar(r + ' - Tratar de cancelar todo.'));
      Hasar1.TratarDeCancelarTodo;
      if domicilio <> EmptyStr then
      begin
        DateTimeToString(r, 'dd/mm/yyyy hh:nn:ss', Now);
        OutputDebugString(PChar(r + ' - Domicilio <> vacío.'));

        Hasar1.DatosCliente(nombre_cliente, numero_documento, obtener_tipo_documento(tipo_documento),
          obtener_responsabilidad_iva(responsabilidad_iva), domicilio);
      end
      else
      begin
        DateTimeToString(r, 'dd/mm/yyyy hh:nn:ss', Now);
        OutputDebugString(PChar(r + ' - Domicilio = vacío (por el else).'));
        
      //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.AbrirComprobanteFiscal(NOTA_DEBITO_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);
    //Imprimimos las formas de pago del cliente
      Buscar_formas_pago_cliente(IBConsulta, cod_egreso);
      with IBConsulta do
      begin
        First;
        while not Eof do
        begin
          hasar1.ImprimirPago(FieldByName('tipo_forma_cobro').AsString,
            FieldByName('monto_forma_cobro').AsFloat);
          Next;
        end;
      end;
      Hasar1.CerrarComprobanteFiscal;
    //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 débito 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 débito B.');
        
      end;
    end;
  end;
end;

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


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 14-04-2019 23:10:11
Facturas A y B en impresora fiscal Hasar SMH/P330 santiago14 Varios 1 30-04-2013 14:14:02
Prn Fiscal y Emulador fiscal omarperez.qui Impresión 1 20-09-2010 21:43:56
Imprimir Cola en Fiscal HASAR golf2008 Conexión con bases de datos 18 12-06-2008 15:38:29
Impresion con Controlador Fiscal Hasar 320 Caco Mana Varios 12 31-07-2006 17:31:35


La franja horaria es GMT +2. Ahora son las 15:15:14.


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