git-svn-id: https://192.168.0.254/svn/Proyectos.ConstruccionesCNJ_FactuGES/trunk@4 6cb6b671-b4a0-dd4c-8bdc-3006503d97e9
255 lines
6.8 KiB
ObjectPascal
255 lines
6.8 KiB
ObjectPascal
unit uEditorCobroCliente;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
Dialogs, uEditorDBItem, DB, uDADataTable, JvAppStorage,
|
|
JvAppRegistryStorage, JvComponent, JvFormPlacement, ImgList,
|
|
PngImageList, StdActns, ActnList, ComCtrls, TBX, TB2Item, TB2Dock,
|
|
TB2Toolbar, ExtCtrls, JvExControls, JvNavigationPane,
|
|
uCustomView, uViewBase, StdCtrls, pngimage,
|
|
AppEvnts, JvComponentBase,dxLayoutLookAndFeels,
|
|
|
|
uBizCobrosCliente, uIEditorCobroCliente, uCobrosClienteController,
|
|
uViewCobroCliente, JvExComCtrls, JvStatusBar;
|
|
|
|
|
|
type
|
|
TfEditorCobroCliente = class(TfEditorDBItem, IEditorCobroCliente)
|
|
TBXSubmenuItem2: TTBXSubmenuItem;
|
|
TBXItem33: TTBXItem;
|
|
dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList;
|
|
dxLayoutOfficeLookAndFeel1: TdxLayoutOfficeLookAndFeel;
|
|
procedure FormShow(Sender: TObject);
|
|
procedure frViewClienteCobro1edtlNombrePropertiesEditValueChanged(
|
|
Sender: TObject);
|
|
procedure dsDataTableDataChange(Sender: TObject; Field: TField);
|
|
procedure CustomEditorClose(Sender: TObject; var Action: TCloseAction);
|
|
procedure frViewClienteCobroedtlNombrePropertiesChange(Sender: TObject);
|
|
|
|
protected
|
|
FController : ICobrosClienteController;
|
|
FCobro: IBizCobroCliente;
|
|
FViewCobro: IViewCobroCliente;
|
|
|
|
function GetController : ICobrosClienteController;
|
|
procedure SetController (const Value : ICobrosClienteController); virtual;
|
|
function GetCobro: IBizCobroCliente;
|
|
procedure SetCobro(const Value: IBizCobroCliente); virtual;
|
|
|
|
function GetViewCobro: IViewCobroCliente;
|
|
procedure SetViewCobro(const Value: IViewCobroCliente);
|
|
procedure GuardarInterno; override;
|
|
procedure EliminarInterno; override;
|
|
procedure PrevisualizarInterno; override;
|
|
procedure ImprimirInterno; override;
|
|
property ViewCobroCliente: IViewCobroCliente read GetViewCobro write SetViewCobro;
|
|
|
|
procedure OnContactoChanged(Sender : TObject);
|
|
|
|
//Si queremos crear otra vista para el editor heredado solo tendriamos que
|
|
//sobreescribir este metodo
|
|
procedure AsignarVista; virtual;
|
|
|
|
public
|
|
procedure PonerTitulos(const ATitulo: string = ''); override;
|
|
property Controller : ICobrosClienteController read GetController write SetController;
|
|
property Cobro: IBizCobroCliente read GetCobro write SetCobro;
|
|
constructor Create(AOwner: TComponent); override;
|
|
destructor Destroy; override;
|
|
end;
|
|
|
|
implementation
|
|
{$R *.dfm}
|
|
|
|
uses
|
|
cxDBEdit, uBizContactos, uDataModuleUsuarios;
|
|
|
|
|
|
{ TfEditorCobroCliente }
|
|
|
|
{
|
|
**************************** TfEditorCobroCliente ****************************
|
|
}
|
|
constructor TfEditorCobroCliente.Create(AOwner: TComponent);
|
|
begin
|
|
inherited;
|
|
pgPaginas.ActivePageIndex := 0;
|
|
AsignarVista;
|
|
end;
|
|
|
|
procedure TfEditorCobroCliente.CustomEditorClose(Sender: TObject;
|
|
var Action: TCloseAction);
|
|
begin
|
|
inherited;
|
|
dsDataTable.DataTable := NIL;
|
|
|
|
FViewCobro := NIL;
|
|
FCobro := NIL;
|
|
end;
|
|
|
|
destructor TfEditorCobroCliente.Destroy;
|
|
begin
|
|
// Utilizar mejor OnClose;
|
|
|
|
inherited;
|
|
end;
|
|
|
|
procedure TfEditorCobroCliente.dsDataTableDataChange(Sender: TObject;
|
|
Field: TField);
|
|
begin
|
|
inherited;
|
|
if Assigned(FCobro) and (not (FCobro.DataTable.Fetching) or
|
|
not (FCobro.DataTable.Opening) or not (FCobro.DataTable.Closing)) then
|
|
PonerTitulos;
|
|
end;
|
|
|
|
procedure TfEditorCobroCliente.EliminarInterno;
|
|
begin
|
|
inherited;
|
|
if (Application.MessageBox('¿Desea borrar este cobro de cliente?', 'Atención', MB_YESNO) = IDYES) then
|
|
begin
|
|
FController.Eliminar(Cobro);
|
|
inherited;
|
|
end;
|
|
end;
|
|
|
|
procedure TfEditorCobroCliente.AsignarVista;
|
|
var
|
|
AViewCobroCliente: TfrViewCobroCliente;
|
|
|
|
begin
|
|
AViewCobroCliente := TfrViewCobroCliente.Create(Self);
|
|
with AViewCobroCliente do
|
|
begin
|
|
Parent := pagGeneral;
|
|
Align := alClient;
|
|
dxLayoutCobroCliente.LookAndFeel := dxLayoutOfficeLookAndFeel1;
|
|
end;
|
|
ViewCobroCliente := AViewCobroCliente;
|
|
end;
|
|
|
|
procedure TfEditorCobroCliente.FormShow(Sender: TObject);
|
|
begin
|
|
inherited;
|
|
|
|
if not Assigned(FViewCobro) then
|
|
raise Exception.Create('No hay ninguna vista asignada');
|
|
|
|
if not Assigned(Cobro) then
|
|
raise Exception.Create('No hay ningún cobro asignado');
|
|
|
|
Cobro.DataTable.Active := True;
|
|
end;
|
|
|
|
procedure TfEditorCobroCliente.frViewClienteCobro1edtlNombrePropertiesEditValueChanged(Sender: TObject);
|
|
begin
|
|
inherited;
|
|
with (Sender as TcxDBTextEdit) do
|
|
Enabled := (FCobro.ID <> 0)
|
|
end;
|
|
|
|
procedure TfEditorCobroCliente.frViewClienteCobroedtlNombrePropertiesChange(
|
|
Sender: TObject);
|
|
begin
|
|
inherited;
|
|
PonerTitulos;
|
|
end;
|
|
|
|
function TfEditorCobroCliente.GetController: ICobrosClienteController;
|
|
begin
|
|
Result := FController;
|
|
end;
|
|
|
|
function TfEditorCobroCliente.GetCobro: IBizCobroCliente;
|
|
begin
|
|
Result := FCobro;
|
|
end;
|
|
|
|
function TfEditorCobroCliente.GetViewCobro: IViewCobroCliente;
|
|
begin
|
|
Result := FViewCobro;
|
|
end;
|
|
|
|
procedure TfEditorCobroCliente.GuardarInterno;
|
|
begin
|
|
inherited;
|
|
FController.Guardar(FCobro);
|
|
Modified := False;
|
|
end;
|
|
|
|
procedure TfEditorCobroCliente.ImprimirInterno;
|
|
begin
|
|
inherited;
|
|
FController.Print(FCobro);
|
|
end;
|
|
|
|
procedure TfEditorCobroCliente.OnContactoChanged(Sender: TObject);
|
|
begin
|
|
FCobro.Cliente := ViewCobroCliente.ViewClienteCobro.Cliente;
|
|
end;
|
|
|
|
procedure TfEditorCobroCliente.PonerTitulos(const ATitulo: string);
|
|
var
|
|
FTitulo : String;
|
|
begin
|
|
FTitulo := ATitulo;
|
|
if (FTitulo = '') and Assigned(FCobro) then
|
|
begin
|
|
if FCobro.EsNuevo then
|
|
FTitulo := 'Nuevo cobro'
|
|
else
|
|
FTitulo := 'Cobro' + ' - ' + FCobro.Cliente.Nombre
|
|
end;
|
|
|
|
inherited PonerTitulos(FTitulo);
|
|
|
|
Self.Caption := FTitulo + ' (' + dmUsuarios.EmpresaActual.NOMBRE + ')';
|
|
end;
|
|
|
|
procedure TfEditorCobroCliente.PrevisualizarInterno;
|
|
begin
|
|
inherited;
|
|
FController.Preview(FCobro);
|
|
end;
|
|
|
|
procedure TfEditorCobroCliente.SetController(const Value: ICobrosClienteController);
|
|
begin
|
|
FController := Value;
|
|
|
|
if Assigned(FController) then
|
|
begin
|
|
ViewCobroCliente.ViewClienteCobro.Controller := Controller.ClienteController;
|
|
end;
|
|
end;
|
|
|
|
procedure TfEditorCobroCliente.SetCobro(const Value: IBizCobroCliente);
|
|
begin
|
|
FCobro := Value;
|
|
|
|
if Assigned(FCobro) then
|
|
begin
|
|
dsDataTable.DataTable := FCobro.DataTable;
|
|
|
|
if Assigned(FViewCobro) then
|
|
begin
|
|
ViewCobroCliente.ViewClienteCobro.Cliente := (Controller.ClienteController.Buscar(Cobro.ID_CLIENTE) as IBizCliente);
|
|
ViewCobroCliente.ViewClienteCobro.OnClienteChanged := OnContactoChanged;
|
|
FViewCobro.Cobro := FCobro;
|
|
end;
|
|
|
|
Cobro.DataTable.Active := True;
|
|
end;
|
|
end;
|
|
|
|
procedure TfEditorCobroCliente.SetViewCobro(const Value: IViewCobroCliente);
|
|
begin
|
|
FViewCobro := Value;
|
|
|
|
if Assigned(FViewCobro) and Assigned(Cobro) then
|
|
FViewCobro.Cobro := Cobro;
|
|
end;
|
|
|
|
end.
|