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.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType>Package</Borland.ProjectType> <Borland.ProjectType>Package</Borland.ProjectType>
<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">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> </ProjectExtensions>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" /> <Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
<ItemGroup> <ItemGroup>
<DelphiCompile Include="Obras_controller.dpk"> <DelphiCompile Include="Obras_controller.dpk">
<MainSource>MainSource</MainSource> <MainSource>MainSource</MainSource>
</DelphiCompile> </DelphiCompile>
<DCCReference Include="ApplicationBase.dcp" /> <DCCReference Include="..\..\Lib\ApplicationBase.dcp" />
<DCCReference Include="GUIBase.dcp" /> <DCCReference Include="..\..\Lib\Contactos_model.dcp" />
<DCCReference Include="Obras_data.dcp" /> <DCCReference Include="..\..\Lib\GUIBase.dcp" />
<DCCReference Include="Obras_model.dcp" /> <DCCReference Include="..\..\Lib\Obras_data.dcp" />
<DCCReference Include="..\..\Lib\Obras_model.dcp" />
<DCCReference Include="uObrasController.pas" /> <DCCReference Include="uObrasController.pas" />
<DCCReference Include="View\uIEditorListaObras.pas" /> <DCCReference Include="View\uIEditorListaObras.pas" />
<DCCReference Include="View\uIEditorObra.pas" /> <DCCReference Include="View\uIEditorObra.pas" />

View File

@ -5,7 +5,7 @@ interface
uses uses
Classes, SysUtils, uDADataTable, uControllerBase, uEditorDBItem, Classes, SysUtils, uDADataTable, uControllerBase, uEditorDBItem,
uIDataModuleObras, uBizObras; uIDataModuleObras, uBizObras, uBizDireccionesContacto;
type type
IObrasController = interface(IObservador) IObrasController = interface(IObservador)
@ -25,6 +25,9 @@ type
function Duplicar(AObra: IBizObra): IBizObra; function Duplicar(AObra: IBizObra): IBizObra;
procedure Preview(AObra : IBizObra); procedure Preview(AObra : IBizObra);
procedure Print(AObra : IBizObra); procedure Print(AObra : IBizObra);
procedure QuitarDireccion(AObra: IBizObra);
procedure CopiarDireccion (const ADireccionEnvio: IBizDireccionesContacto; AObra: IBizObra);
end; end;
TObrasController = class(TObservador, IObrasController) TObrasController = class(TObservador, IObrasController)
@ -66,6 +69,9 @@ type
function Duplicar(AObra: IBizObra): IBizObra; function Duplicar(AObra: IBizObra): IBizObra;
procedure Preview(AObra : IBizObra); procedure Preview(AObra : IBizObra);
procedure Print(AObra : IBizObra); procedure Print(AObra : IBizObra);
procedure QuitarDireccion(AObra: IBizObra);
procedure CopiarDireccion (const ADireccionEnvio: IBizDireccionesContacto; AObra: IBizObra);
end; end;
implementation implementation
@ -120,6 +126,44 @@ begin
FiltrarEmpresa(Result); FiltrarEmpresa(Result);
end; 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; constructor TObrasController.Create;
begin begin
inherited; inherited;
@ -413,4 +457,35 @@ begin
} }
end; 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. end.

View File

@ -9,6 +9,7 @@
<Projects Include="..\..\GUIBase\GUIBase.dproj" /> <Projects Include="..\..\GUIBase\GUIBase.dproj" />
<Projects Include="..\..\Servidor\FactuGES_Server.dproj" /> <Projects Include="..\..\Servidor\FactuGES_Server.dproj" />
<Projects Include="..\Contactos\Views\Contactos_view.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="Controller\Obras_controller.dproj" />
<Projects Include="Data\Obras_data.dproj" /> <Projects Include="Data\Obras_data.dproj" />
<Projects Include="Model\Obras_model.dproj" /> <Projects Include="Model\Obras_model.dproj" />
@ -111,14 +112,23 @@
<Target Name="FactuGES_Server:Make"> <Target Name="FactuGES_Server:Make">
<MSBuild Projects="..\..\Servidor\FactuGES_Server.dproj" Targets="Make" /> <MSBuild Projects="..\..\Servidor\FactuGES_Server.dproj" Targets="Make" />
</Target> </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"> <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>
<Target Name="Clean"> <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>
<Target Name="Make"> <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> </Target>
<Import Condition="Exists('$(MSBuildBinPath)\Borland.Group.Targets')" Project="$(MSBuildBinPath)\Borland.Group.Targets" /> <Import Condition="Exists('$(MSBuildBinPath)\Borland.Group.Targets')" Project="$(MSBuildBinPath)\Borland.Group.Targets" />
</Project> </Project>

