204 lines
7.3 KiB
ObjectPascal
204 lines
7.3 KiB
ObjectPascal
|
|
unit uViewContratoCliente;
|
|||
|
|
|
|||
|
|
interface
|
|||
|
|
|
|||
|
|
uses
|
|||
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|||
|
|
Dialogs, uViewBase, uBizContratosCliente, DB, uDADataTable, uCustomView,
|
|||
|
|
AppEvnts, StdCtrls, Mask, DBCtrls,
|
|||
|
|
uViewObservaciones, uViewDatosYSeleccionCliente,
|
|||
|
|
cxGraphics, cxDropDownEdit, cxImageComboBox, cxDBEdit, cxContainer, cxEdit,
|
|||
|
|
cxTextEdit, cxMaskEdit, cxCalendar, dxLayoutControl, cxControls, cxMemo,
|
|||
|
|
uViewDireccionEntregaContratoCliente, Buttons, ActnList, cxLookupEdit,
|
|||
|
|
cxDBLookupEdit, cxDBLookupComboBox, uFormasPagoController, uDAInterfaces,
|
|||
|
|
uBizFormasPago, cxButtonEdit, uBizContactos, uContratosClienteController,
|
|||
|
|
uVendedoresController, uViewClienteContrato;
|
|||
|
|
|
|||
|
|
type
|
|||
|
|
IViewContratoCliente = interface(IViewBase)
|
|||
|
|
['{3DE0231D-760E-437B-88E5-144B88024797}']
|
|||
|
|
function GetController : IContratosClienteController;
|
|||
|
|
procedure SetController (const Value : IContratosClienteController);
|
|||
|
|
property Controller : IContratosClienteController read GetController write SetController;
|
|||
|
|
|
|||
|
|
function GetContrato: IBizContratoCliente;
|
|||
|
|
procedure SetContrato(const Value: IBizContratoCliente);
|
|||
|
|
property Contrato: IBizContratoCliente read GetContrato write SetContrato;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
TfrViewContratoCliente = class(TfrViewBase, IViewContratoCliente)
|
|||
|
|
DADataSource: TDADataSource;
|
|||
|
|
dxLayoutControl1Group_Root: TdxLayoutGroup;
|
|||
|
|
dxLayoutControl1: TdxLayoutControl;
|
|||
|
|
dxLayoutControl1Item2: TdxLayoutItem;
|
|||
|
|
edtFechaContrato: 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;
|
|||
|
|
dxLayoutControl1Group5: TdxLayoutGroup;
|
|||
|
|
dsFormaPago: TDADataSource;
|
|||
|
|
cbSituacion: TcxDBImageComboBox;
|
|||
|
|
dxLayoutControl1Item10: TdxLayoutItem;
|
|||
|
|
dxLayoutControl1Group8: TdxLayoutGroup;
|
|||
|
|
dxLayoutControl1Item1: TdxLayoutItem;
|
|||
|
|
dxLayoutControl1Item8: TdxLayoutItem;
|
|||
|
|
memFormaPago: TcxDBMemo;
|
|||
|
|
dxLayoutControl1Group3: TdxLayoutGroup;
|
|||
|
|
dxLayoutControl1Item9: TdxLayoutItem;
|
|||
|
|
memPlazoEntrega: TcxDBMemo;
|
|||
|
|
dxLayoutControl1Group4: TdxLayoutGroup;
|
|||
|
|
dxLayoutControl1Group6: TdxLayoutGroup;
|
|||
|
|
dxLayoutControl1Item11: TdxLayoutItem;
|
|||
|
|
dxLayoutControl1Group9: TdxLayoutGroup;
|
|||
|
|
cbVendedor: TcxDBLookupComboBox;
|
|||
|
|
dsVendedor: TDADataSource;
|
|||
|
|
dxLayoutControl1Item7: TdxLayoutItem;
|
|||
|
|
cbTipoContrato: TcxDBComboBox;
|
|||
|
|
dxLayoutControl1Group11: TdxLayoutGroup;
|
|||
|
|
dxLayoutControl1Item12: TdxLayoutItem;
|
|||
|
|
edtlREF_CLIENTE: TcxDBTextEdit;
|
|||
|
|
frViewClienteContrato1: TfrViewClienteContrato;
|
|||
|
|
procedure CustomViewCreate(Sender: TObject);
|
|||
|
|
procedure CustomViewDestroy(Sender: TObject);
|
|||
|
|
procedure bFormasPagoClick(Sender: TObject);
|
|||
|
|
procedure frViewClienteContratoButton1Click(Sender: TObject);
|
|||
|
|
procedure frViewClienteContratoButton2Click(Sender: TObject);
|
|||
|
|
protected
|
|||
|
|
FContrato : IBizContratoCliente;
|
|||
|
|
FFormasPago : IBizFormaPago;
|
|||
|
|
FVendedor : IBizVendedor;
|
|||
|
|
FFormasPagoController : IFormasPagoController;
|
|||
|
|
FVendedoresController : IVendedoresController;
|
|||
|
|
FController : IContratosClienteController;
|
|||
|
|
|
|||
|
|
function GetContrato: IBizContratoCliente;
|
|||
|
|
procedure SetContrato(const Value: IBizContratoCliente); virtual;
|
|||
|
|
|
|||
|
|
function GetController : IContratosClienteController;
|
|||
|
|
procedure SetController (const Value : IContratosClienteController);
|
|||
|
|
public
|
|||
|
|
property Controller : IContratosClienteController read GetController write SetController;
|
|||
|
|
property Contrato: IBizContratoCliente read GetContrato write SetContrato;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
implementation
|
|||
|
|
|
|||
|
|
{$R *.dfm}
|
|||
|
|
|
|||
|
|
{ TfrViewContratoCliente }
|
|||
|
|
|
|||
|
|
uses
|
|||
|
|
uClientesController, uBizDireccionesContacto, uPresupuestosClienteController;
|
|||
|
|
|
|||
|
|
|
|||
|
|
procedure TfrViewContratoCliente.bFormasPagoClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
if Assigned(FFormasPago) then
|
|||
|
|
FFormasPagoController.VerTodos(FFormasPago);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrViewContratoCliente.CustomViewCreate(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
FFormasPago := Nil;
|
|||
|
|
FVendedor := Nil;
|
|||
|
|
FFormasPagoController := TFormasPagoController.Create;
|
|||
|
|
FVendedoresController := TVendedoresController.Create;
|
|||
|
|
|
|||
|
|
cbTipoContrato.Properties.Items.Clear;
|
|||
|
|
cbTipoContrato.Properties.Items.Add(CTE_COCINA);
|
|||
|
|
cbTipoContrato.Properties.Items.Add(CTE_ARMARIO);
|
|||
|
|
cbTipoContrato.Properties.Items.Add(CTE_BANO);
|
|||
|
|
cbTipoContrato.Properties.Items.Add(CTE_ELECTRODOMESTICO);
|
|||
|
|
cbTipoContrato.Properties.Items.Add(CTE_OBRA);
|
|||
|
|
cbTipoContrato.Properties.Items.Add(CTE_VARIOS);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrViewContratoCliente.CustomViewDestroy(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
FFormasPago := Nil;
|
|||
|
|
FFormasPagoController := NIL;
|
|||
|
|
FVendedor := Nil;
|
|||
|
|
FVendedoresController := NIL;
|
|||
|
|
|
|||
|
|
inherited;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrViewContratoCliente.frViewClienteContratoButton1Click(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
if Assigned(Contrato) and Assigned(Contrato.Cliente) and
|
|||
|
|
Assigned (Contrato.Detalles) and (Contrato.Detalles.RecordCount > 0) then
|
|||
|
|
begin
|
|||
|
|
if (Application.MessageBox('Los descuentos de los art<72>culos del Contrato ser<65>n actualizados con los del nuevo cliente seleccionado, <20>Desea continuar?', 'Atenci<63>n', MB_YESNO) = IDNO) then
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
frViewClienteContrato1.actElegirContacto.Execute;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrViewContratoCliente.frViewClienteContratoButton2Click(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
if Assigned(Contrato) and Assigned(Contrato.Cliente) and
|
|||
|
|
Assigned (Contrato.Detalles) and (Contrato.Detalles.RecordCount > 0) then
|
|||
|
|
begin
|
|||
|
|
if (Application.MessageBox('Los descuentos de los art<72>culos del Contrato ser<65>n actualizados con los del nuevo cliente seleccionado, <20>Desea continuar?', 'Atenci<63>n', MB_YESNO) = IDNO) then
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
frViewClienteContrato1.actAnadirContacto.Execute;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
function TfrViewContratoCliente.GetContrato: IBizContratoCliente;
|
|||
|
|
begin
|
|||
|
|
Result := FContrato;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
function TfrViewContratoCliente.GetController: IContratosClienteController;
|
|||
|
|
begin
|
|||
|
|
Result := FController;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrViewContratoCliente.SetContrato(const Value: IBizContratoCliente);
|
|||
|
|
begin
|
|||
|
|
FContrato := Value;
|
|||
|
|
if Assigned(FContrato) then
|
|||
|
|
begin
|
|||
|
|
DADataSource.DataTable := FContrato.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;
|
|||
|
|
|
|||
|
|
frViewClienteContrato1.MsgElegirCliente := 'Elija el cliente al que se le realizar<61> el contrato.';
|
|||
|
|
end
|
|||
|
|
else begin
|
|||
|
|
DADataSource.DataTable := NIL;
|
|||
|
|
dsFormaPago.DataTable := NIL;
|
|||
|
|
dsVendedor.DataTable := NIL;
|
|||
|
|
frViewClienteContrato1.Cliente := Nil;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrViewContratoCliente.SetController(
|
|||
|
|
const Value: IContratosClienteController);
|
|||
|
|
begin
|
|||
|
|
FController := Value;
|
|||
|
|
|
|||
|
|
if Assigned(FController) then
|
|||
|
|
frViewClienteContrato1.Controller := FController.ClienteController;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
end.
|