Para que al elegir el cliente asociado a la obra se copie la direccion de este

git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/trunk@458 0c75b7a4-871f-7646-8a2f-f78d34cc349f
This commit is contained in:
roberto 2008-06-16 17:17:42 +00:00
parent 6bb61098cf
commit c1310ea506
13 changed files with 191 additions and 49 deletions

View File

@ -39,17 +39,18 @@
<Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType>Package</Borland.ProjectType>
<BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="ImplicitBuild">True</Package_Options><Package_Options Name="DesigntimeOnly">False</Package_Options><Package_Options Name="RuntimeOnly">False</Package_Options></Package_Options><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Source><Source Name="MainSource">Obras_controller.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="ImplicitBuild">False</Package_Options><Package_Options Name="DesigntimeOnly">False</Package_Options><Package_Options Name="RuntimeOnly">False</Package_Options></Package_Options><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Source><Source Name="MainSource">Obras_controller.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
</ProjectExtensions>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
<ItemGroup>
<DelphiCompile Include="Obras_controller.dpk">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="ApplicationBase.dcp" />
<DCCReference Include="GUIBase.dcp" />
<DCCReference Include="Obras_data.dcp" />
<DCCReference Include="Obras_model.dcp" />
<DCCReference Include="..\..\Lib\ApplicationBase.dcp" />
<DCCReference Include="..\..\Lib\Contactos_model.dcp" />
<DCCReference Include="..\..\Lib\GUIBase.dcp" />
<DCCReference Include="..\..\Lib\Obras_data.dcp" />
<DCCReference Include="..\..\Lib\Obras_model.dcp" />
<DCCReference Include="uObrasController.pas" />
<DCCReference Include="View\uIEditorListaObras.pas" />
<DCCReference Include="View\uIEditorObra.pas" />

View File

@ -5,7 +5,7 @@ interface
uses
Classes, SysUtils, uDADataTable, uControllerBase, uEditorDBItem,
uIDataModuleObras, uBizObras;
uIDataModuleObras, uBizObras, uBizDireccionesContacto;
type
IObrasController = interface(IObservador)
@ -25,6 +25,9 @@ type
function Duplicar(AObra: IBizObra): IBizObra;
procedure Preview(AObra : IBizObra);
procedure Print(AObra : IBizObra);
procedure QuitarDireccion(AObra: IBizObra);
procedure CopiarDireccion (const ADireccionEnvio: IBizDireccionesContacto; AObra: IBizObra);
end;
TObrasController = class(TObservador, IObrasController)
@ -66,6 +69,9 @@ type
function Duplicar(AObra: IBizObra): IBizObra;
procedure Preview(AObra : IBizObra);
procedure Print(AObra : IBizObra);
procedure QuitarDireccion(AObra: IBizObra);
procedure CopiarDireccion (const ADireccionEnvio: IBizDireccionesContacto; AObra: IBizObra);
end;
implementation
@ -120,6 +126,44 @@ begin
FiltrarEmpresa(Result);
end;
procedure TObrasController.CopiarDireccion(const ADireccionEnvio: IBizDireccionesContacto; AObra: IBizObra);
var
bEnEdicion : Boolean;
begin
if not Assigned(AObra) then
raise Exception.Create ('Obra no asignada (CopiarDireccion)');
if not Assigned(ADireccionEnvio) then
raise Exception.Create ('No se ha indicado la dirección (CopiarDireccionEnvio)');
if AObra.DataTable.Active then
AObra.DataTable.Active := True;
if ADireccionEnvio.DataTable.Active then
ADireccionEnvio.DataTable.Active := True;
bEnEdicion := (AObra.DataTable.State in dsEditModes);
if not bEnEdicion then
AObra.Edit;
ShowHourglassCursor;
AObra.Edit;
try
AObra.CALLE := ADireccionEnvio.CALLE;
AObra.POBLACION := ADireccionEnvio.POBLACION;
AObra.CODIGO_POSTAL := ADireccionEnvio.CODIGO_POSTAL;
AObra.PROVINCIA := ADireccionEnvio.PROVINCIA;
AObra.TELEFONO := ADireccionEnvio.TELEFONO;
AObra.PERSONA_CONTACTO := ADireccionEnvio.PERSONA_CONTACTO;
if not bEnEdicion then
AObra.Post;
finally
HideHourglassCursor;
end;
end;
constructor TObrasController.Create;
begin
inherited;
@ -413,4 +457,35 @@ begin
}
end;
procedure TObrasController.QuitarDireccion(AObra: IBizObra);
var
bEnEdicion : Boolean;
begin
if not Assigned(AObra) then
raise Exception.Create ('Obra no asignada (QuitarDireccion)');
if AObra.DataTable.Active then
AObra.DataTable.Active := True;
bEnEdicion := (AObra.DataTable.State in dsEditModes);
if not bEnEdicion then
AObra.Edit;
ShowHourglassCursor;
AObra.Edit;
try
AObra.DataTable.FieldByName(fld_ObrasCALLE).Clear;
AObra.DataTable.FieldByName(fld_ObrasPOBLACION).Clear;
AObra.DataTable.FieldByName(fld_ObrasCODIGO_POSTAL).Clear;
AObra.DataTable.FieldByName(fld_ObrasPROVINCIA).Clear;
AObra.DataTable.FieldByName(fld_ObrasTELEFONO).Clear;
AObra.DataTable.FieldByName(fld_ObrasPERSONA_CONTACTO).Clear;
if not bEnEdicion then
AObra.Post;
finally
HideHourglassCursor;
end;
end;
end.

