AlonsoYSal_FactuGES2/Source/Modulos/Recibos de proveedor/Views/uEditorFechaPagoProveedor.pas
2019-11-18 10:36:42 +00:00

199 lines
5.6 KiB
ObjectPascal
Raw Permalink Blame History

unit uEditorFechaPagoProveedor;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, cxControls, cxContainer, cxEdit, cxTextEdit, cxMaskEdit,
cxDropDownEdit, cxCalendar, ExtCtrls, uEditorBasico, uIEditorFechaPagoProveedor,
uSubCuentasController, Buttons, cxCheckBox, uCustomView, uViewBase,
uViewListaSubCuentas;
type
TfEditorFechaPagoProveedor = class(TfEditorBasico, IEditorFechaPagoProveedor)
Label1: TLabel;
eFechaPago: TcxDateEdit;
bAceptar: TButton;
bCancelar: TButton;
Label2: TLabel;
Panel1: TPanel;
frViewListaSubcuentas1: TfrViewListaSubcuentas;
PnlComentario: TPanel;
lbComentario: TLabel;
Label3: TLabel;
procedure FormShow(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure FormCreate(Sender: TObject);
procedure eFechaPagoPropertiesEditValueChanged(Sender: TObject);
private
FFechaPago : TDateTime;
FComentario: Variant;
FSoloLectura: Boolean;
function GetFechaPago: TDateTime;
procedure SetFechaPago(const Value: TDateTime);
function GetIgnorarContabilidad: Integer;
procedure SetIgnorarContabilidad(const Value: Integer);
function GetIdSubCuenta: Integer;
procedure SetIdSubCuenta(const Value: Integer);
function GetComentario: Variant;
procedure SetComentario(const Value: Variant);
function GetSoloLectura: Boolean;
procedure SetSoloLectura(const Value: Boolean);
public
property FechaPago: TDateTime Read GetFechaPago write SetFechaPago;
property IgnorarContabilidad: Integer Read GetIgnorarContabilidad write SetIgnorarContabilidad;
property IdSubCuenta: Integer Read GetIdSubCuenta write SetIdSubCuenta;
property Comentario: Variant read GetComentario write SetComentario;
property SoloLectura: Boolean read GetSoloLectura write SetSoloLectura;
procedure DeshabilitarContabilidad;
end;
implementation
{$R *.dfm}
{$INCLUDE ..\..\..\FactuGES.inc}
uses uDialogUtils, uFactuGES_App, uBizEjercicios;
procedure TfEditorFechaPagoProveedor.DeshabilitarContabilidad;
begin
frViewListaSubCuentas1.eContabilizar.Enabled := False;
end;
procedure TfEditorFechaPagoProveedor.eFechaPagoPropertiesEditValueChanged(Sender: TObject);
begin
FechaPago := eFechaPago.Date;
end;
procedure TfEditorFechaPagoProveedor.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose := True;
if Self.ModalResult = mrOk then
begin
if (length(eFechaPago.EditValue) = 0) then
begin
CanClose := False;
ShowWarningMessage('Debe establecer la fecha del pago');
end;
if (IgnorarContabilidad = 0) then
begin
if (AppFactuGES.EjercicioActivo.ESTADO = CTE_CERRADO) then
begin
CanClose := False;
ShowWarningMessage('El pago no puede pasar a la parte contable de la aplicaci<63>n porque el ejercicio activo est<73> CERRADO');
end
else if (IdSubCuenta < 1) then
begin
CanClose := False;
ShowWarningMessage('Debe establecer la caja o banco donde se realiza el pago');
end
end;
end;
end;
procedure TfEditorFechaPagoProveedor.FormCreate(Sender: TObject);
begin
{$IFDEF CONTABILIDAD}
frViewListaSubCuentas1.TipoSubCuenta := tCajas;
{$ENDIF}
Comentario := Null;
FSoloLectura := False;
end;
procedure TfEditorFechaPagoProveedor.FormShow(Sender: TObject);
begin
if (length(eFechaPago.Text) = 0) then
eFechaPago.Date := Date;
{$IFDEF CONTABILIDAD}
frViewListaSubCuentas1.Visible := true;
{$ELSE}
frViewListaSubCuentas1.Visible := false;
{$ENDIF}
//Contabilidad
if Assigned(AppFactuGES.EjercicioActivo) then
begin
frViewListaSubcuentas1.eContabilizar.Checked := False;
end
else
begin
frViewListaSubcuentas1.eContabilizar.Checked := True;
end;
end;
function TfEditorFechaPagoProveedor.GetComentario: Variant;
begin
Result := FComentario;
end;
function TfEditorFechaPagoProveedor.GetFechaPago: TDateTime;
begin
Result := FFechaPago;
end;
function TfEditorFechaPagoProveedor.GetIdSubCuenta: Integer;
begin
Result := frViewListaSubCuentas1.IdSubCuenta;
end;
function TfEditorFechaPagoProveedor.GetIgnorarContabilidad: Integer;
begin
Result := frViewListaSubCuentas1.eContabilizar.EditValue;
end;
function TfEditorFechaPagoProveedor.GetSoloLectura: Boolean;
begin
Result := FSoloLectura;
end;
procedure TfEditorFechaPagoProveedor.SetComentario(const Value: Variant);
begin
FComentario := Value;
lbComentario.Caption := '';
lbComentario.Caption := VarToStr(FComentario);
if VarIsNull(FComentario) then
PnlComentario.Visible := False
else
PnlComentario.Visible := True;
end;
procedure TfEditorFechaPagoProveedor.SetFechaPago(const Value: TDateTime);
begin
FFechaPago := Value;
eFechaPago.EditValue := FFechaPago;
end;
procedure TfEditorFechaPagoProveedor.SetIdSubCuenta(const Value: Integer);
begin
frViewListaSubCuentas1.ElegirSubCuenta(Value);
end;
procedure TfEditorFechaPagoProveedor.SetIgnorarContabilidad(const Value: Integer);
begin
frViewListaSubCuentas1.eContabilizar.EditValue := Value;
frViewListaSubCuentas1.Refrescar;
end;
procedure TfEditorFechaPagoProveedor.SetSoloLectura(const Value: Boolean);
begin
FSoloLectura := Value;
if FSoloLectura then
begin
eFechaPago.Enabled := False;
frViewListaSubcuentas1.ReadOnly := True;
end
else
begin
eFechaPago.Enabled := True;
frViewListaSubcuentas1.ReadOnly := False;
end;
end;
end.