View File

@ -40,19 +40,21 @@
<Borland.Personality>Delphi.Personality</Borland.Personality> <Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType>Package</Borland.ProjectType> <Borland.ProjectType>Package</Borland.ProjectType>
<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">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> </ProjectExtensions>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" /> <Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
<ItemGroup> <ItemGroup>
<DelphiCompile Include="Obras_view.dpk"> <DelphiCompile Include="Obras_view.dpk">
<MainSource>MainSource</MainSource> <MainSource>MainSource</MainSource>
</DelphiCompile> </DelphiCompile>
<DCCReference Include="C:\Documents and Settings\Usuario\ApplicationBase.dcp" /> <DCCReference Include="..\..\Lib\ApplicationBase.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\Base.dcp" /> <DCCReference Include="..\..\Lib\Base.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\Contactos_view.dcp" /> <DCCReference Include="..\..\Lib\Contactos_controller.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\GUIBase.dcp" /> <DCCReference Include="..\..\Lib\Contactos_model.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\Obras_controller.dcp" /> <DCCReference Include="..\..\Lib\Contactos_view.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\Obras_model.dcp" /> <DCCReference Include="..\..\Lib\GUIBase.dcp" />
<DCCReference Include="..\..\Lib\Obras_controller.dcp" />
<DCCReference Include="..\..\Lib\Obras_model.dcp" />
<DCCReference Include="uEditorListaObras.pas"> <DCCReference Include="uEditorListaObras.pas">
<Form>fEditorListaObras</Form> <Form>fEditorListaObras</Form>
<DesignClass>TfListaObras</DesignClass> <DesignClass>TfListaObras</DesignClass>

View File

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

View File

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

View File

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

View File

