git-svn-id: https://192.168.0.254/svn/Proyectos.Acana_FactuGES2/trunk@228 f4e31baf-9722-1c47-927c-6f952f962d4b
256 lines
8.9 KiB
ObjectPascal
256 lines
8.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, uViewTienda, uPresupuestosClienteController, uVendedoresController;
|
||
|
||
type
|
||
IViewPresupuestoCliente = interface(IViewBase)
|
||
['{C5385699-C1A4-4AEB-B3D0-EE3BDB322FE2}']
|
||
function GetController : IPresupuestosClienteController;
|
||
procedure SetController (const Value : IPresupuestosClienteController);
|
||
property Controller : IPresupuestosClienteController read GetController write SetController;
|
||
|
||
function GetPresupuesto: IBizPresupuestoCliente;
|
||
procedure SetPresupuesto(const Value: IBizPresupuestoCliente);
|
||
property Presupuesto: IBizPresupuestoCliente read GetPresupuesto write SetPresupuesto;
|
||
|
||
function GetViewClientePresupuesto: TfrViewDatosYSeleccionCliente;
|
||
procedure SetViewClientePresupuesto(const Value: TfrViewDatosYSeleccionCliente);
|
||
property ViewClientePresupuesto: TfrViewDatosYSeleccionCliente read GetViewClientePresupuesto write SetViewClientePresupuesto;
|
||
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;
|
||
dxLayoutControl1Item1: TdxLayoutItem;
|
||
frViewClientePresupuesto: TfrViewDatosYSeleccionCliente;
|
||
ActionList1: TActionList;
|
||
actElegirDireccion: TAction;
|
||
dxLayoutControl1Item4: TdxLayoutItem;
|
||
cbFormaPago: TcxDBLookupComboBox;
|
||
dxLayoutControl1Item5: TdxLayoutItem;
|
||
bFormasPago: TButton;
|
||
dxLayoutControl1Group5: TdxLayoutGroup;
|
||
dsFormaPago: TDADataSource;
|
||
dxLayoutControl1Group10: TdxLayoutGroup;
|
||
dxLayoutControl1Item7: TdxLayoutItem;
|
||
edtFechaDecision: TcxDBDateEdit;
|
||
dxLayoutControl1Item15: TdxLayoutItem;
|
||
eRefCliente: TcxDBTextEdit;
|
||
dxLayoutControl1Item8: TdxLayoutItem;
|
||
edtClienteFinal: TcxDBTextEdit;
|
||
cbSituacion: TcxDBImageComboBox;
|
||
dxLayoutControl1Item10: TdxLayoutItem;
|
||
dxLayoutControl1Item9: TdxLayoutItem;
|
||
frViewTienda1: TfrViewTienda;
|
||
dxLayoutControl1Group3: TdxLayoutGroup;
|
||
dxLayoutControl1Group4: TdxLayoutGroup;
|
||
cbVendedor: TcxDBComboBox;
|
||
dxLayoutControl1Item11: TdxLayoutItem;
|
||
procedure CustomViewCreate(Sender: TObject);
|
||
procedure CustomViewDestroy(Sender: TObject);
|
||
procedure bFormasPagoClick(Sender: TObject);
|
||
procedure frViewClientePresupuestoButton1Click(Sender: TObject);
|
||
procedure frViewClientePresupuestoButton2Click(Sender: TObject);
|
||
procedure cbVendedorPropertiesValidate(Sender: TObject;
|
||
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
|
||
protected
|
||
FPresupuesto : IBizPresupuestoCliente;
|
||
FController : IPresupuestosClienteController;
|
||
FFormasPago : IBizFormaPago;
|
||
FFormasPagoController : IFormasPagoController;
|
||
FListaVendedores : TStringList;
|
||
FViewClientePresupuesto : TfrViewDatosYSeleccionCliente;
|
||
|
||
function GetPresupuesto: IBizPresupuestoCliente;
|
||
procedure SetPresupuesto(const Value: IBizPresupuestoCliente); virtual;
|
||
function GetController : IPresupuestosClienteController;
|
||
procedure SetController (const Value : IPresupuestosClienteController);
|
||
|
||
function GetViewClientePresupuesto: TfrViewDatosYSeleccionCliente;
|
||
procedure SetViewClientePresupuesto(const Value: TfrViewDatosYSeleccionCliente);
|
||
public
|
||
property Presupuesto: IBizPresupuestoCliente read GetPresupuesto write SetPresupuesto;
|
||
property Controller : IPresupuestosClienteController read GetController write SetController;
|
||
property ViewClientePresupuesto: TfrViewDatosYSeleccionCliente read GetViewClientePresupuesto;
|
||
end;
|
||
|
||
implementation
|
||
|
||
{$R *.dfm}
|
||
|
||
{ TfrViewPresupuestoCliente }
|
||
|
||
uses
|
||
uClientesController, uBizContactos, uBizDireccionesContacto, uFactuGES_App;
|
||
|
||
|
||
procedure TfrViewPresupuestoCliente.bFormasPagoClick(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
if Assigned(FFormasPago) then
|
||
FFormasPagoController.VerTodos(FFormasPago);
|
||
end;
|
||
|
||
procedure TfrViewPresupuestoCliente.cbVendedorPropertiesValidate(
|
||
Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption;
|
||
var Error: Boolean);
|
||
var
|
||
AIndex : integer;
|
||
begin
|
||
inherited;
|
||
|
||
if Assigned(FPresupuesto) and FPresupuesto.Active then
|
||
begin
|
||
AIndex := StrToInt(FListaVendedores.Values[DisplayValue]);
|
||
|
||
FPresupuesto.Edit;
|
||
FPresupuesto.ID_VENDEDOR := AIndex;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrViewPresupuestoCliente.CustomViewCreate(Sender: TObject);
|
||
var
|
||
i : integer;
|
||
begin
|
||
inherited;
|
||
FListaVendedores := NIL;
|
||
|
||
FFormasPago := NIL;
|
||
FFormasPagoController := TFormasPagoController.Create;
|
||
|
||
FViewClientePresupuesto := frViewClientePresupuesto;
|
||
FViewClientePresupuesto.MsgElegirCliente := 'Elija el cliente al que se le realizar<61> el presupuesto.';
|
||
|
||
with TVendedoresController.Create do
|
||
begin
|
||
try
|
||
FListaVendedores := DarListaVendedores;
|
||
with cbVendedor.Properties.Items do
|
||
begin
|
||
BeginUpdate;
|
||
try
|
||
Clear;
|
||
for i := 0 to FListaVendedores.Count - 1 do
|
||
Add(FListaVendedores.Names[i]);
|
||
finally
|
||
EndUpdate;
|
||
end;
|
||
end;
|
||
finally
|
||
Free;
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrViewPresupuestoCliente.CustomViewDestroy(Sender: TObject);
|
||
begin
|
||
FreeAndNIL(FListaVendedores);
|
||
FFormasPago := Nil;
|
||
FFormasPagoController := NIL;
|
||
FViewClientePresupuesto := NIL;
|
||
inherited;
|
||
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;
|
||
frViewClientePresupuesto.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;
|
||
frViewClientePresupuesto.actAnadirContacto.Execute;
|
||
end;
|
||
|
||
function TfrViewPresupuestoCliente.GetController: IPresupuestosClienteController;
|
||
begin
|
||
Result := FController;
|
||
end;
|
||
|
||
function TfrViewPresupuestoCliente.GetPresupuesto: IBizPresupuestoCliente;
|
||
begin
|
||
Result := FPresupuesto;
|
||
end;
|
||
|
||
function TfrViewPresupuestoCliente.GetViewClientePresupuesto: TfrViewDatosYSeleccionCliente;
|
||
begin
|
||
Result := FViewClientePresupuesto;
|
||
end;
|
||
|
||
procedure TfrViewPresupuestoCliente.SetController(const Value: IPresupuestosClienteController);
|
||
begin
|
||
FController := Value;
|
||
end;
|
||
|
||
procedure TfrViewPresupuestoCliente.SetPresupuesto(const Value: IBizPresupuestoCliente);
|
||
var
|
||
i : integer;
|
||
begin
|
||
FPresupuesto := Value;
|
||
if Assigned(FPresupuesto) then
|
||
begin
|
||
DADataSource.DataTable := FPresupuesto.DataTable;
|
||
cbVendedor.Text := '';
|
||
for i := 0 to FListaVendedores.Count-1 do
|
||
begin
|
||
if FListaVendedores.ValueFromIndex[i] = IntToStr(FPresupuesto.ID_VENDEDOR) then
|
||
begin
|
||
cbVendedor.Text := FListaVendedores.Names[i];
|
||
Break;
|
||
end;
|
||
end;
|
||
|
||
FFormasPago := FFormasPagoController.BuscarTodos;
|
||
dsFormaPago.DataTable := FFormasPago.DataTable;
|
||
dsFormaPago.DataTable.Active := True;
|
||
|
||
frViewClientePresupuesto.Cliente := FPresupuesto.Cliente;
|
||
frViewTienda1.DataItem := FPresupuesto.DataTable;
|
||
end
|
||
else begin
|
||
DADataSource.DataTable := NIL;
|
||
dsFormaPago.DataTable := NIL;
|
||
frViewClientePresupuesto.Cliente := nil;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrViewPresupuestoCliente.SetViewClientePresupuesto(const Value: TfrViewDatosYSeleccionCliente);
|
||
begin
|
||
FViewClientePresupuesto := Value;
|
||
end;
|
||
|
||
end.
|