2007-11-16 20:58:56 +00:00
unit uViewAlbaranProveedor;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, uBizAlbaranesProveedor, DB, uDADataTable, uCustomView,
AppEvnts, StdCtrls, Mask, DBCtrls,
2008-12-01 11:39:43 +00:00
uViewObservaciones,
2007-11-16 20:58:56 +00:00
cxGraphics, cxDropDownEdit, cxImageComboBox, cxDBEdit, cxContainer, cxEdit,
cxTextEdit, cxMaskEdit, cxCalendar, dxLayoutControl, cxControls, cxMemo,
uViewDireccionEntregaAlbaranProv, Buttons, ActnList, cxLookupEdit,
cxDBLookupEdit, cxDBLookupComboBox, uFormasPagoController,
2007-11-17 17:39:17 +00:00
uBizPedidosProveedor, uPedidosProveedorController, uBizFormasPago,
2008-12-01 11:39:43 +00:00
uDAInterfaces, uViewDatosYSeleccionProveedorAlbaran;
2008-08-27 16:48:20 +00:00
2007-11-16 20:58:56 +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;
2008-12-01 11:39:43 +00:00
function GetViewProveedorAlbaran: TfrViewDatosYSeleccionProveedorAlbaran;
property ViewProveedorAlbaran: TfrViewDatosYSeleccionProveedorAlbaran read GetViewProveedorAlbaran;
2007-11-16 20:58:56 +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;
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;
eRefFactura: TcxDBTextEdit;
dxLayoutControl1Item11: TdxLayoutItem;
eReferenciaProveedor: TcxDBTextEdit;
dxLayoutControl1Item12: TdxLayoutItem;
eReferenciaFacturaProveedor: TcxDBTextEdit;
2008-12-01 11:39:43 +00:00
frViewDatosYSeleccionProveedorAlbaran1: TfrViewDatosYSeleccionProveedorAlbaran;
dxLayoutControl1Item1: TdxLayoutItem;
2007-11-16 20:58:56 +00:00
procedure CustomViewCreate( Sender: TObject) ;
procedure CustomViewDestroy( Sender: TObject) ;
procedure frViewProveedorAlbaranButton1Click( Sender: TObject) ;
procedure frViewProveedorAlbaranButton2Click( Sender: TObject) ;
procedure bFormasPagoClick( Sender: TObject) ;
procedure actVerPedidoExecute( Sender: TObject) ;
procedure frViewProveedorAlbaranactElegirContactoUpdate( Sender: TObject) ;
procedure frViewProveedorAlbaranactAnadirContactoUpdate( Sender: TObject) ;
procedure actElegirDireccionUpdate( Sender: TObject) ;
procedure actVerPedidoUpdate( Sender: TObject) ;
protected
FAlbaran : IBizAlbaranProveedor;
2008-12-01 11:39:43 +00:00
FViewProveedorAlbaran : TfrViewDatosYSeleccionProveedorAlbaran;
2007-11-17 17:39:17 +00:00
FFormasPago : IBizFormaPago;
2007-11-16 20:58:56 +00:00
FFormasPagoController : IFormasPagoController;
FPedidoAsociado : IBizPedidoProveedor;
FPedidoController : IPedidosProveedorController;
function GetAlbaran: IBizAlbaranProveedor;
procedure SetAlbaran( const Value: IBizAlbaranProveedor) ; virtual ;
2008-12-01 11:39:43 +00:00
function GetViewProveedorAlbaran: TfrViewDatosYSeleccionProveedorAlbaran;
2007-11-16 20:58:56 +00:00
public
property Albaran: IBizAlbaranProveedor read GetAlbaran write SetAlbaran;
2008-12-01 11:39:43 +00:00
property ViewProveedorAlbaran: TfrViewDatosYSeleccionProveedorAlbaran read GetViewProveedorAlbaran;
2007-11-16 20:58:56 +00:00
end ;
implementation
{$R *.dfm}
{ TfrViewAlbaranProveedor }
uses
uProveedoresController, uBizDireccionesContacto, uAlbaranesProveedorController,
2007-11-17 17:39:17 +00:00
schAlbaranesProveedorClient_Intf;
2007-11-16 20:58:56 +00:00
procedure TfrViewAlbaranProveedor. actElegirDireccionUpdate( Sender: TObject) ;
begin
inherited ;
if ( Sender as TAction) . Enabled then
( Sender as TAction) . Enabled : = ( not ReadOnly ) and
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 ;
if ( Sender as TAction) . Enabled then
( Sender as TAction) . Enabled : = ( Albaran. REF_PED_PROVEEDOR < > '' )
end ;
procedure TfrViewAlbaranProveedor. bFormasPagoClick( Sender: TObject) ;
begin
inherited ;
2007-11-17 17:39:17 +00:00
if Assigned( FFormasPago) then
FFormasPagoController. VerTodos( FFormasPago) ;
2007-11-16 20:58:56 +00:00
end ;
procedure TfrViewAlbaranProveedor. CustomViewCreate( Sender: TObject) ;
begin
inherited ;
FPedidoAsociado : = NIL ;
2007-11-17 17:39:17 +00:00
FPedidoController : = TPedidosProveedorController. Create;
FFormasPago : = Nil ;
2007-11-16 20:58:56 +00:00
FFormasPagoController : = TFormasPagoController. Create;
2008-12-01 11:39:43 +00:00
FViewProveedorAlbaran : = frViewDatosYSeleccionProveedorAlbaran1;
2007-11-16 20:58:56 +00:00
eReferencia. Enabled : = False ;
end ;
procedure TfrViewAlbaranProveedor. CustomViewDestroy( Sender: TObject) ;
begin
FPedidoController : = NIL ;
2008-12-01 11:39:43 +00:00
FFormasPago : = NIL ;
2007-11-16 20:58:56 +00:00
FFormasPagoController : = NIL ;
FPedidoAsociado : = NIL ;
2008-12-01 11:39:43 +00:00
FViewProveedorAlbaran : = NIL ;
2007-11-16 20:58:56 +00:00
inherited ;
end ;
procedure TfrViewAlbaranProveedor. frViewProveedorAlbaranactAnadirContactoUpdate( Sender: TObject) ;
begin
if ( Sender as TAction) . Enabled then
( Sender as TAction) . Enabled : = not Assigned( FPedidoAsociado) ;
end ;
procedure TfrViewAlbaranProveedor. frViewProveedorAlbaranactElegirContactoUpdate( Sender: TObject) ;
begin
if ( Sender as TAction) . Enabled then
( Sender as TAction) . Enabled : = ( not Assigned( FPedidoAsociado) ) ;
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 ;
2008-12-01 11:39:43 +00:00
FViewProveedorAlbaran. ElegirProveedor;
2007-11-16 20:58:56 +00:00
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 ;
2008-12-01 11:39:43 +00:00
FViewProveedorAlbaran. AnadirNuevoProveedor;
2007-11-16 20:58:56 +00:00
end ;
function TfrViewAlbaranProveedor. GetAlbaran: IBizAlbaranProveedor;
begin
Result : = FAlbaran;
end ;
2008-12-01 11:39:43 +00:00
function TfrViewAlbaranProveedor. GetViewProveedorAlbaran: TfrViewDatosYSeleccionProveedorAlbaran;
2007-11-16 20:58:56 +00:00
begin
Result : = FViewProveedorAlbaran;
end ;
procedure TfrViewAlbaranProveedor. SetAlbaran( const Value: IBizAlbaranProveedor) ;
begin
FAlbaran : = Value;
if Assigned( FAlbaran) then
begin
DADataSource. DataTable : = FAlbaran. DataTable;
2007-11-17 17:39:17 +00:00
FFormasPago : = FFormasPagoController. BuscarTodos;
dsFormaPago. DataTable : = FFormasPago. DataTable;
2007-11-16 20:58:56 +00:00
dsFormaPago. DataTable. Active : = True ;
2007-11-17 17:39:17 +00:00
2008-12-01 11:39:43 +00:00
FViewProveedorAlbaran. Albaran : = FAlbaran;
2007-11-16 20:58:56 +00:00
frViewDireccionEntregaAlbaranProv1. AlbaranProveedor : = FAlbaran;
eReferenciaPedidoCli. Enabled : = False ;
eRefFactura. 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 ;
2008-12-01 11:39:43 +00:00
FViewProveedorAlbaran. Albaran : = nil ;
2007-11-16 20:58:56 +00:00
frViewDireccionEntregaAlbaranProv1. AlbaranProveedor : = Nil ;
end ;
end ;
end .