View File

@ -9,6 +9,7 @@
<Projects Include="..\..\GUIBase\GUIBase.dproj" />
<Projects Include="..\..\Servidor\FactuGES_Server.dproj" />
<Projects Include="..\Contactos\Views\Contactos_view.dproj" />
<Projects Include="..\Presupuestos de cliente\Views\PresupuestosCliente_view.dproj" />
<Projects Include="Controller\Obras_controller.dproj" />
<Projects Include="Data\Obras_data.dproj" />
<Projects Include="Model\Obras_model.dproj" />
@ -111,14 +112,23 @@
<Target Name="FactuGES_Server:Make">
<MSBuild Projects="..\..\Servidor\FactuGES_Server.dproj" Targets="Make" />
</Target>
<Target Name="PresupuestosCliente_view">
<MSBuild Projects="..\Presupuestos de cliente\Views\PresupuestosCliente_view.dproj" Targets="" />
</Target>
<Target Name="PresupuestosCliente_view:Clean">
<MSBuild Projects="..\Presupuestos de cliente\Views\PresupuestosCliente_view.dproj" Targets="Clean" />
</Target>
<Target Name="PresupuestosCliente_view:Make">
<MSBuild Projects="..\Presupuestos de cliente\Views\PresupuestosCliente_view.dproj" Targets="Make" />
</Target>
<Target Name="Build">
<CallTarget Targets="Base;GUIBase;ApplicationBase;Contactos_view;Obras_model;Obras_data;Obras_controller;Obras_view;Obras_plugin;FactuGES_Server" />
<CallTarget Targets="Base;GUIBase;ApplicationBase;Contactos_view;Obras_model;Obras_data;Obras_controller;Obras_view;Obras_plugin;FactuGES_Server;PresupuestosCliente_view" />
</Target>
<Target Name="Clean">
<CallTarget Targets="Base:Clean;GUIBase:Clean;ApplicationBase:Clean;Contactos_view:Clean;Obras_model:Clean;Obras_data:Clean;Obras_controller:Clean;Obras_view:Clean;Obras_plugin:Clean;FactuGES_Server:Clean" />
<CallTarget Targets="Base:Clean;GUIBase:Clean;ApplicationBase:Clean;Contactos_view:Clean;Obras_model:Clean;Obras_data:Clean;Obras_controller:Clean;Obras_view:Clean;Obras_plugin:Clean;FactuGES_Server:Clean;PresupuestosCliente_view:Clean" />
</Target>
<Target Name="Make">
<CallTarget Targets="Base:Make;GUIBase:Make;ApplicationBase:Make;Contactos_view:Make;Obras_model:Make;Obras_data:Make;Obras_controller:Make;Obras_view:Make;Obras_plugin:Make;FactuGES_Server:Make" />
<CallTarget Targets="Base:Make;GUIBase:Make;ApplicationBase:Make;Contactos_view:Make;Obras_model:Make;Obras_data:Make;Obras_controller:Make;Obras_view:Make;Obras_plugin:Make;FactuGES_Server:Make;PresupuestosCliente_view:Make" />
</Target>
<Import Condition="Exists('$(MSBuildBinPath)\Borland.Group.Targets')" Project="$(MSBuildBinPath)\Borland.Group.Targets" />
</Project>