@ -14,7 +14,8 @@ uses
dxSkinMcSkin, dxSkinMoneyTwins, dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinMcSkin, dxSkinMoneyTwins, dxSkinOffice2007Black, dxSkinOffice2007Blue,
dxSkinOffice2007Green, dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinOffice2007Green, dxSkinOffice2007Pink, dxSkinOffice2007Silver,
dxSkinSilver, dxSkinStardust, dxSkinsDefaultPainters, dxSkinValentine, dxSkinSilver, dxSkinStardust, dxSkinsDefaultPainters, dxSkinValentine,
dxSkinXmas2008Blue, dxSkinsdxLCPainter, cxGraphics, cxMaskEdit, cxDropDownEdit; dxSkinXmas2008Blue, dxSkinsdxLCPainter, cxGraphics, cxMaskEdit, cxDropDownEdit,
dxSkinBlack, uObrasController;
type type
IViewObra = interface(IViewBase) IViewObra = interface(IViewBase)
@ -22,8 +23,11 @@ type
function GetObra: IBizObra; function GetObra: IBizObra;
procedure SetObra(const Value: IBizObra); procedure SetObra(const Value: IBizObra);
property Obra: IBizObra read GetObra write SetObra; property Obra: IBizObra read GetObra write SetObra;
function GetController : IObrasController;
procedure SetController (const Value : IObrasController);
property Controller: IObrasController read GetController write SetController;
end; end;
TfrViewObra = class(TfrViewBase, IViewObra) TfrViewObra = class(TfrViewBase, IViewObra)
DADataSource: TDADataSource; DADataSource: TDADataSource;
ePersonaContacto: TcxDBTextEdit; ePersonaContacto: TcxDBTextEdit;
@ -59,7 +63,7 @@ type
dxLayoutControlObraGroup10: TdxLayoutGroup; dxLayoutControlObraGroup10: TdxLayoutGroup;
dxLayoutControlObraItem8: TdxLayoutItem; dxLayoutControlObraItem8: TdxLayoutItem;
frViewSubcontrataObra1: TfrViewSubcontrataObra; frViewSubcontrataObra1: TfrViewSubcontrataObra;
frViewClienteAsociadoObra1: TfrViewClienteAsociadoObra; frViewClienteAsociadoObra1: TfrViewClienteAsociadoObra;
dxLayoutControlObraItem12: TdxLayoutItem; dxLayoutControlObraItem12: TdxLayoutItem;
dxLayoutControlObraItem13: TdxLayoutItem; dxLayoutControlObraItem13: TdxLayoutItem;
dxLayoutControlObraGroup11: TdxLayoutGroup; dxLayoutControlObraGroup11: TdxLayoutGroup;
@ -67,6 +71,7 @@ type
procedure cbProvinciaPropertiesInitPopup(Sender: TObject); procedure cbProvinciaPropertiesInitPopup(Sender: TObject);
protected protected
FObra: IBizObra; FObra: IBizObra;
FController : IObrasController;
FProvincias : TStringList; FProvincias : TStringList;
FPoblaciones : TStringList; FPoblaciones : TStringList;
procedure CargarProvincias; procedure CargarProvincias;
@ -74,17 +79,21 @@ type
function GetObra: IBizObra; function GetObra: IBizObra;
procedure SetObra(const Value: IBizObra); procedure SetObra(const Value: IBizObra);
procedure OnClienteChanged(Sender : TObject); procedure OnClienteChanged(Sender : TObject);
procedure OnSubcontrataChanged(Sender : TObject); procedure OnSubcontrataChanged(Sender : TObject);
function GetController : IObrasController;
procedure SetController (const Value : IObrasController); virtual;
public public
constructor Create(AOwner : TComponent); override; constructor Create(AOwner : TComponent); override;
destructor Destroy; override; destructor Destroy; override;
property Obra: IBizObra read GetObra write SetObra; property Obra: IBizObra read GetObra write SetObra;
property Controller: IObrasController read GetController write SetController;
end; end;
implementation implementation
uses uses
uDataModuleObras, uProvinciasPoblacionesController, uStringsUtils; uDataModuleObras, uProvinciasPoblacionesController, uStringsUtils,
uClientesController, uBizDireccionesContacto;
{$R *.dfm} {$R *.dfm}
@ -184,20 +193,60 @@ begin
if Assigned(FPoblaciones) then if Assigned(FPoblaciones) then
FreeANDNIL(FPoblaciones); FreeANDNIL(FPoblaciones);
FObra := Nil;
FController := Nil;
inherited; inherited;
end; end;
function TfrViewObra.GetController: IObrasController;
begin
Result := FController;
end;
function TfrViewObra.GetObra: IBizObra; function TfrViewObra.GetObra: IBizObra;
begin begin
Result := FObra; Result := FObra;
end; end;
procedure TfrViewObra.OnClienteChanged(Sender: TObject); procedure TfrViewObra.OnClienteChanged(Sender: TObject);
var
AClientesController : IClientesController;
ADireccion : IBizDireccionesContacto;
begin begin
if Assigned(FObra) then if Assigned(FObra) then
begin begin
FObra.Edit; FObra.Edit;
FObra.ID_CLIENTE := frViewClienteAsociadoObra1.ID_Cliente; 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;
end; end;
@ -210,6 +259,11 @@ begin
end; end;
end; end;
procedure TfrViewObra.SetController(const Value: IObrasController);
begin
FController := Value;
end;
procedure TfrViewObra.SetObra(const Value: IBizObra); procedure TfrViewObra.SetObra(const Value: IBizObra);
begin begin
FObra := Value; FObra := Value;

View File

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