Tecsitel_FactuGES2/Source/Modulos/Obras/Views/uViewObra.pas
david e94ba43e81 - Proveedores: indicar si es subcontrata o no.
- Contactos: lista de personal asociado a un contacto (en clientes y proveedores).
- Obras: poder indicar una subcontrata
- Pedidos a proveedor: usar obras como destino del pedido.

git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/trunk@350 0c75b7a4-871f-7646-8a2f-f78d34cc349f
2008-03-24 20:50:41 +00:00

130 lines
4.0 KiB
ObjectPascal

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.