Tecsitel_FactuGES2/Source/Modulos/Obras/Views/uViewObra.pas

130 lines
4.0 KiB
ObjectPascal
Raw Normal View History

unit uViewObra;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, ExtCtrls, StdCtrls, Buttons, DB, uDADataTable,
DBCtrls, Grids, DBGrids, uBizObras, Mask, ComCtrls, uCustomView,
JvComponent, JvFormAutoSize, cxControls, cxContainer, cxEdit, cxTextEdit,
cxDBEdit, dxLayoutControl, uDAInterfaces, uViewDatosYSeleccionCliente, cxMemo,
uViewDatosYSeleccionProveedor, uViewSubcontrataObra, uViewClienteAsociadoObra;
type
IViewObra = interface(IViewBase)
['{D8669267-CAC9-468E-9923-2D3B2DD30CED}']
function GetObra: IBizObra;
procedure SetObra(const Value: IBizObra);
property Obra: IBizObra read GetObra write SetObra;
end;
TfrViewObra = class(TfrViewBase, IViewObra)
DADataSource: TDADataSource;
ePersonaContacto: TcxDBTextEdit;
eTlfTelefono: TcxDBTextEdit;
eTlfMovil: TcxDBTextEdit;
eFax: TcxDBTextEdit;
dxLayoutControlObraGroup_Root: TdxLayoutGroup;
dxLayoutControlObra: TdxLayoutControl;
dxLayoutControlObraGroup1: TdxLayoutGroup;
dxLayoutControlObraItem3: TdxLayoutItem;
eNombre: TcxDBTextEdit;
dxLayoutControlObraItem4: TdxLayoutItem;
dxLayoutControlObraItem1: TdxLayoutItem;
dxLayoutControlObraItem5: TdxLayoutItem;
dxLayoutControlObraItem6: TdxLayoutItem;
dxLayoutControlObraGroup3: TdxLayoutGroup;
dxLayoutControlObraItem10: TdxLayoutItem;
eCalle: TcxDBTextEdit;
dxLayoutControlObraItem2: TdxLayoutItem;
ePoblacion: TcxDBTextEdit;
dxLayoutControlObraItem7: TdxLayoutItem;
dxLayoutControlObraGroup5: TdxLayoutGroup;
eCodigoPostal: TcxDBTextEdit;
dxLayoutControlObraItem9: TdxLayoutItem;
dxLayoutControlObraGroup6: TdxLayoutGroup;
eProvincia: TcxDBTextEdit;
dxLayoutControlObraGroup7: TdxLayoutGroup;
dxLayoutControlObraGroup4: TdxLayoutGroup;
dxLayoutControlObraItem11: TdxLayoutItem;
eObservaciones: TcxDBMemo;
dxLayoutControlObraGroup2: TdxLayoutGroup;
dxLayoutControlObraGroup8: TdxLayoutGroup;
dxLayoutControlObraGroup9: TdxLayoutGroup;
dxLayoutControlObraGroup10: TdxLayoutGroup;
dxLayoutControlObraItem8: TdxLayoutItem;
frViewSubcontrataObra1: TfrViewSubcontrataObra;
frViewClienteAsociadoObra1: TfrViewClienteAsociadoObra;
dxLayoutControlObraItem12: TdxLayoutItem;
dxLayoutControlObraItem13: TdxLayoutItem;
protected
FObra: IBizObra;
function GetObra: IBizObra;
procedure SetObra(const Value: IBizObra);
procedure OnClienteChanged(Sender : TObject);
procedure OnSubcontrataChanged(Sender : TObject);
public
property Obra: IBizObra read GetObra write SetObra;
end;
implementation
uses uDataModuleObras;
{$R *.dfm}
{ TfrViewObras }
{
******************************* TfrViewObras ********************************
}
function TfrViewObra.GetObra: IBizObra;
begin
Result := FObra;
end;
procedure TfrViewObra.OnClienteChanged(Sender: TObject);
begin
if Assigned(FObra) then
begin
FObra.Edit;
FObra.ID_CLIENTE := frViewClienteAsociadoObra1.ID_Cliente;
end;
end;
procedure TfrViewObra.OnSubcontrataChanged(Sender: TObject);
begin
if Assigned(FObra) then
begin
FObra.Edit;
FObra.ID_SUBCONTRATA := frViewSubcontrataObra1.ID_Proveedor;
end;
end;
procedure TfrViewObra.SetObra(const Value: IBizObra);
begin
FObra := Value;
frViewClienteAsociadoObra1.OnClienteChanged := NIL;
frViewSubcontrataObra1.OnProveedorChanged := NIL;
if Assigned(FObra) then
begin
DADataSource.DataTable := FObra.DataTable;
if not FObra.ID_CLIENTEIsNull then
frViewClienteAsociadoObra1.ID_Cliente := FObra.ID_CLIENTE;
if not FObra.ID_SUBCONTRATAIsNull then
frViewSubcontrataObra1.ID_Proveedor := FObra.ID_SUBCONTRATA;
frViewClienteAsociadoObra1.OnClienteChanged := OnClienteChanged;
frViewSubcontrataObra1.OnProveedorChanged := OnSubcontrataChanged;
end
else
DADataSource.DataTable := NIL;
end;
end.