This repository has been archived on 2024-11-28. You can view files and clone it, but cannot push or open issues or pull requests.
LuisLeon_FactuGES/Source/Modulos/Pedidos a proveedor/Views/uViewPedidoProveedor.pas
2007-06-11 15:29:06 +00:00

213 lines
7.6 KiB
ObjectPascal
Raw Blame History

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, uBizPedidosCliente,
uPedidosClienteController, cxDBLookupComboBox, uFormasPagoController, ActnList;
type
IViewPedidoProveedor = interface(IViewBase)
['{C5385699-C1A4-4AEB-B3D0-EE3BDB322FE2}']
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;
dxLayoutControl1Item6: TdxLayoutItem;
memObservaciones: TcxDBMemo;
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;
eReferenciaPedidoCli: TcxTextEdit;
dxLayoutControl1Item12: TdxLayoutItem;
Button1: TButton;
dxLayoutControl1Group9: TdxLayoutGroup;
dxLayoutControl1Group10: TdxLayoutGroup;
ActionList1: TActionList;
actVerPedidoCli: TAction;
procedure CustomViewCreate(Sender: TObject);
procedure CustomViewDestroy(Sender: TObject);
procedure frViewProveedorPedidoButton1Click(Sender: TObject);
procedure frViewProveedorPedidoButton2Click(Sender: TObject);
procedure bFormasPagoClick(Sender: TObject);
procedure actVerPedidoCliExecute(Sender: TObject);
procedure actVerPedidoCliUpdate(Sender: TObject);
protected
FPedido : IBizPedidoProveedor;
FViewProveedorPedido : TfrViewDatosYSeleccionProveedor;
FFormasPagoController : IFormasPagoController;
FPedidoCliAsociado : IBizPedidoCliente;
FPedidoCliController : IPedidosClienteController;
function GetPedido: IBizPedidoProveedor;
procedure SetPedido(const Value: IBizPedidoProveedor); virtual;
function GetViewProveedorPedido: TfrViewDatosYSeleccionProveedor;
procedure SetViewProveedorPedido(const Value: TfrViewDatosYSeleccionProveedor);
public
property Pedido: IBizPedidoProveedor read GetPedido write SetPedido;
property ViewProveedorPedido: TfrViewDatosYSeleccionProveedor read GetViewProveedorPedido;
end;
implementation
{$R *.dfm}
{ TfrViewPedidoProveedor }
uses
uBizFormasPago;
procedure TfrViewPedidoProveedor.actVerPedidoCliExecute(Sender: TObject);
begin
inherited;
FPedidoCliController.Ver(FPedidoCliAsociado);
end;
procedure TfrViewPedidoProveedor.actVerPedidoCliUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Enabled := Assigned(FPedidoCliAsociado)
end;
procedure TfrViewPedidoProveedor.bFormasPagoClick(Sender: TObject);
begin
inherited;
FFormasPagoController.VerTodos((dsFormaPago.DataTable) as IBizFormaPago);
end;
procedure TfrViewPedidoProveedor.CustomViewCreate(Sender: TObject);
begin
inherited;
FFormasPagoController := TFormasPagoController.Create;
FViewProveedorPedido := frViewProveedorPedido;
FViewProveedorPedido.MsgElegirProveedor := 'Elija el proveedor al que se le realizar<61> el pedido.';
eReferencia.Enabled := False;
eReferenciaPedidoCli.Enabled := False;
FPedidoCliAsociado := NIL;
FPedidoCliController := TPedidosClienteController.Create;
end;
procedure TfrViewPedidoProveedor.CustomViewDestroy(Sender: TObject);
begin
FViewProveedorPedido := 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.actElegirContacto.Execute;
end;
function TfrViewPedidoProveedor.GetPedido: IBizPedidoProveedor;
begin
Result := FPedido;
end;
function TfrViewPedidoProveedor.GetViewProveedorPedido: TfrViewDatosYSeleccionProveedor;
begin
Result := FViewProveedorPedido;
end;
procedure TfrViewPedidoProveedor.SetPedido(const Value: IBizPedidoProveedor);
begin
FPedido := Value;
if Assigned(FPedido) then
begin
DADataSource.DataTable := FPedido.DataTable;
dsFormaPago.DataTable := FFormasPagoController.BuscarTodos.DataTable;
dsFormaPago.DataTable.Active := True;
FPedidoCliAsociado := NIL;
if (FPedido.ID_PEDIDO_CLIENTE > 0) then
begin
FPedidoCliAsociado := FPedidoCliController.Buscar(FPedido.ID_PEDIDO_CLIENTE);
if Assigned(FPedidoCliAsociado) then
begin
FPedidoCliAsociado.DataTable.Active := True;
eReferenciaPedidoCli.Text := FPedidoCliAsociado.REFERENCIA
end
else
eReferenciaPedidoCli.Text := '';
end
else
eReferenciaPedidoCli.Text := 'No hay pedido asociado';
end
else begin
DADataSource.DataTable := NIL;
dsFormaPago.DataTable := NIL;
FPedidoCliAsociado := NIL;
end;
frViewProveedorPedido.Proveedor := FPedido.Proveedor;
frViewDireccionEntregaPedidoProv1.PedidoProveedor := FPedido;
end;
procedure TfrViewPedidoProveedor.SetViewProveedorPedido(const Value: TfrViewDatosYSeleccionProveedor);
begin
FViewProveedorPedido := Value;
end;
end.