View File

@ -40,19 +40,21 @@
<Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType>Package</Borland.ProjectType>
<BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="ImplicitBuild">True</Package_Options><Package_Options Name="DesigntimeOnly">False</Package_Options><Package_Options Name="RuntimeOnly">False</Package_Options></Package_Options><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Source><Source Name="MainSource">Obras_view.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="ImplicitBuild">False</Package_Options><Package_Options Name="DesigntimeOnly">False</Package_Options><Package_Options Name="RuntimeOnly">False</Package_Options></Package_Options><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Source><Source Name="MainSource">Obras_view.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
</ProjectExtensions>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
<ItemGroup>
<DelphiCompile Include="Obras_view.dpk">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="C:\Documents and Settings\Usuario\ApplicationBase.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\Base.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\Contactos_view.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\GUIBase.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\Obras_controller.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\Obras_model.dcp" />
<DCCReference Include="..\..\Lib\ApplicationBase.dcp" />
<DCCReference Include="..\..\Lib\Base.dcp" />
<DCCReference Include="..\..\Lib\Contactos_controller.dcp" />
<DCCReference Include="..\..\Lib\Contactos_model.dcp" />
<DCCReference Include="..\..\Lib\Contactos_view.dcp" />
<DCCReference Include="..\..\Lib\GUIBase.dcp" />
<DCCReference Include="..\..\Lib\Obras_controller.dcp" />
<DCCReference Include="..\..\Lib\Obras_model.dcp" />
<DCCReference Include="uEditorListaObras.pas">
<Form>fEditorListaObras</Form>
<DesignClass>TfListaObras</DesignClass>

View File

@ -122,6 +122,8 @@ end;
procedure TfEditorObra.SetController(const Value: IObrasController);
begin
FController := Value;
if Assigned(FViewObra) and Assigned(FController) then
FViewObra.Controller := FController;
end;
procedure TfEditorObra.SetViewObra(const Value: IViewObra);

View File

@ -12,7 +12,7 @@ uses
dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green,
dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinSilver, dxSkinStardust,
dxSkinsDefaultPainters, dxSkinValentine, dxSkinXmas2008Blue,
dxSkinsdxLCPainter;
dxSkinsdxLCPainter, dxSkinBlack;
type
TfrViewClienteAsociadoObra = class(TfrViewDatosYSeleccionCliente)

View File

