2007-06-11 15:29:06 +00:00
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,
2008-09-18 17:39:18 +00:00
uBizPedidosProveedor, uPedidosProveedorController, uAlbaranesProveedorController;
2007-06-11 15:29:06 +00:00
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;
2008-09-18 17:39:18 +00:00
function GetController : IAlbaranesProveedorController;
procedure SetController ( const Value : IAlbaranesProveedorController) ;
property Controller : IAlbaranesProveedorController read GetController write SetController;
2007-06-11 15:29:06 +00:00
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;
2008-09-18 17:39:18 +00:00
eReferenciaPedidoProv: TcxTextEdit;
2007-06-11 15:29:06 +00:00
dxLayoutControl1Item9: TdxLayoutItem;
Button1: TButton;
dxLayoutControl1Group5: TdxLayoutGroup;
actVerPedido: TAction;
dxLayoutControl1Item10: TdxLayoutItem;
2007-07-03 18:57:02 +00:00
eRefFactura: TcxDBTextEdit;
dxLayoutControl1Item11: TdxLayoutItem;
eReferenciaProveedor: TcxDBTextEdit;
dxLayoutControl1Item12: TdxLayoutItem;
eReferenciaFacturaProveedor: TcxDBTextEdit;
2007-06-11 15:29:06 +00:00
procedure CustomViewCreate( Sender: TObject) ;
procedure CustomViewDestroy( Sender: TObject) ;
procedure actElegirDireccionExecute( Sender: TObject) ;
procedure frViewProveedorAlbaranButton1Click( Sender: TObject) ;
procedure frViewProveedorAlbaranButton2Click( Sender: TObject) ;
procedure bFormasPagoClick( Sender: TObject) ;
2007-07-27 18:39:33 +00:00
procedure actVerPedidoExecute( Sender: TObject) ;
2007-06-11 15:29:06 +00:00
procedure frViewProveedorAlbaranactElegirContactoUpdate( Sender: TObject) ;
procedure frViewProveedorAlbaranactAnadirContactoUpdate( Sender: TObject) ;
2007-07-27 18:39:33 +00:00
procedure actElegirDireccionUpdate( Sender: TObject) ;
2007-06-11 15:29:06 +00:00
procedure actVerPedidoUpdate( Sender: TObject) ;
2007-07-27 18:39:33 +00:00
2007-06-11 15:29:06 +00:00
protected
2008-09-18 17:39:18 +00:00
FController : IAlbaranesProveedorController;
2007-06-11 15:29:06 +00:00
FAlbaran : IBizAlbaranProveedor;
FViewProveedorAlbaran : TfrViewDatosYSeleccionProveedor;
FFormasPagoController : IFormasPagoController;
FPedidoAsociado : IBizPedidoProveedor;
FPedidoController : IPedidosProveedorController;
2007-07-25 17:47:53 +00:00
2007-06-11 15:29:06 +00:00
function GetAlbaran: IBizAlbaranProveedor;
procedure SetAlbaran( const Value: IBizAlbaranProveedor) ; virtual ;
function GetViewProveedorAlbaran: TfrViewDatosYSeleccionProveedor;
procedure SetViewProveedorAlbaran( const Value: TfrViewDatosYSeleccionProveedor) ;
2008-09-18 17:39:18 +00:00
function GetController : IAlbaranesProveedorController;
procedure SetController ( const Value : IAlbaranesProveedorController) ;
2007-07-30 19:17:40 +00:00
2007-06-11 15:29:06 +00:00
public
property Albaran: IBizAlbaranProveedor read GetAlbaran write SetAlbaran;
property ViewProveedorAlbaran: TfrViewDatosYSeleccionProveedor read GetViewProveedorAlbaran;
2008-09-18 17:39:18 +00:00
property Controller : IAlbaranesProveedorController read GetController write SetController;
2007-06-11 15:29:06 +00:00
end ;
implementation
{$R *.dfm}
{ TfrViewAlbaranProveedor }
uses
2008-09-18 17:39:18 +00:00
uProveedoresController, uBizDireccionesContacto,
2007-07-27 18:39:33 +00:00
uBizFormasPago, schAlbaranesProveedorClient_Intf;
2007-06-11 15:29:06 +00:00
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 ;
2007-07-25 17:47:53 +00:00
if ( Sender as TAction) . Enabled then
2007-07-27 18:39:33 +00:00
( Sender as TAction) . Enabled : = ( not ReadOnly ) and
Assigned( FAlbaran) and
2007-06-11 15:29:06 +00:00
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 ;
2007-07-27 18:39:33 +00:00
if ( Sender as TAction) . Enabled then
( Sender as TAction) . Enabled : = ( Albaran. REF_PED_PROVEEDOR < > '' )
2007-06-11 15:29:06 +00:00
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
2008-09-18 17:39:18 +00:00
FController : = Nil ;
2007-06-11 15:29:06 +00:00
FPedidoController : = NIL ;
FFormasPagoController : = NIL ;
FPedidoAsociado : = NIL ;
FViewProveedorAlbaran : = Nil ;
inherited ;
end ;
2007-07-27 18:39:33 +00:00
procedure TfrViewAlbaranProveedor. frViewProveedorAlbaranactAnadirContactoUpdate( Sender: TObject) ;
2007-06-11 15:29:06 +00:00
begin
2007-07-25 17:47:53 +00:00
if ( Sender as TAction) . Enabled then
2007-07-27 18:39:33 +00:00
( Sender as TAction) . Enabled : = not Assigned( FPedidoAsociado) ;
2007-07-25 17:47:53 +00:00
end ;
2007-07-27 18:39:33 +00:00
procedure TfrViewAlbaranProveedor. frViewProveedorAlbaranactElegirContactoUpdate( Sender: TObject) ;
2007-07-25 17:47:53 +00:00
begin
if ( Sender as TAction) . Enabled then
2007-07-27 18:39:33 +00:00
( Sender as TAction) . Enabled : = ( not Assigned( FPedidoAsociado) ) ;
2007-06-11 15:29:06 +00:00
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 ;
2007-08-21 16:05:19 +00:00
frViewProveedorAlbaran. actAnadirContacto. Execute;
2007-06-11 15:29:06 +00:00
end ;
function TfrViewAlbaranProveedor. GetAlbaran: IBizAlbaranProveedor;
begin
Result : = FAlbaran;
end ;
2008-09-18 17:39:18 +00:00
function TfrViewAlbaranProveedor. GetController: IAlbaranesProveedorController;
begin
Result : = FController;
end ;
2007-06-11 15:29:06 +00:00
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;
2008-09-18 17:39:18 +00:00
eReferenciaPedidoProv. Enabled : = False ;
2007-07-03 18:57:02 +00:00
eRefFactura. Enabled : = False ;
2007-06-11 15:29:06 +00:00
FPedidoAsociado : = NIL ;
if ( FAlbaran. ID_PEDIDO > 0 ) then
begin
FPedidoAsociado : = FPedidoController. Buscar( FAlbaran. ID_PEDIDO) ;
if Assigned( FPedidoAsociado) then
begin
FPedidoAsociado. DataTable. Active : = True ;
2008-09-18 17:39:18 +00:00
eReferenciaPedidoProv. Text : = FPedidoAsociado. REFERENCIA
2007-06-11 15:29:06 +00:00
end
else
2008-09-18 17:39:18 +00:00
eReferenciaPedidoProv. Text : = '' ;
2007-06-11 15:29:06 +00:00
end
else
2008-09-18 17:39:18 +00:00
eReferenciaPedidoProv. Text : = 'No hay pedido asociado' ;
2007-06-11 15:29:06 +00:00
end
else begin
DADataSource. DataTable : = NIL ;
dsFormaPago. DataTable : = NIL ;
frViewProveedorAlbaran. Proveedor : = nil ;
frViewDireccionEntregaAlbaranProv1. AlbaranProveedor : = Nil ;
end ;
end ;
2008-09-18 17:39:18 +00:00
procedure TfrViewAlbaranProveedor. SetController( const Value: IAlbaranesProveedorController) ;
begin
FController : = Value;
if Assigned( FController) then
begin
ViewProveedorAlbaran. Controller : = Controller. ProveedorController;
end ;
end ;
2007-06-11 15:29:06 +00:00
procedure TfrViewAlbaranProveedor. SetViewProveedorAlbaran( const Value: TfrViewDatosYSeleccionProveedor) ;
begin
FViewProveedorAlbaran : = Value;
end ;
end .