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-19 10:11:52 +00:00
AppEvnts, StdCtrls, Mask, DBCtrls,
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,
2014-02-18 22:41:52 +00:00
uBizFormasPago, cxButtonEdit, uViewDatosYSeleccionClientePresupuesto,
cxCheckBox;
2007-10-26 18:19:55 +00:00
type
IViewPresupuestoCliente = interface( IViewBase)
2008-09-19 10:11:52 +00:00
[ '{A970B43E-E542-40F5-B265-41B7EFA613F9}' ]
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
2008-09-19 10:11:52 +00:00
function GetViewClientePresupuesto: IViewDatosYSeleccionClientePresupuesto;
property ViewClientePresupuesto: IViewDatosYSeleccionClientePresupuesto read GetViewClientePresupuesto;
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;
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-09-19 10:11:52 +00:00
cbClienteFinal: TcxDBTextEdit;
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-19 10:11:52 +00:00
frViewDatosYSeleccionClientePresupuesto1: TfrViewDatosYSeleccionClientePresupuesto;
2008-09-02 16:21:43 +00:00
dxLayoutControl1Item1: TdxLayoutItem;
2008-09-19 10:11:52 +00:00
dxLayoutControl1Item11: TdxLayoutItem;
bElegirClienteFinal: TButton;
actElegirClienteFinal: TAction;
dxLayoutControl1Item12: TdxLayoutItem;
Label1: TLabel;
dxLayoutControl1Group9: TdxLayoutGroup;
2014-02-18 22:41:52 +00:00
dxLayoutControl1Item13: TdxLayoutItem;
eCertificadoISO: TcxDBCheckBox;
2007-10-26 18:19:55 +00:00
procedure CustomViewCreate( Sender: TObject) ;
procedure CustomViewDestroy( 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 ) ;
2008-09-19 10:11:52 +00:00
procedure actElegirClienteFinalExecute( Sender: TObject) ;
procedure actElegirClienteFinalUpdate( Sender: TObject) ;
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;
2008-09-19 10:11:52 +00:00
FViewClientePresupuesto : IViewDatosYSeleccionClientePresupuesto;
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 ;
2008-09-19 10:11:52 +00:00
function GetViewClientePresupuesto: IViewDatosYSeleccionClientePresupuesto;
2007-10-26 18:19:55 +00:00
public
2007-11-05 17:49:11 +00:00
property Presupuesto: IBizPresupuestoCliente read GetPresupuesto write SetPresupuesto;
2008-09-19 10:11:52 +00:00
property ViewClientePresupuesto: IViewDatosYSeleccionClientePresupuesto 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
2008-09-19 10:11:52 +00:00
procedure TfrViewPresupuestoCliente. actElegirClienteFinalExecute(
Sender: TObject) ;
2007-10-26 18:19:55 +00:00
var
2008-09-19 10:11:52 +00:00
ACliente : IBizCliente;
AClienteController : IClientesController;
2007-10-26 18:19:55 +00:00
begin
inherited ;
2008-09-19 10:11:52 +00:00
AClienteController : = TClientesController. Create;
2007-10-26 18:19:55 +00:00
try
2008-09-19 10:11:52 +00:00
ACliente : = ( AClienteController. ElegirContacto( AClienteController. BuscarTodos,
'Elija el cliente final de este presupuesto' , False ) as IBizCliente) ;
if Assigned( ACliente) then
2007-10-26 18:19:55 +00:00
begin
2008-09-19 10:11:52 +00:00
ShowHourglassCursor;
try
Presupuesto. Edit;
Presupuesto. CLIENTE_FINAL : = ACliente. NOMBRE;
finally
HideHourglassCursor;
end ;
2007-10-26 18:19:55 +00:00
end ;
finally
2008-09-19 10:11:52 +00:00
ACliente : = NIL ;
AClienteController : = NIL ;
2007-10-26 18:19:55 +00:00
end ;
end ;
2008-09-19 10:11:52 +00:00
procedure TfrViewPresupuestoCliente. actElegirClienteFinalUpdate(
Sender: TObject) ;
2007-10-26 18:19:55 +00:00
begin
inherited ;
2008-09-19 10:11:52 +00:00
( Sender as TAction) . Enabled : = ( not ReadOnly ) ;
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-19 10:11:52 +00:00
FViewClientePresupuesto : = frViewDatosYSeleccionClientePresupuesto1;
2007-10-26 18:19:55 +00:00
end ;
procedure TfrViewPresupuestoCliente. CustomViewDestroy( Sender: TObject) ;
begin
2008-11-06 11:19:46 +00:00
inherited ;
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
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-19 10:11:52 +00:00
frViewDatosYSeleccionClientePresupuesto1. 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-19 10:11:52 +00:00
frViewDatosYSeleccionClientePresupuesto1. 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 ;
2008-09-19 10:11:52 +00:00
function TfrViewPresupuestoCliente. GetViewClientePresupuesto: IViewDatosYSeleccionClientePresupuesto;
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-19 18:13:32 +00:00
FViewClientePresupuesto. Presupuesto : = FPresupuesto;
2007-10-26 18:19:55 +00:00
end
else begin
DADataSource. DataTable : = NIL ;
dsFormaPago. DataTable : = NIL ;
2008-12-22 10:39:09 +00:00
FViewClientePresupuesto. Presupuesto : = Nil ;
2007-10-26 18:19:55 +00:00
end ;
end ;
end .