{
===============================================================================
  Copyright (©) 2002. Rodax Software.
===============================================================================
  Los contenidos de este fichero son propiedad de Rodax Software titular del
  copyright. Este fichero sólo podrá ser copiado, distribuido y utilizado,
  en su totalidad o en parte, con el permiso escrito de Rodax Software, o de
  acuerdo con los términos y condiciones establecidas en el acuerdo/contrato
  bajo el que se suministra.
  -----------------------------------------------------------------------------
  Web:  www.rodax-software.com
===============================================================================
  Fecha primera versión: 02-12-2002
  Versión actual: 1.0.1
  Fecha versión actual: 02-02-2004
===============================================================================
  Modificaciones:

    Fecha         Comentarios
    ---------------------------------------------------------------------------
    02-02-2004    Se ha eliminado el atributo SERIE (P8 MULTIEMPRESA)
===============================================================================
}

unit FacturarContrato;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, cxControls, cxContainer, cxEdit, cxTextEdit, RdxEmpresaActiva,
  cxMaskEdit, cxDropDownEdit, cxCalendar, RdxBarras, StdCtrls, ExtCtrls,
  RdxPaneles, RdxBotones, ActnList, cxGraphics;

type
  TfrFacturarContrato = class(TForm)
    RdxPanel1: TRdxPanel;
    eTexto: TLabel;
    Titulo: TRdxBarraSuperior;
    eCodigo: TLabel;
    brDoble: TRdxBarraInferior;
    bAceptar: TRdxBoton;
    bCancelar: TRdxBoton;
    cbxTipoFactura: TcxComboBox;
    eEmpresa: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure bCancelarClick(Sender: TObject);
    procedure bAceptarClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    FCodigoContrato : String;
    FCodigoFactura : String;
    procedure SetCodigoContrato(const Value: String);
  public
    property CodigoContrato : String read FCodigoContrato write SetCodigoContrato;
    property CodigoFactura : String read FCodigoFactura;
  end;

var
  frFacturarContrato: TfrFacturarContrato;

implementation

{$R *.dfm}

uses
  Mensajes, Literales, StrFunc, TablaFacturasCliente, Configuracion, Entidades,
  Constantes;

procedure TfrFacturarContrato.FormCreate(Sender: TObject);
begin
  ConfigurarFrame(Self, entContratoCliente);
  FCodigoFactura := '';
  cbxTipoFactura.Text := cbxTipoFactura.Properties.Items[0];
end;

procedure TfrFacturarContrato.bCancelarClick(Sender: TObject);
begin
  ModalResult := mrCancel;
end;

procedure TfrFacturarContrato.bAceptarClick(Sender: TObject);
var
  TipoAux : String;
begin
  if (not EsCadenaVacia(FCodigoContrato)) then
  begin
    if cbxTipoFactura.Text = 'Normal' then
      TipoAux := CTE_CF_FACTURA
    else
      TipoAux := CTE_CF_ABONO;
    FCodigoFactura := dmTablaFacturasCliente.CrearFactura(FCodigoContrato, TipoAux);
  end;
  if EsCadenaVacia(FCodigoFactura) then
  begin
    VerMensaje('No se ha podido crear la factura para el contrato');
    ModalResult := mrNone;
  end;
end;

procedure TfrFacturarContrato.SetCodigoContrato(const Value: String);
begin
  FCodigoContrato := Value;
  eTexto.Caption := Format(eTexto.Caption, [FCodigoContrato]);
end;

procedure TfrFacturarContrato.FormShow(Sender: TObject);
begin
  eEmpresa.Caption := 'La factura se creará con la empresa ' + EmpresaActiva.NombreComercial + '. ';
end;

end.