@ -1,6 +1,6 @@
inherited frViewObra: TfrViewObra
Width = 661
Height = 479
Width = 451
Height = 304
Align = alClient
AutoSize = True
ExplicitWidth = 451
@ -8,18 +8,16 @@ inherited frViewObra: TfrViewObra
object dxLayoutControlObra: TdxLayoutControl
Left = 0
Top = 0
Width = 661
Height = 479
Width = 451
Height = 304
Align = alClient
ParentBackground = True
TabOrder = 0
TabStop = False
AutoContentSizes = [acsWidth, acsHeight]
ExplicitWidth = 451
ExplicitHeight = 304
DesignSize = (
661
479)
451
304)
object eNombre: TcxDBTextEdit
Left = 130
Top = 34
@ -141,10 +139,10 @@ inherited frViewObra: TfrViewObra
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 5
Width = 205
Width = 116
end
object eCodigoPostal: TcxDBTextEdit
Left = 234
Left = 189
Top = 145
DataBinding.DataField = 'CODIGO_POSTAL'
DataBinding.DataSource = DADataSource
@ -185,7 +183,7 @@ inherited frViewObra: TfrViewObra
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 3
Width = 65
Width = 20
end
object eObservaciones: TcxDBMemo
Left = 22
@ -208,7 +206,7 @@ inherited frViewObra: TfrViewObra
Width = 390
end
inline frViewSubcontrataObra1: TfrViewSubcontrataObra
Left = 321
Left = 276
Top = 283
Width = 136
Height = 150
@ -220,13 +218,13 @@ inherited frViewObra: TfrViewObra
ParentFont = False
TabOrder = 10
ReadOnly = False
ExplicitLeft = 321
ExplicitLeft = 276
ExplicitTop = 283
ExplicitWidth = 136
ExplicitHeight = 150
inherited dxLayoutControl1: TdxLayoutControl
Width = 136
ExplicitWidth = 173
ExplicitWidth = 136
inherited edtlNombre: TcxDBTextEdit
ExplicitWidth = 213
Width = 213
@ -282,9 +280,9 @@ inherited frViewObra: TfrViewObra
end
end
inline frViewClienteAsociadoObra1: TfrViewClienteAsociadoObra
Left = 321
Left = 276
Top = 34
Width = 351
Width = 136
Height = 213
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
@ -294,15 +292,15 @@ inherited frViewObra: TfrViewObra
ParentFont = False
TabOrder = 9
ReadOnly = False
ExplicitLeft = 321
ExplicitLeft = 276
ExplicitTop = 34
ExplicitWidth = 351
ExplicitWidth = 136
ExplicitHeight = 213
inherited dxLayoutControl1: TdxLayoutControl
Width = 351
Width = 136
Height = 213
ExplicitWidth = 405
ExplicitHeight = 159
ExplicitWidth = 351
ExplicitHeight = 213
inherited edtlNombre: TcxDBTextEdit
ExplicitWidth = 210
Width = 210
@ -324,12 +322,12 @@ inherited frViewObra: TfrViewObra
Width = 210
end
inherited edtCodigoPostal: TcxDBTextEdit
Left = 209
ExplicitLeft = 209
Left = 192
ExplicitLeft = 192
end
inherited Button3: TBitBtn
Left = 99
ExplicitLeft = 99
Left = 82
ExplicitLeft = 82
end
end
end

View File

