279 lines
9.8 KiB
ObjectPascal
279 lines
9.8 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,
|
|||
|
|
cxGraphics, cxDropDownEdit, cxImageComboBox, cxDBEdit, cxContainer, cxEdit,
|
|||
|
|
cxTextEdit, cxMaskEdit, cxCalendar, dxLayoutControl, cxControls, cxMemo,
|
|||
|
|
uViewDireccionEntregaPedidoProv, cxLookupEdit, cxDBLookupEdit,
|
|||
|
|
// uBizPedidosCliente, uPedidosClienteController,
|
|||
|
|
cxDBLookupComboBox, uFormasPagoController, ActnList, uDAInterfaces, uBizFormasPago,
|
|||
|
|
uViewProveedorPedido, uViewObraReserva, uObrasController,
|
|||
|
|
uPedidosProveedorController, uViewDatosYSeleccionProveedorPedido;
|
|||
|
|
|
|||
|
|
type
|
|||
|
|
IViewPedidoProveedor = interface(IViewBase)
|
|||
|
|
['{6FF2FC16-307F-4B8B-A46A-3FEA270ED568}']
|
|||
|
|
function GetPedido: IBizPedidoProveedor;
|
|||
|
|
procedure SetPedido(const Value: IBizPedidoProveedor);
|
|||
|
|
property Pedido: IBizPedidoProveedor read GetPedido write SetPedido;
|
|||
|
|
|
|||
|
|
function GetController : IPedidosProveedorController;
|
|||
|
|
procedure SetController (const Value : IPedidosProveedorController);
|
|||
|
|
property Controller : IPedidosProveedorController read GetController write SetController;
|
|||
|
|
|
|||
|
|
function GetViewProveedorPedido: IViewDatosYSeleccionProveedorPedido;
|
|||
|
|
property ViewProveedorPedido: IViewDatosYSeleccionProveedorPedido read GetViewProveedorPedido;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
TfrViewPedidoProveedor = class(TfrViewBase, IViewPedidoProveedor)
|
|||
|
|
DADataSource: TDADataSource;
|
|||
|
|
dxLayoutControl1Group_Root: TdxLayoutGroup;
|
|||
|
|
dxLayoutControl1: TdxLayoutControl;
|
|||
|
|
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;
|
|||
|
|
bVerPedidoCliente: TButton;
|
|||
|
|
dxLayoutControl1Group9: TdxLayoutGroup;
|
|||
|
|
dxLayoutControl1Group10: TdxLayoutGroup;
|
|||
|
|
ActionList1: TActionList;
|
|||
|
|
actVerPedidoCli: TAction;
|
|||
|
|
dxLayoutControl1Item13: TdxLayoutItem;
|
|||
|
|
frViewObraReserva1: TfrViewObraReserva;
|
|||
|
|
dxLayoutControl1Group11: TdxLayoutGroup;
|
|||
|
|
frViewDatosYSeleccionProveedorPedido1: TfrViewDatosYSeleccionProveedorPedido;
|
|||
|
|
dxLayoutControl1Item1: TdxLayoutItem;
|
|||
|
|
procedure CustomViewCreate(Sender: TObject);
|
|||
|
|
procedure CustomViewDestroy(Sender: TObject);
|
|||
|
|
procedure bFormasPagoClick(Sender: TObject);
|
|||
|
|
procedure actVerPedidoCliExecute(Sender: TObject);
|
|||
|
|
procedure actVerPedidoCliUpdate(Sender: TObject);
|
|||
|
|
procedure frViewProveedorPedidoButton1Click(Sender: TObject);
|
|||
|
|
procedure frViewProveedorPedidoButton2Click(Sender: TObject);
|
|||
|
|
procedure ObraReservaEditValueChanged(Sender: TObject);
|
|||
|
|
procedure CustomViewShow(Sender: TObject);
|
|||
|
|
protected
|
|||
|
|
FPedido : IBizPedidoProveedor;
|
|||
|
|
FController : IPedidosProveedorController;
|
|||
|
|
FViewProveedorPedido : IViewDatosYSeleccionProveedorPedido;
|
|||
|
|
FFormasPago : IBizFormaPago;
|
|||
|
|
FFormasPagoController : IFormasPagoController;
|
|||
|
|
FObras: TStringList;
|
|||
|
|
FObrasController : IObrasController;
|
|||
|
|
// FPedidoCliAsociado : IBizPedidoCliente;
|
|||
|
|
// FPedidoCliController : IPedidosClienteController;
|
|||
|
|
|
|||
|
|
function GetPedido: IBizPedidoProveedor;
|
|||
|
|
procedure SetPedido(const Value: IBizPedidoProveedor); virtual;
|
|||
|
|
function GetController : IPedidosProveedorController;
|
|||
|
|
procedure SetController (const Value : IPedidosProveedorController);
|
|||
|
|
function GetViewProveedorPedido: IViewDatosYSeleccionProveedorPedido;
|
|||
|
|
public
|
|||
|
|
property Pedido: IBizPedidoProveedor read GetPedido write SetPedido;
|
|||
|
|
property Controller : IPedidosProveedorController read GetController write SetController;
|
|||
|
|
property ViewProveedorPedido: IViewDatosYSeleccionProveedorPedido read GetViewProveedorPedido;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
implementation
|
|||
|
|
{$R *.dfm}
|
|||
|
|
|
|||
|
|
uses uStringsUtils;
|
|||
|
|
|
|||
|
|
|
|||
|
|
{ TfrViewPedidoProveedor }
|
|||
|
|
|
|||
|
|
procedure TfrViewPedidoProveedor.actVerPedidoCliExecute(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
// FPedidoCliController.Ver(FPedidoCliAsociado);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrViewPedidoProveedor.actVerPedidoCliUpdate(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
// if (Sender as TAction).Enabled then
|
|||
|
|
// (Sender as TAction).Enabled := Assigned(FPedidoCliAsociado)
|
|||
|
|
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;
|
|||
|
|
FObrasController := TObrasController.Create;
|
|||
|
|
FObras := FObrasController.DarListaObras;
|
|||
|
|
FViewProveedorPedido := frViewDatosYSeleccionProveedorPedido1;
|
|||
|
|
eReferencia.Enabled := False;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrViewPedidoProveedor.CustomViewDestroy(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
FViewProveedorPedido := Nil;
|
|||
|
|
FController := Nil;
|
|||
|
|
FFormasPago := Nil;
|
|||
|
|
FFormasPagoController := NIL;
|
|||
|
|
FObrasController := Nil;
|
|||
|
|
FreeAndNil(FObras)
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrViewPedidoProveedor.CustomViewShow(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
if not FPedido.ID_OBRAISNull then
|
|||
|
|
begin
|
|||
|
|
frViewObraReserva1.ActivarObra(FPedido.ID_OBRA);
|
|||
|
|
frViewDireccionEntregaPedidoProv1.lblObra.Caption := FPedido.NOMBRE_OBRA;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
frViewObraReserva1.cbObraReserva.Properties.OnEditValueChanged := ObraReservaEditValueChanged;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrViewPedidoProveedor.ObraReservaEditValueChanged(Sender: TObject);
|
|||
|
|
var
|
|||
|
|
IDObra: String;
|
|||
|
|
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
|
|||
|
|
IDObra := frViewObraReserva1.DarIDObraSeleccionada;
|
|||
|
|
Controller.AsignarIDObra(FPedido, IDObra);
|
|||
|
|
|
|||
|
|
if EsCadenaVacia(IDObra) then
|
|||
|
|
begin
|
|||
|
|
frViewDireccionEntregaPedidoProv1.actListaObras.Enabled := False;
|
|||
|
|
frViewDireccionEntregaPedidoProv1.lblObra.Caption := frViewObraReserva1.cbObraReserva.Text;
|
|||
|
|
frViewDireccionEntregaPedidoProv1.actListaAlmacenes.Execute
|
|||
|
|
end
|
|||
|
|
else
|
|||
|
|
begin
|
|||
|
|
frViewDireccionEntregaPedidoProv1.actListaObras.Enabled := true;
|
|||
|
|
frViewDireccionEntregaPedidoProv1.actListaObras.Execute;
|
|||
|
|
frViewDireccionEntregaPedidoProv1.lblObra.Caption := frViewObraReserva1.cbObraReserva.Text;
|
|||
|
|
end;
|
|||
|
|
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;
|
|||
|
|
FViewProveedorPedido.ElegirProveedor;
|
|||
|
|
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;
|
|||
|
|
FViewProveedorPedido.AnadirNuevoProveedor;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
function TfrViewPedidoProveedor.GetController: IPedidosProveedorController;
|
|||
|
|
begin
|
|||
|
|
Result := FController;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
function TfrViewPedidoProveedor.GetPedido: IBizPedidoProveedor;
|
|||
|
|
begin
|
|||
|
|
Result := FPedido;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
function TfrViewPedidoProveedor.GetViewProveedorPedido: IViewDatosYSeleccionProveedorPedido;
|
|||
|
|
begin
|
|||
|
|
Result := FViewProveedorPedido;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrViewPedidoProveedor.SetController(const Value: IPedidosProveedorController);
|
|||
|
|
begin
|
|||
|
|
FController := Value;
|
|||
|
|
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;
|
|||
|
|
|
|||
|
|
// 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';
|
|||
|
|
|
|||
|
|
FViewProveedorPedido.Pedido := FPedido;
|
|||
|
|
frViewDireccionEntregaPedidoProv1.PedidoProveedor := FPedido;
|
|||
|
|
|
|||
|
|
frViewObraReserva1.Obras := FObras;
|
|||
|
|
frViewObraReserva1.ObrasController := FObrasController;
|
|||
|
|
end
|
|||
|
|
else begin
|
|||
|
|
DADataSource.DataTable := NIL;
|
|||
|
|
dsFormaPago.DataTable := NIL;
|
|||
|
|
// FPedidoCliAsociado := NIL;
|
|||
|
|
FViewProveedorPedido.Pedido := NIL;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
|
|||
|
|
end.
|