git-svn-id: https://192.168.0.254/svn/Proyectos.Acana_FactuGES2/trunk@610 f4e31baf-9722-1c47-927c-6f952f962d4b
246 lines
9.0 KiB
ObjectPascal
246 lines
9.0 KiB
ObjectPascal
unit uViewPedidoProveedor;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||
Dialogs, uViewBase, uBizPedidosProveedor, DB, uDADataTable, uCustomView,
|
||
AppEvnts, StdCtrls, Mask, DBCtrls,
|
||
|
||
uViewObservaciones, uViewDatosYSeleccionProveedor,
|
||
cxGraphics, cxDropDownEdit, cxImageComboBox, cxDBEdit, cxContainer, cxEdit,
|
||
cxTextEdit, cxMaskEdit, cxCalendar, dxLayoutControl, cxControls, cxMemo,
|
||
uViewDireccionEntregaPedidoProv, cxLookupEdit, cxDBLookupEdit,
|
||
uBizContratosCliente, uContratosClienteController,
|
||
cxDBLookupComboBox, uFormasPagoController, ActnList, uDAInterfaces, uBizFormasPago,
|
||
uViewTienda, uPedidosProveedorController;
|
||
|
||
type
|
||
IViewPedidoProveedor = interface(IViewBase)
|
||
['{C5385699-C1A4-4AEB-B3D0-EE3BDB322FE2}']
|
||
function GetController : IPedidosProveedorController;
|
||
procedure SetController (const Value : IPedidosProveedorController);
|
||
property Controller : IPedidosProveedorController read GetController write SetController;
|
||
|
||
function GetPedido: IBizPedidoProveedor;
|
||
procedure SetPedido(const Value: IBizPedidoProveedor);
|
||
property Pedido: IBizPedidoProveedor read GetPedido write SetPedido;
|
||
|
||
function GetViewProveedorPedido: TfrViewDatosYSeleccionProveedor;
|
||
procedure SetViewProveedorPedido(const Value: TfrViewDatosYSeleccionProveedor);
|
||
property ViewProveedorPedido: TfrViewDatosYSeleccionProveedor read GetViewProveedorPedido write SetViewProveedorPedido;
|
||
end;
|
||
|
||
TfrViewPedidoProveedor = class(TfrViewBase, IViewPedidoProveedor)
|
||
DADataSource: TDADataSource;
|
||
frViewProveedorPedido: TfrViewDatosYSeleccionProveedor;
|
||
dxLayoutControl1Group_Root: TdxLayoutGroup;
|
||
dxLayoutControl1: TdxLayoutControl;
|
||
dxLayoutControl1Item1: TdxLayoutItem;
|
||
dxLayoutControl1Item2: TdxLayoutItem;
|
||
edtFechaPedido: TcxDBDateEdit;
|
||
dxLayoutControl1Item4: TdxLayoutItem;
|
||
edtFechaConfirmacion: TcxDBDateEdit;
|
||
dxLayoutControl1Item5: TdxLayoutItem;
|
||
edtFechaEntrega: TcxDBDateEdit;
|
||
dxLayoutControl1Group1: TdxLayoutGroup;
|
||
dxLayoutControl1Group2: TdxLayoutGroup;
|
||
dxLayoutControl1Item3: TdxLayoutItem;
|
||
eReferencia: TcxDBTextEdit;
|
||
dxLayoutControl1Group5: TdxLayoutGroup;
|
||
dxLayoutControl1Group6: TdxLayoutGroup;
|
||
dxLayoutControl1Group7: TdxLayoutGroup;
|
||
dxLayoutControl1Group8: TdxLayoutGroup;
|
||
dxLayoutControl1Group3: TdxLayoutGroup;
|
||
dxLayoutControl1Item8: TdxLayoutItem;
|
||
frViewDireccionEntregaPedidoProv1: TfrViewDireccionEntregaPedidoProv;
|
||
dxLayoutControl1Item9: TdxLayoutItem;
|
||
cbFormaPago: TcxDBLookupComboBox;
|
||
dxLayoutControl1Item10: TdxLayoutItem;
|
||
bFormasPago: TButton;
|
||
dxLayoutControl1Group4: TdxLayoutGroup;
|
||
dsFormaPago: TDADataSource;
|
||
dxLayoutControl1Item7: TdxLayoutItem;
|
||
edtFechaEnvio: TcxDBDateEdit;
|
||
dxLayoutControl1Item11: TdxLayoutItem;
|
||
eReferenciaContratoCli: TcxTextEdit;
|
||
dxLayoutControl1Item12: TdxLayoutItem;
|
||
Button1: TButton;
|
||
dxLayoutControl1Group9: TdxLayoutGroup;
|
||
dxLayoutControl1Group10: TdxLayoutGroup;
|
||
ActionList1: TActionList;
|
||
actVerContratoCli: TAction;
|
||
dxLayoutControl1Item13: TdxLayoutItem;
|
||
frViewTienda1: TfrViewTienda;
|
||
dxLayoutControl1Group11: TdxLayoutGroup;
|
||
frViewObservaciones1: TfrViewObservaciones;
|
||
dxLayoutControl1Item6: TdxLayoutItem;
|
||
dxLayoutControl1Item14: TdxLayoutItem;
|
||
edtlDescripcion: TcxDBTextEdit;
|
||
procedure CustomViewCreate(Sender: TObject);
|
||
procedure CustomViewDestroy(Sender: TObject);
|
||
procedure bFormasPagoClick(Sender: TObject);
|
||
procedure actVerContratoCliExecute(Sender: TObject);
|
||
procedure actVerContratoCliUpdate(Sender: TObject);
|
||
procedure frViewProveedorPedidoButton1Click(Sender: TObject);
|
||
procedure frViewProveedorPedidoButton2Click(Sender: TObject);
|
||
protected
|
||
FPedido : IBizPedidoProveedor;
|
||
FController : IPedidosProveedorController;
|
||
FViewProveedorPedido : TfrViewDatosYSeleccionProveedor;
|
||
FFormasPago : IBizFormaPago;
|
||
FFormasPagoController : IFormasPagoController;
|
||
FContratoCliAsociado : IBizContratoCliente;
|
||
FContratoCliController : IContratosClienteController;
|
||
|
||
function GetPedido: IBizPedidoProveedor;
|
||
procedure SetPedido(const Value: IBizPedidoProveedor); virtual;
|
||
function GetController : IPedidosProveedorController;
|
||
procedure SetController (const Value : IPedidosProveedorController);
|
||
function GetViewProveedorPedido: TfrViewDatosYSeleccionProveedor;
|
||
procedure SetViewProveedorPedido(const Value: TfrViewDatosYSeleccionProveedor);
|
||
|
||
public
|
||
property Pedido: IBizPedidoProveedor read GetPedido write SetPedido;
|
||
property Controller : IPedidosProveedorController read GetController write SetController;
|
||
property ViewProveedorPedido: TfrViewDatosYSeleccionProveedor read GetViewProveedorPedido;
|
||
end;
|
||
|
||
implementation
|
||
|
||
{$R *.dfm}
|
||
|
||
{ TfrViewPedidoProveedor }
|
||
|
||
procedure TfrViewPedidoProveedor.actVerContratoCliExecute(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
//Lo modificamos para que el pedido de proveedor este asociado al contrato de cliente
|
||
FContratoCliController.Ver(FContratoCliAsociado);
|
||
end;
|
||
|
||
procedure TfrViewPedidoProveedor.actVerContratoCliUpdate(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
//Lo modificamos para que el pedido de proveedor este asociado al contrato de cliente
|
||
if (Sender as TAction).Enabled then
|
||
(Sender as TAction).Enabled := Assigned(FContratoCliAsociado)
|
||
end;
|
||
|
||
procedure TfrViewPedidoProveedor.bFormasPagoClick(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
if Assigned(FFormasPago) then
|
||
FFormasPagoController.VerTodos(FFormasPago);
|
||
end;
|
||
|
||
procedure TfrViewPedidoProveedor.CustomViewCreate(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
FFormasPago := Nil;
|
||
FFormasPagoController := TFormasPagoController.Create;
|
||
FViewProveedorPedido := frViewProveedorPedido;
|
||
FViewProveedorPedido.MsgElegirProveedor := 'Elija el proveedor al que se le realizar<61> el pedido.';
|
||
eReferencia.Enabled := False;
|
||
eReferenciaContratoCli.Enabled := False;
|
||
FContratoCliAsociado := NIL;
|
||
FContratoCliController := TContratosClienteController.Create;
|
||
end;
|
||
|
||
procedure TfrViewPedidoProveedor.CustomViewDestroy(Sender: TObject);
|
||
begin
|
||
FViewProveedorPedido := Nil;
|
||
FFormasPago := Nil;
|
||
FFormasPagoController := NIL;
|
||
inherited;
|
||
end;
|
||
|
||
procedure TfrViewPedidoProveedor.frViewProveedorPedidoButton1Click(Sender: TObject);
|
||
begin
|
||
if Assigned(Pedido) and Assigned(Pedido.Proveedor) and
|
||
Assigned (Pedido.Detalles) and (Pedido.Detalles.RecordCount > 0) then
|
||
begin
|
||
if (Application.MessageBox('Si cambia de proveedor, se eliminar<61>n todos sus art<72>culos del pedido actual, <20>Desea continuar?', 'Atenci<63>n', MB_YESNO) = IDNO) then
|
||
Exit;
|
||
end;
|
||
frViewProveedorPedido.actElegirContacto.Execute;
|
||
end;
|
||
|
||
procedure TfrViewPedidoProveedor.frViewProveedorPedidoButton2Click(Sender: TObject);
|
||
begin
|
||
if Assigned(Pedido) and Assigned(Pedido.Proveedor) and
|
||
Assigned (Pedido.Detalles) and (Pedido.Detalles.RecordCount > 0) then
|
||
begin
|
||
if (Application.MessageBox('Si cambia de proveedor, se eliminar<61>n todos sus art<72>culos del pedido actual, <20>Desea continuar?', 'Atenci<63>n', MB_YESNO) = IDNO) then
|
||
Exit;
|
||
end;
|
||
frViewProveedorPedido.actAnadirContacto.Execute;
|
||
end;
|
||
|
||
function TfrViewPedidoProveedor.GetController: IPedidosProveedorController;
|
||
begin
|
||
Result := FController;
|
||
end;
|
||
|
||
function TfrViewPedidoProveedor.GetPedido: IBizPedidoProveedor;
|
||
begin
|
||
Result := FPedido;
|
||
end;
|
||
|
||
function TfrViewPedidoProveedor.GetViewProveedorPedido: TfrViewDatosYSeleccionProveedor;
|
||
begin
|
||
Result := FViewProveedorPedido;
|
||
end;
|
||
|
||
procedure TfrViewPedidoProveedor.SetController(const Value: IPedidosProveedorController);
|
||
begin
|
||
FController := Value;
|
||
|
||
if Assigned(FController) then
|
||
ViewProveedorPedido.Controller := Controller.ProveedorController;
|
||
end;
|
||
|
||
procedure TfrViewPedidoProveedor.SetPedido(const Value: IBizPedidoProveedor);
|
||
begin
|
||
FPedido := Value;
|
||
|
||
if Assigned(FPedido) then
|
||
begin
|
||
DADataSource.DataTable := FPedido.DataTable;
|
||
|
||
FFormasPago := FFormasPagoController.BuscarTodos;
|
||
dsFormaPago.DataTable := FFormasPago.DataTable;
|
||
dsFormaPago.DataTable.Active := True;
|
||
|
||
FContratoCliAsociado := NIL;
|
||
if (FPedido.ID_CONTRATO_CLIENTE > 0) then
|
||
begin
|
||
FContratoCliAsociado := FContratoCliController.Buscar(FPedido.ID_CONTRATO_CLIENTE);
|
||
if Assigned(FContratoCliAsociado) then
|
||
begin
|
||
FContratoCliAsociado.DataTable.Active := True;
|
||
eReferenciaContratoCli.Text := FContratoCliAsociado.REFERENCIA
|
||
end
|
||
else
|
||
eReferenciaContratoCli.Text := '';
|
||
end
|
||
else
|
||
eReferenciaContratoCli.Text := 'No hay contrato asociado';
|
||
end
|
||
else begin
|
||
DADataSource.DataTable := NIL;
|
||
dsFormaPago.DataTable := NIL;
|
||
FContratoCliAsociado := NIL;
|
||
end;
|
||
|
||
frViewProveedorPedido.Proveedor := FPedido.Proveedor;
|
||
frViewDireccionEntregaPedidoProv1.PedidoProveedor := FPedido;
|
||
end;
|
||
|
||
procedure TfrViewPedidoProveedor.SetViewProveedorPedido(const Value: TfrViewDatosYSeleccionProveedor);
|
||
begin
|
||
FViewProveedorPedido := Value;
|
||
end;
|
||
|
||
end.
|