@ -14,7 +14,8 @@ uses
dxSkinMcSkin, dxSkinMoneyTwins, dxSkinOffice2007Black, dxSkinOffice2007Blue,
dxSkinOffice2007Green, dxSkinOffice2007Pink, dxSkinOffice2007Silver,
dxSkinSilver, dxSkinStardust, dxSkinsDefaultPainters, dxSkinValentine,
dxSkinXmas2008Blue, dxSkinsdxLCPainter, cxGraphics, cxMaskEdit, cxDropDownEdit;
dxSkinXmas2008Blue, dxSkinsdxLCPainter, cxGraphics, cxMaskEdit, cxDropDownEdit,
dxSkinBlack, uObrasController;
type
IViewObra = interface(IViewBase)
@ -22,8 +23,11 @@ type
function GetObra: IBizObra;
procedure SetObra(const Value: IBizObra);
property Obra: IBizObra read GetObra write SetObra;
function GetController : IObrasController;
procedure SetController (const Value : IObrasController);
property Controller: IObrasController read GetController write SetController;
end;
TfrViewObra = class(TfrViewBase, IViewObra)
DADataSource: TDADataSource;
ePersonaContacto: TcxDBTextEdit;
@ -59,7 +63,7 @@ type
dxLayoutControlObraGroup10: TdxLayoutGroup;
dxLayoutControlObraItem8: TdxLayoutItem;
frViewSubcontrataObra1: TfrViewSubcontrataObra;
frViewClienteAsociadoObra1: TfrViewClienteAsociadoObra;
frViewClienteAsociadoObra1: TfrViewClienteAsociadoObra;
dxLayoutControlObraItem12: TdxLayoutItem;
dxLayoutControlObraItem13: TdxLayoutItem;
dxLayoutControlObraGroup11: TdxLayoutGroup;
@ -67,6 +71,7 @@ type
procedure cbProvinciaPropertiesInitPopup(Sender: TObject);
protected
FObra: IBizObra;
FController : IObrasController;
FProvincias : TStringList;
FPoblaciones : TStringList;
procedure CargarProvincias;
@ -74,17 +79,21 @@ type
function GetObra: IBizObra;
procedure SetObra(const Value: IBizObra);
procedure OnClienteChanged(Sender : TObject);
procedure OnSubcontrataChanged(Sender : TObject);
procedure OnSubcontrataChanged(Sender : TObject);
function GetController : IObrasController;
procedure SetController (const Value : IObrasController); virtual;
public
constructor Create(AOwner : TComponent); override;
destructor Destroy; override;
property Obra: IBizObra read GetObra write SetObra;
property Controller: IObrasController read GetController write SetController;
end;
implementation
uses
uDataModuleObras, uProvinciasPoblacionesController, uStringsUtils;
uDataModuleObras, uProvinciasPoblacionesController, uStringsUtils,
uClientesController, uBizDireccionesContacto;
{$R *.dfm}
@ -184,20 +193,60 @@ begin
if Assigned(FPoblaciones) then
FreeANDNIL(FPoblaciones);
FObra := Nil;
FController := Nil;
inherited;
end;
function TfrViewObra.GetController: IObrasController;
begin
Result := FController;
end;
function TfrViewObra.GetObra: IBizObra;
begin
Result := FObra;
end;
procedure TfrViewObra.OnClienteChanged(Sender: TObject);
var
AClientesController : IClientesController;
ADireccion : IBizDireccionesContacto;
begin
if Assigned(FObra) then
begin
FObra.Edit;
FObra.ID_CLIENTE := frViewClienteAsociadoObra1.ID_Cliente;
AClientesController := TClientesController.Create;
try
{ // Esto podría ser configurable en el programa
if not AClientesController.TieneDatosBancarios(FPresupuesto.Cliente) then
MessageBox(0, 'Este cliente no tiene datos bancarios en su ficha', 'Atención', MB_ICONWARNING or MB_OK);}
case frViewClienteAsociadoObra1.Cliente.Direcciones.RecordCount of
0 : begin
FController.QuitarDireccion(FObra);
end;
1 : begin
FController.CopiarDireccion(frViewClienteAsociadoObra1.Cliente.Direcciones, FObra);
end
else begin
ADireccion := AClientesController.ElegirDireccionEntrega(frViewClienteAsociadoObra1.Cliente.Direcciones, '');
ShowHourglassCursor;
try
if Assigned(ADireccion) then
FController.CopiarDireccion(ADireccion, FObra);
finally
HideHourglassCursor;
ADireccion := NIL;
end;
end;
end;
finally
AClientesController := NIL;
end;
end;
end;
@ -210,6 +259,11 @@ begin
end;
end;
procedure TfrViewObra.SetController(const Value: IObrasController);
begin
FController := Value;
end;
procedure TfrViewObra.SetObra(const Value: IBizObra);
begin
FObra := Value;

View File

@ -12,7 +12,7 @@ uses
dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green,
dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinSilver, dxSkinStardust,
dxSkinsDefaultPainters, dxSkinValentine, dxSkinXmas2008Blue,
dxSkinsdxLCPainter;
dxSkinsdxLCPainter, dxSkinBlack;
type
TfrViewSubcontrataObra = class(TfrViewDatosYSeleccionProveedor)