206 lines
7.9 KiB
ObjectPascal
206 lines
7.9 KiB
ObjectPascal
|
|
unit uViewPresupuestoCliente;
|
|||
|
|
|
|||
|
|
interface
|
|||
|
|
|
|||
|
|
uses
|
|||
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|||
|
|
Dialogs, uViewBase, uBizPresupuestosCliente, DB, uDADataTable, uCustomView,
|
|||
|
|
AppEvnts, StdCtrls, Mask, DBCtrls,
|
|||
|
|
uViewObservaciones, uViewDatosYSeleccionCliente,
|
|||
|
|
cxGraphics, cxDropDownEdit, cxImageComboBox, cxDBEdit, cxContainer, cxEdit,
|
|||
|
|
cxTextEdit, cxMaskEdit, cxCalendar, dxLayoutControl, cxControls, cxMemo,
|
|||
|
|
uViewDireccionEntregaPresupuestoCliente, Buttons, ActnList, cxLookupEdit,
|
|||
|
|
cxDBLookupEdit, cxDBLookupComboBox, uFormasPagoController, uDAInterfaces,
|
|||
|
|
uBizFormasPago, cxButtonEdit, uViewDatosYSeleccionClientePresupuesto, uBizContactos,
|
|||
|
|
uVendedoresController;
|
|||
|
|
|
|||
|
|
type
|
|||
|
|
IViewPresupuestoCliente = interface(IViewBase)
|
|||
|
|
['{A970B43E-E542-40F5-B265-41B7EFA613F9}']
|
|||
|
|
function GetPresupuesto: IBizPresupuestoCliente;
|
|||
|
|
procedure SetPresupuesto(const Value: IBizPresupuestoCliente);
|
|||
|
|
property Presupuesto: IBizPresupuestoCliente read GetPresupuesto write SetPresupuesto;
|
|||
|
|
|
|||
|
|
function GetViewClientePresupuesto: IViewDatosYSeleccionClientePresupuesto;
|
|||
|
|
property ViewClientePresupuesto: IViewDatosYSeleccionClientePresupuesto read GetViewClientePresupuesto;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
TfrViewPresupuestoCliente = class(TfrViewBase, IViewPresupuestoCliente)
|
|||
|
|
DADataSource: TDADataSource;
|
|||
|
|
dxLayoutControl1Group_Root: TdxLayoutGroup;
|
|||
|
|
dxLayoutControl1: TdxLayoutControl;
|
|||
|
|
dxLayoutControl1Item2: TdxLayoutItem;
|
|||
|
|
edtFechaPresupuesto: TcxDBDateEdit;
|
|||
|
|
dxLayoutControl1Group1: TdxLayoutGroup;
|
|||
|
|
dxLayoutControl1Group2: TdxLayoutGroup;
|
|||
|
|
dxLayoutControl1Item6: TdxLayoutItem;
|
|||
|
|
memObservaciones: TcxDBMemo;
|
|||
|
|
dxLayoutControl1Item3: TdxLayoutItem;
|
|||
|
|
eReferencia: TcxDBTextEdit;
|
|||
|
|
dxLayoutControl1Group7: TdxLayoutGroup;
|
|||
|
|
ActionList1: TActionList;
|
|||
|
|
dxLayoutControl1Item4: TdxLayoutItem;
|
|||
|
|
cbFormaPago: TcxDBLookupComboBox;
|
|||
|
|
dxLayoutControl1Item5: TdxLayoutItem;
|
|||
|
|
bFormasPago: TButton;
|
|||
|
|
dsFormaPago: TDADataSource;
|
|||
|
|
dxLayoutControl1Item7: TdxLayoutItem;
|
|||
|
|
edtFechaDecision: TcxDBDateEdit;
|
|||
|
|
dxLayoutControl1Item15: TdxLayoutItem;
|
|||
|
|
edtFechaVigencia: TcxDBDateEdit;
|
|||
|
|
cbSituacion: TcxDBImageComboBox;
|
|||
|
|
dxLayoutControl1Item10: TdxLayoutItem;
|
|||
|
|
dxLayoutControl1Group8: TdxLayoutGroup;
|
|||
|
|
frViewDatosYSeleccionClientePresupuesto1: TfrViewDatosYSeleccionClientePresupuesto;
|
|||
|
|
dxLayoutControl1Item1: TdxLayoutItem;
|
|||
|
|
dxLayoutControl1Item8: TdxLayoutItem;
|
|||
|
|
memFormaPago: TcxDBMemo;
|
|||
|
|
dxLayoutControl1Group3: TdxLayoutGroup;
|
|||
|
|
dxLayoutControl1Item9: TdxLayoutItem;
|
|||
|
|
memPlazoEntrega: TcxDBMemo;
|
|||
|
|
dxLayoutControl1Group4: TdxLayoutGroup;
|
|||
|
|
dxLayoutControl1Group6: TdxLayoutGroup;
|
|||
|
|
dxLayoutControl1Item11: TdxLayoutItem;
|
|||
|
|
dxLayoutControl1Group9: TdxLayoutGroup;
|
|||
|
|
cbVendedor: TcxDBLookupComboBox;
|
|||
|
|
dsVendedor: TDADataSource;
|
|||
|
|
dxLayoutControl1Group10: TdxLayoutGroup;
|
|||
|
|
dxLayoutControl1Item12: TdxLayoutItem;
|
|||
|
|
cbTipoPresupuesto: TcxDBComboBox;
|
|||
|
|
dxLayoutControl1Group11: TdxLayoutGroup;
|
|||
|
|
dxLayoutControl1Item13: TdxLayoutItem;
|
|||
|
|
edtlReferenciaCliente: TcxDBTextEdit;
|
|||
|
|
procedure CustomViewCreate(Sender: TObject);
|
|||
|
|
procedure CustomViewDestroy(Sender: TObject);
|
|||
|
|
procedure bFormasPagoClick(Sender: TObject);
|
|||
|
|
procedure frViewClientePresupuestoButton1Click(Sender: TObject);
|
|||
|
|
procedure frViewClientePresupuestoButton2Click(Sender: TObject);
|
|||
|
|
procedure cbFormaPagoPropertiesValidate(Sender: TObject;
|
|||
|
|
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
|
|||
|
|
protected
|
|||
|
|
FPresupuesto : IBizPresupuestoCliente;
|
|||
|
|
FFormasPago : IBizFormaPago;
|
|||
|
|
FVendedor : IBizVendedor;
|
|||
|
|
FFormasPagoController : IFormasPagoController;
|
|||
|
|
FVendedoresController : IVendedoresController;
|
|||
|
|
FViewClientePresupuesto : IViewDatosYSeleccionClientePresupuesto;
|
|||
|
|
|
|||
|
|
function GetPresupuesto: IBizPresupuestoCliente;
|
|||
|
|
procedure SetPresupuesto(const Value: IBizPresupuestoCliente); virtual;
|
|||
|
|
function GetViewClientePresupuesto: IViewDatosYSeleccionClientePresupuesto;
|
|||
|
|
public
|
|||
|
|
property Presupuesto: IBizPresupuestoCliente read GetPresupuesto write SetPresupuesto;
|
|||
|
|
property ViewClientePresupuesto: IViewDatosYSeleccionClientePresupuesto read GetViewClientePresupuesto;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
implementation
|
|||
|
|
|
|||
|
|
{$R *.dfm}
|
|||
|
|
|
|||
|
|
{ TfrViewPresupuestoCliente }
|
|||
|
|
|
|||
|
|
uses
|
|||
|
|
schPresupuestosClienteClient_Intf, uClientesController, uBizDireccionesContacto, uPresupuestosClienteController;
|
|||
|
|
|
|||
|
|
|
|||
|
|
procedure TfrViewPresupuestoCliente.bFormasPagoClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
if Assigned(FFormasPago) then
|
|||
|
|
FFormasPagoController.VerTodos(FFormasPago);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrViewPresupuestoCliente.cbFormaPagoPropertiesValidate(
|
|||
|
|
Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption;
|
|||
|
|
var Error: Boolean);
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
Presupuesto.DataTable.FieldByName(fld_PresupuestosClienteFORMA_PAGO).AsString := FFormasPago.DESCRIPCION;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrViewPresupuestoCliente.CustomViewCreate(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
FFormasPago := Nil;
|
|||
|
|
FVendedor := Nil;
|
|||
|
|
FFormasPagoController := TFormasPagoController.Create;
|
|||
|
|
FVendedoresController := TVendedoresController.Create;
|
|||
|
|
FViewClientePresupuesto := frViewDatosYSeleccionClientePresupuesto1;
|
|||
|
|
|
|||
|
|
cbTipoPresupuesto.Properties.Items.Clear;
|
|||
|
|
cbTipoPresupuesto.Properties.Items.Add(CTE_COCINA);
|
|||
|
|
cbTipoPresupuesto.Properties.Items.Add(CTE_ARMARIO);
|
|||
|
|
cbTipoPresupuesto.Properties.Items.Add(CTE_BANO);
|
|||
|
|
cbTipoPresupuesto.Properties.Items.Add(CTE_ELECTRODOMESTICO);
|
|||
|
|
cbTipoPresupuesto.Properties.Items.Add(CTE_VARIOS);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrViewPresupuestoCliente.CustomViewDestroy(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
FFormasPago := Nil;
|
|||
|
|
FFormasPagoController := NIL;
|
|||
|
|
FVendedor := Nil;
|
|||
|
|
FVendedoresController := NIL;
|
|||
|
|
FViewClientePresupuesto := NIL;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrViewPresupuestoCliente.frViewClientePresupuestoButton1Click(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
if Assigned(Presupuesto) and Assigned(Presupuesto.Cliente) and
|
|||
|
|
Assigned (Presupuesto.Detalles) and (Presupuesto.Detalles.RecordCount > 0) then
|
|||
|
|
begin
|
|||
|
|
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
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
frViewDatosYSeleccionClientePresupuesto1.actElegirContacto.Execute;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrViewPresupuestoCliente.frViewClientePresupuestoButton2Click(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
if Assigned(Presupuesto) and Assigned(Presupuesto.Cliente) and
|
|||
|
|
Assigned (Presupuesto.Detalles) and (Presupuesto.Detalles.RecordCount > 0) then
|
|||
|
|
begin
|
|||
|
|
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
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
frViewDatosYSeleccionClientePresupuesto1.actAnadirContacto.Execute;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
function TfrViewPresupuestoCliente.GetPresupuesto: IBizPresupuestoCliente;
|
|||
|
|
begin
|
|||
|
|
Result := FPresupuesto;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
function TfrViewPresupuestoCliente.GetViewClientePresupuesto: IViewDatosYSeleccionClientePresupuesto;
|
|||
|
|
begin
|
|||
|
|
Result := FViewClientePresupuesto;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrViewPresupuestoCliente.SetPresupuesto(const Value: IBizPresupuestoCliente);
|
|||
|
|
begin
|
|||
|
|
FPresupuesto := Value;
|
|||
|
|
if Assigned(FPresupuesto) then
|
|||
|
|
begin
|
|||
|
|
DADataSource.DataTable := FPresupuesto.DataTable;
|
|||
|
|
|
|||
|
|
FFormasPago := FFormasPagoController.BuscarTodos;
|
|||
|
|
dsFormaPago.DataTable := FFormasPago.DataTable;
|
|||
|
|
dsFormaPago.DataTable.Active := True;
|
|||
|
|
|
|||
|
|
FVendedor := (FVendedoresController.BuscarTodos as IBizVendedor);
|
|||
|
|
dsVendedor.DataTable := FVendedor.DataTable;
|
|||
|
|
dsVendedor.DataTable.Active := True;
|
|||
|
|
|
|||
|
|
FViewClientePresupuesto.Presupuesto := FPresupuesto;
|
|||
|
|
end
|
|||
|
|
else begin
|
|||
|
|
DADataSource.DataTable := NIL;
|
|||
|
|
dsFormaPago.DataTable := NIL;
|
|||
|
|
dsVendedor.DataTable := NIL;
|
|||
|
|
FViewClientePresupuesto.Presupuesto := Nil;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
end.
|