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/Albaranes de proveedor/Views/uViewAlbaranProveedor.pas
2007-06-11 15:29:06 +00:00

269 lines
9.6 KiB
ObjectPascal
Raw Blame History

unit uViewAlbaranProveedor;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, uBizAlbaranesProveedor, DB, uDADataTable, uCustomView,
AppEvnts, StdCtrls, Mask, DBCtrls,
uViewObservaciones, uViewDatosYSeleccionProveedor,
cxGraphics, cxDropDownEdit, cxImageComboBox, cxDBEdit, cxContainer, cxEdit,
cxTextEdit, cxMaskEdit, cxCalendar, dxLayoutControl, cxControls, cxMemo,
uViewDireccionEntregaAlbaranProv, Buttons, ActnList, cxLookupEdit,
cxDBLookupEdit, cxDBLookupComboBox, uFormasPagoController,
uBizPedidosProveedor, uPedidosProveedorController;
type
IViewAlbaranProveedor = interface(IViewBase)
['{2DA099CE-359A-46E8-90A0-D004FF09040A}']
function GetAlbaran: IBizAlbaranProveedor;
procedure SetAlbaran(const Value: IBizAlbaranProveedor);
property Albaran: IBizAlbaranProveedor read GetAlbaran write SetAlbaran;
function GetViewProveedorAlbaran: TfrViewDatosYSeleccionProveedor;
procedure SetViewProveedorAlbaran(const Value: TfrViewDatosYSeleccionProveedor);
property ViewProveedorAlbaran: TfrViewDatosYSeleccionProveedor read GetViewProveedorAlbaran write SetViewProveedorAlbaran;
end;
TfrViewAlbaranProveedor = class(TfrViewBase, IViewAlbaranProveedor)
DADataSource: TDADataSource;
dxLayoutControl1Group_Root: TdxLayoutGroup;
dxLayoutControl1: TdxLayoutControl;
dxLayoutControl1Item2: TdxLayoutItem;
edtFechaAlbaran: TcxDBDateEdit;
dxLayoutControl1Group1: TdxLayoutGroup;
dxLayoutControl1Group2: TdxLayoutGroup;
dxLayoutControl1Item6: TdxLayoutItem;
memObservaciones: TcxDBMemo;
dxLayoutControl1Item3: TdxLayoutItem;
eReferencia: TcxDBTextEdit;
dxLayoutControl1Group6: TdxLayoutGroup;
dxLayoutControl1Group7: TdxLayoutGroup;
dxLayoutControl1Group8: TdxLayoutGroup;
dxLayoutControl1Group3: TdxLayoutGroup;
dxLayoutControl1Item1: TdxLayoutItem;
frViewProveedorAlbaran: TfrViewDatosYSeleccionProveedor;
ActionList1: TActionList;
actElegirDireccion: TAction;
dxLayoutControl1Item4: TdxLayoutItem;
frViewDireccionEntregaAlbaranProv1: TfrViewDireccionEntregaAlbaranProv;
dxLayoutControl1Item5: TdxLayoutItem;
cbFormaPago: TcxDBLookupComboBox;
dxLayoutControl1Item7: TdxLayoutItem;
bFormasPago: TButton;
dxLayoutControl1Group4: TdxLayoutGroup;
dsFormaPago: TDADataSource;
dxLayoutControl1Item8: TdxLayoutItem;
eReferenciaPedidoCli: TcxTextEdit;
dxLayoutControl1Item9: TdxLayoutItem;
Button1: TButton;
dxLayoutControl1Group5: TdxLayoutGroup;
actVerPedido: TAction;
dxLayoutControl1Item10: TdxLayoutItem;
eRefFacturaProv: TcxDBTextEdit;
procedure CustomViewCreate(Sender: TObject);
procedure CustomViewDestroy(Sender: TObject);
procedure actElegirDireccionExecute(Sender: TObject);
procedure actElegirDireccionUpdate(Sender: TObject);
procedure frViewProveedorAlbaranButton1Click(Sender: TObject);
procedure frViewProveedorAlbaranButton2Click(Sender: TObject);
procedure bFormasPagoClick(Sender: TObject);
procedure frViewProveedorAlbaranactElegirContactoUpdate(Sender: TObject);
procedure frViewProveedorAlbaranactAnadirContactoUpdate(Sender: TObject);
procedure actVerPedidoExecute(Sender: TObject);
procedure actVerPedidoUpdate(Sender: TObject);
protected
FAlbaran : IBizAlbaranProveedor;
FViewProveedorAlbaran : TfrViewDatosYSeleccionProveedor;
FFormasPagoController : IFormasPagoController;
FPedidoAsociado : IBizPedidoProveedor;
FPedidoController : IPedidosProveedorController;
function GetAlbaran: IBizAlbaranProveedor;
procedure SetAlbaran(const Value: IBizAlbaranProveedor); virtual;
function GetViewProveedorAlbaran: TfrViewDatosYSeleccionProveedor;
procedure SetViewProveedorAlbaran(const Value: TfrViewDatosYSeleccionProveedor);
public
property Albaran: IBizAlbaranProveedor read GetAlbaran write SetAlbaran;
property ViewProveedorAlbaran: TfrViewDatosYSeleccionProveedor read GetViewProveedorAlbaran;
end;
implementation
{$R *.dfm}
{ TfrViewAlbaranProveedor }
uses
uProveedoresController, uBizDireccionesContacto, uAlbaranesProveedorController,
uBizFormasPago;
procedure TfrViewAlbaranProveedor.actElegirDireccionExecute(Sender: TObject);
var
AProveedoresController : IProveedoresController;
AAlbaranController : IAlbaranesProveedorController;
ADireccion : IBizDireccionesContacto;
begin
inherited;
{ AProveedoresController := TProveedoresController.Create;
AAlbaranController := TAlbaranesProveedorController.Create;
try
ADireccion := AProveedoresController.ElegirDireccionEntrega(FAlbaran.Proveedor.Direcciones,
'Seleccione la direcci<63>n del Proveedor que quiere utilizar como direcci<63>n de envio de este Albaran.');
if Assigned(ADireccion) then
AAlbaranController.CopiarDireccionEnvio(ADireccion, FAlbaran);
finally
AProveedoresController := NIL;
AAlbaranController := NIL;
end;
}
end;
procedure TfrViewAlbaranProveedor.actElegirDireccionUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Enabled := Assigned(FAlbaran) and
Assigned(FViewProveedorAlbaran) and
FAlbaran.DataTable.Active and
Assigned(FAlbaran.Proveedor) and
Assigned(FAlbaran.Proveedor) and
Assigned(FAlbaran.Proveedor.Direcciones) and
FAlbaran.Proveedor.Direcciones.DataTable.Active and
(FAlbaran.Proveedor.Direcciones.DataTable.RecordCount > 0);
end;
procedure TfrViewAlbaranProveedor.actVerPedidoExecute(Sender: TObject);
begin
inherited;
FPedidoController.Ver(FPedidoAsociado);
end;
procedure TfrViewAlbaranProveedor.actVerPedidoUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Enabled := Assigned(FPedidoAsociado)
end;
procedure TfrViewAlbaranProveedor.bFormasPagoClick(Sender: TObject);
begin
inherited;
FFormasPagoController.VerTodos((dsFormaPago.DataTable) as IBizFormaPago);
end;
procedure TfrViewAlbaranProveedor.CustomViewCreate(Sender: TObject);
begin
inherited;
FPedidoAsociado := NIL;
FPedidoController := TPedidosProveedorController.Create;
FFormasPagoController := TFormasPagoController.Create;
FViewProveedorAlbaran := frViewProveedorAlbaran;
FViewProveedorAlbaran.MsgElegirProveedor := 'Elija el proveedor de este albar<61>n.';
eReferencia.Enabled := False;
end;
procedure TfrViewAlbaranProveedor.CustomViewDestroy(Sender: TObject);
begin
FPedidoController := NIL;
FFormasPagoController := NIL;
FPedidoAsociado := NIL;
FViewProveedorAlbaran := Nil;
inherited;
end;
procedure TfrViewAlbaranProveedor.frViewProveedorAlbaranactAnadirContactoUpdate(
Sender: TObject);
begin
if Assigned(FPedidoAsociado) then
(Sender as TAction).Enabled := False
else
inherited;
end;
procedure TfrViewAlbaranProveedor.frViewProveedorAlbaranactElegirContactoUpdate(
Sender: TObject);
begin
if Assigned(FPedidoAsociado) then
(Sender as TAction).Enabled := False
else
inherited;
end;
procedure TfrViewAlbaranProveedor.frViewProveedorAlbaranButton1Click(Sender: TObject);
begin
if Assigned(Albaran) and Assigned(Albaran.Proveedor) and
Assigned (Albaran.Detalles) and (Albaran.Detalles.RecordCount > 0) then
begin
if (Application.MessageBox('Si cambia de proveedor, se eliminar<61>n todos sus art<72>culos de la orden de devoluci<63>n actual, <20>Desea continuar?', 'Atenci<63>n', MB_YESNO) = IDNO) then
Exit;
end;
frViewProveedorAlbaran.actElegirContacto.Execute;
end;
procedure TfrViewAlbaranProveedor.frViewProveedorAlbaranButton2Click(Sender: TObject);
begin
if Assigned(Albaran) and Assigned(Albaran.Proveedor) and
Assigned (Albaran.Detalles) and (Albaran.Detalles.RecordCount > 0) then
begin
if (Application.MessageBox('Si cambia de proveedor, se eliminar<61>n todos sus art<72>culos del la orden de devoluci<63>n actual, <20>Desea continuar?', 'Atenci<63>n', MB_YESNO) = IDNO) then
Exit;
end;
frViewProveedorAlbaran.actElegirContacto.Execute;
end;
function TfrViewAlbaranProveedor.GetAlbaran: IBizAlbaranProveedor;
begin
Result := FAlbaran;
end;
function TfrViewAlbaranProveedor.GetViewProveedorAlbaran: TfrViewDatosYSeleccionProveedor;
begin
Result := FViewProveedorAlbaran;
end;
procedure TfrViewAlbaranProveedor.SetAlbaran(const Value: IBizAlbaranProveedor);
begin
FAlbaran := Value;
if Assigned(FAlbaran) then
begin
DADataSource.DataTable := FAlbaran.DataTable;
dsFormaPago.DataTable := FFormasPagoController.BuscarTodos.DataTable;
dsFormaPago.DataTable.Active := True;
frViewProveedorAlbaran.Proveedor := FAlbaran.Proveedor;
frViewDireccionEntregaAlbaranProv1.AlbaranProveedor := FAlbaran;
eReferenciaPedidoCli.Enabled := False;
eRefFacturaProv.Enabled := False;
FPedidoAsociado := NIL;
if (FAlbaran.ID_PEDIDO > 0) then
begin
FPedidoAsociado := FPedidoController.Buscar(FAlbaran.ID_PEDIDO);
if Assigned(FPedidoAsociado) then
begin
FPedidoAsociado.DataTable.Active := True;
eReferenciaPedidoCli.Text := FPedidoAsociado.REFERENCIA
end
else
eReferenciaPedidoCli.Text := '';
end
else
eReferenciaPedidoCli.Text := 'No hay pedido asociado';
end
else begin
DADataSource.DataTable := NIL;
dsFormaPago.DataTable := NIL;
frViewProveedorAlbaran.Proveedor := nil;
frViewDireccionEntregaAlbaranProv1.AlbaranProveedor := Nil;
end;
end;
procedure TfrViewAlbaranProveedor.SetViewProveedorAlbaran(const Value: TfrViewDatosYSeleccionProveedor);
begin
FViewProveedorAlbaran := Value;
end;
end.