2007-10-26 18:19:55 +00:00
unit uViewPresupuestoCliente;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, uBizPresupuestosCliente, DB, uDADataTable, uCustomView,
2008-09-02 16:21:43 +00:00
AppEvnts, StdCtrls, Mask, DBCtrls, uViewDatosClientePresupuesto,
2007-10-26 18:19:55 +00:00
uViewObservaciones, uViewDatosYSeleccionCliente,
cxGraphics, cxDropDownEdit, cxImageComboBox, cxDBEdit, cxContainer, cxEdit,
cxTextEdit, cxMaskEdit, cxCalendar, dxLayoutControl, cxControls, cxMemo,
uViewDireccionEntregaPresupuestoCliente, Buttons, ActnList, cxLookupEdit,
2007-11-12 19:36:34 +00:00
cxDBLookupEdit, cxDBLookupComboBox, uFormasPagoController, uDAInterfaces,
2008-08-27 16:48:20 +00:00
uBizFormasPago, cxButtonEdit;
2007-10-26 18:19:55 +00:00
type
IViewPresupuestoCliente = interface( IViewBase)
[ '{C5385699-C1A4-4AEB-B3D0-EE3BDB322FE2}' ]
2007-11-05 17:49:11 +00:00
function GetPresupuesto: IBizPresupuestoCliente;
procedure SetPresupuesto( const Value: IBizPresupuestoCliente) ;
property Presupuesto: IBizPresupuestoCliente read GetPresupuesto write SetPresupuesto;
2007-10-26 18:19:55 +00:00
2007-11-05 17:49:11 +00:00
function GetViewClientePresupuesto: TfrViewDatosYSeleccionCliente;
procedure SetViewClientePresupuesto( const Value: TfrViewDatosYSeleccionCliente) ;
property ViewClientePresupuesto: TfrViewDatosYSeleccionCliente read GetViewClientePresupuesto write SetViewClientePresupuesto;
2007-10-26 18:19:55 +00:00
end ;
TfrViewPresupuestoCliente = class( TfrViewBase, IViewPresupuestoCliente)
DADataSource: TDADataSource;
dxLayoutControl1Group_Root: TdxLayoutGroup;
dxLayoutControl1: TdxLayoutControl;
dxLayoutControl1Item2: TdxLayoutItem;
2007-11-05 17:49:11 +00:00
edtFechaPresupuesto: TcxDBDateEdit;
2007-10-26 18:19:55 +00:00
dxLayoutControl1Group1: TdxLayoutGroup;
dxLayoutControl1Group2: TdxLayoutGroup;
dxLayoutControl1Item6: TdxLayoutItem;
memObservaciones: TcxDBMemo;
dxLayoutControl1Item3: TdxLayoutItem;
eReferencia: TcxDBTextEdit;
dxLayoutControl1Group7: TdxLayoutGroup;
ActionList1: TActionList;
actElegirDireccion: TAction;
dxLayoutControl1Item4: TdxLayoutItem;
cbFormaPago: TcxDBLookupComboBox;
dxLayoutControl1Item5: TdxLayoutItem;
bFormasPago: TButton;
dxLayoutControl1Group5: TdxLayoutGroup;
dsFormaPago: TDADataSource;
dxLayoutControl1Item7: TdxLayoutItem;
2007-11-05 17:49:11 +00:00
edtFechaDecision: TcxDBDateEdit;
2007-10-26 18:19:55 +00:00
dxLayoutControl1Item15: TdxLayoutItem;
eRefCliente: TcxDBTextEdit;
2007-11-05 17:49:11 +00:00
dxLayoutControl1Item8: TdxLayoutItem;
2008-03-04 11:19:32 +00:00
cbClienteFinal: TcxDBButtonEdit;
2007-11-05 17:49:11 +00:00
cbSituacion: TcxDBImageComboBox;
dxLayoutControl1Item10: TdxLayoutItem;
2008-02-18 16:24:18 +00:00
dxLayoutControl1Item9: TdxLayoutItem;
eReferenciaAux: TcxDBTextEdit;
dxLayoutControl1Group3: TdxLayoutGroup;
2008-03-24 20:50:41 +00:00
dxLayoutControl1Group4: TdxLayoutGroup;
dxLayoutControl1Group6: TdxLayoutGroup;
dxLayoutControl1Group8: TdxLayoutGroup;
2008-09-02 16:21:43 +00:00
frViewDatosClientePresupuesto1: TfrViewDatosClientePresupuesto;
dxLayoutControl1Item1: TdxLayoutItem;
2007-10-26 18:19:55 +00:00
procedure CustomViewCreate( Sender: TObject) ;
procedure CustomViewDestroy( Sender: TObject) ;
procedure actElegirDireccionExecute( Sender: TObject) ;
procedure actElegirDireccionUpdate( Sender: TObject) ;
procedure bFormasPagoClick( Sender: TObject) ;
2007-11-05 17:49:11 +00:00
procedure frViewClientePresupuestoButton1Click( Sender: TObject) ;
procedure frViewClientePresupuestoButton2Click( Sender: TObject) ;
2008-03-04 11:19:32 +00:00
procedure cbClienteFinalPropertiesButtonClick( Sender: TObject;
AButtonIndex: Integer ) ;
2007-10-26 18:19:55 +00:00
protected
2007-11-05 17:49:11 +00:00
FPresupuesto : IBizPresupuestoCliente;
2007-11-12 19:36:34 +00:00
FFormasPago : IBizFormaPago;
2007-10-26 18:19:55 +00:00
FFormasPagoController : IFormasPagoController;
2007-11-12 19:36:34 +00:00
FViewClientePresupuesto : TfrViewDatosYSeleccionCliente;
2007-10-26 18:19:55 +00:00
2007-11-05 17:49:11 +00:00
function GetPresupuesto: IBizPresupuestoCliente;
procedure SetPresupuesto( const Value: IBizPresupuestoCliente) ; virtual ;
function GetViewClientePresupuesto: TfrViewDatosYSeleccionCliente;
procedure SetViewClientePresupuesto( const Value: TfrViewDatosYSeleccionCliente) ;
2007-10-26 18:19:55 +00:00
public
2007-11-05 17:49:11 +00:00
property Presupuesto: IBizPresupuestoCliente read GetPresupuesto write SetPresupuesto;
property ViewClientePresupuesto: TfrViewDatosYSeleccionCliente read GetViewClientePresupuesto;
2007-10-26 18:19:55 +00:00
end ;
implementation
{$R *.dfm}
{ TfrViewPresupuestoCliente }
uses
2008-03-04 11:19:32 +00:00
uClientesController, uBizContactos, uBizDireccionesContacto,
uPresupuestosClienteController;
2007-10-26 18:19:55 +00:00
procedure TfrViewPresupuestoCliente. actElegirDireccionExecute( Sender: TObject) ;
var
AClientesController : IClientesController;
2007-11-05 17:49:11 +00:00
APresupuestoController : IPresupuestosClienteController;
2007-10-26 18:19:55 +00:00
ADireccion : IBizDireccionesContacto;
begin
inherited ;
AClientesController : = TClientesController. Create;
2007-11-05 17:49:11 +00:00
APresupuestoController : = TPresupuestosClienteController. Create;
2007-10-26 18:19:55 +00:00
try
2008-09-03 09:21:08 +00:00
ADireccion : = AClientesController. ElegirDireccionEntrega( FPresupuesto. Cliente,
2008-03-04 11:19:32 +00:00
'Seleccione la direcci<63> n del cliente que quiere utilizar como direcci<63> n de envio de este presupuesto.' ) ;
2007-10-26 18:19:55 +00:00
if Assigned( ADireccion) then
begin
2007-11-05 17:49:11 +00:00
APresupuestoController. CopiarDireccionEnvio( ADireccion, FPresupuesto) ;
FPresupuesto. Edit;
FPresupuesto. IMPORTE_PORTE : = ADireccion. PORTE;
2007-10-26 18:19:55 +00:00
end ;
finally
2008-09-03 09:21:08 +00:00
ADireccion : = NIL ;
2007-10-26 18:19:55 +00:00
AClientesController : = NIL ;
2007-11-05 17:49:11 +00:00
APresupuestoController : = NIL ;
2007-10-26 18:19:55 +00:00
end ;
end ;
procedure TfrViewPresupuestoCliente. actElegirDireccionUpdate( Sender: TObject) ;
begin
inherited ;
( Sender as TAction) . Enabled : = ( not ReadOnly ) and
2007-11-05 17:49:11 +00:00
Assigned( FPresupuesto) and
Assigned( FViewClientePresupuesto) and
FPresupuesto. DataTable. Active and
Assigned( FPresupuesto. Cliente) and
Assigned( FPresupuesto. Cliente) and
Assigned( FPresupuesto. Cliente. Direcciones) and
FPresupuesto. Cliente. Direcciones. DataTable. Active and
( FPresupuesto. Cliente. Direcciones. DataTable. RecordCount > 0 ) ;
2007-10-26 18:19:55 +00:00
end ;
procedure TfrViewPresupuestoCliente. bFormasPagoClick( Sender: TObject) ;
begin
inherited ;
2007-11-12 19:36:34 +00:00
if Assigned( FFormasPago) then
FFormasPagoController. VerTodos( FFormasPago) ;
2007-10-26 18:19:55 +00:00
end ;
2008-03-04 11:19:32 +00:00
procedure TfrViewPresupuestoCliente. cbClienteFinalPropertiesButtonClick(
Sender: TObject; AButtonIndex: Integer ) ;
var
ACliente : IBizCliente;
AClienteController : IClientesController;
begin
inherited ;
AClienteController : = TClientesController. Create;
try
ACliente : = ( AClienteController. ElegirContacto( AClienteController. BuscarTodos,
'Elija el cliente final de este presupuesto' , False ) as IBizCliente) ;
if Assigned( ACliente) then
begin
ShowHourglassCursor;
try
Presupuesto. Edit;
Presupuesto. CLIENTE_FINAL : = ACliente. NOMBRE;
finally
HideHourglassCursor;
end ;
end ;
finally
ACliente : = NIL ;
AClienteController : = NIL ;
end ;
end ;
2007-10-26 18:19:55 +00:00
procedure TfrViewPresupuestoCliente. CustomViewCreate( Sender: TObject) ;
begin
inherited ;
2007-11-12 19:36:34 +00:00
FFormasPago : = Nil ;
2007-10-26 18:19:55 +00:00
FFormasPagoController : = TFormasPagoController. Create;
2008-09-02 16:21:43 +00:00
FViewClientePresupuesto : = frViewDatosClientePresupuesto1;
2008-03-04 11:19:32 +00:00
FViewClientePresupuesto. MsgElegirCliente : = 'Elija el cliente al que se le realizar<61> el presupuesto.' ;
2007-10-26 18:19:55 +00:00
end ;
procedure TfrViewPresupuestoCliente. CustomViewDestroy( Sender: TObject) ;
begin
2007-11-12 19:36:34 +00:00
FFormasPago : = Nil ;
2007-10-26 18:19:55 +00:00
FFormasPagoController : = NIL ;
2007-11-12 19:36:34 +00:00
FViewClientePresupuesto : = NIL ;
2007-10-26 18:19:55 +00:00
inherited ;
end ;
2007-11-05 17:49:11 +00:00
procedure TfrViewPresupuestoCliente. frViewClientePresupuestoButton1Click( Sender: TObject) ;
2007-10-26 18:19:55 +00:00
begin
2007-11-05 17:49:11 +00:00
if Assigned( Presupuesto) and Assigned( Presupuesto. Cliente) and
Assigned ( Presupuesto. Detalles) and ( Presupuesto. Detalles. RecordCount > 0 ) then
2007-10-26 18:19:55 +00:00
begin
2008-03-04 11:19:32 +00:00
if ( Application. MessageBox( 'Los descuentos de los art<72> culos del presupuesto ser<65> n actualizados con los del nuevo cliente seleccionado, <20> Desea continuar?' , 'Atenci<63> n' , MB_YESNO) = IDNO) then
2007-10-26 18:19:55 +00:00
Exit;
end ;
2008-09-02 16:21:43 +00:00
frViewDatosClientePresupuesto1. actElegirContacto. Execute;
2007-10-26 18:19:55 +00:00
end ;
2007-11-05 17:49:11 +00:00
procedure TfrViewPresupuestoCliente. frViewClientePresupuestoButton2Click( Sender: TObject) ;
2007-10-26 18:19:55 +00:00
begin
2007-11-05 17:49:11 +00:00
if Assigned( Presupuesto) and Assigned( Presupuesto. Cliente) and
Assigned ( Presupuesto. Detalles) and ( Presupuesto. Detalles. RecordCount > 0 ) then
2007-10-26 18:19:55 +00:00
begin
2008-03-04 11:19:32 +00:00
if ( Application. MessageBox( 'Los descuentos de los art<72> culos del presupuesto ser<65> n actualizados con los del nuevo cliente seleccionado, <20> Desea continuar?' , 'Atenci<63> n' , MB_YESNO) = IDNO) then
2007-10-26 18:19:55 +00:00
Exit;
end ;
2008-09-02 16:21:43 +00:00
frViewDatosClientePresupuesto1. actAnadirContacto. Execute;
2007-10-26 18:19:55 +00:00
end ;
2007-11-05 17:49:11 +00:00
function TfrViewPresupuestoCliente. GetPresupuesto: IBizPresupuestoCliente;
2007-10-26 18:19:55 +00:00
begin
2007-11-05 17:49:11 +00:00
Result : = FPresupuesto;
2007-10-26 18:19:55 +00:00
end ;
2007-11-05 17:49:11 +00:00
function TfrViewPresupuestoCliente. GetViewClientePresupuesto: TfrViewDatosYSeleccionCliente;
2007-10-26 18:19:55 +00:00
begin
2007-11-05 17:49:11 +00:00
Result : = FViewClientePresupuesto;
2007-10-26 18:19:55 +00:00
end ;
2007-11-05 17:49:11 +00:00
procedure TfrViewPresupuestoCliente. SetPresupuesto( const Value: IBizPresupuestoCliente) ;
2007-10-26 18:19:55 +00:00
begin
2007-11-05 17:49:11 +00:00
FPresupuesto : = Value;
if Assigned( FPresupuesto) then
2007-10-26 18:19:55 +00:00
begin
2007-11-05 17:49:11 +00:00
DADataSource. DataTable : = FPresupuesto. DataTable;
2007-11-12 19:36:34 +00:00
FFormasPago : = FFormasPagoController. BuscarTodos;
dsFormaPago. DataTable : = FFormasPago. DataTable;
2007-10-26 18:19:55 +00:00
dsFormaPago. DataTable. Active : = True ;
2007-11-12 19:36:34 +00:00
2008-09-02 16:21:43 +00:00
frViewDatosClientePresupuesto1. Cliente : = FPresupuesto. Cliente;
frViewDatosClientePresupuesto1. dsPresupuesto. DataTable : = FPresupuesto. DataTable;
2007-10-26 18:19:55 +00:00
end
else begin
DADataSource. DataTable : = NIL ;
dsFormaPago. DataTable : = NIL ;
2008-09-02 16:21:43 +00:00
frViewDatosClientePresupuesto1. Cliente : = nil ;
frViewDatosClientePresupuesto1. dsPresupuesto. DataTable : = nil ;
2007-10-26 18:19:55 +00:00
end ;
end ;
2007-11-05 17:49:11 +00:00
procedure TfrViewPresupuestoCliente. SetViewClientePresupuesto( const Value: TfrViewDatosYSeleccionCliente) ;
2007-10-26 18:19:55 +00:00
begin
2007-11-05 17:49:11 +00:00
FViewClientePresupuesto : = Value;
2007-10-26 18:19:55 +00:00
end ;
end .