2007-11-28 17:40:31 +00:00
unit uViewAlbaranCliente;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, uBizAlbaranesCliente, DB, uDADataTable, uCustomView,
AppEvnts, StdCtrls, Mask, DBCtrls,
2008-12-18 15:00:03 +00:00
uViewObservaciones, uViewDatosYSeleccionClienteAlbaran,
2007-11-28 17:40:31 +00:00
cxGraphics, cxDropDownEdit, cxImageComboBox, cxDBEdit, cxContainer, cxEdit,
cxTextEdit, cxMaskEdit, cxCalendar, dxLayoutControl, cxControls, cxMemo,
uViewDireccionEntregaAlbaranCliente, Buttons, ActnList,
// uBizPedidosCliente, uPedidosClienteController,
ExtCtrls, cxLookupEdit, cxDBLookupEdit, uBizFormasPago,
2008-01-10 17:55:57 +00:00
cxDBLookupComboBox, uFormasPagoController, uAlmacenesController, uDAInterfaces,
2008-12-18 15:00:03 +00:00
uViewTienda, uAlbaranesClienteController, uViewDatosYSeleccionCliente;
2007-11-28 17:40:31 +00:00
type
IViewAlbaranCliente = interface( IViewBase)
[ '{F4946DFE-B64C-47C8-96D6-24549E6DAC11}' ]
function GetAlbaran: IBizAlbaranCliente;
procedure SetAlbaran( const Value: IBizAlbaranCliente) ;
property Albaran: IBizAlbaranCliente read GetAlbaran write SetAlbaran;
2008-12-18 15:00:03 +00:00
function GetViewClienteAlbaran: IViewDatosYSeleccionClienteAlbaran;
property ViewClienteAlbaran: IViewDatosYSeleccionClienteAlbaran read GetViewClienteAlbaran;
2007-11-28 17:40:31 +00:00
end ;
TfrViewAlbaranCliente = class( TfrViewBase, IViewAlbaranCliente)
DADataSource: TDADataSource;
dxLayoutControl1Group_Root: TdxLayoutGroup;
dxLayoutControl1: TdxLayoutControl;
dxLayoutControl1Item2: TdxLayoutItem;
edtFechaAlbaran: TcxDBDateEdit;
dxLayoutControl1Group1: TdxLayoutGroup;
dxLayoutControl1Group2: TdxLayoutGroup;
dxLayoutControl1Item3: TdxLayoutItem;
eReferencia: TcxDBTextEdit;
dxLayoutControl1Group6: TdxLayoutGroup;
dxLayoutControl1Group7: TdxLayoutGroup;
dxLayoutControl1Group8: TdxLayoutGroup;
dxLayoutControl1Group3: TdxLayoutGroup;
dxLayoutControl1Item1: TdxLayoutItem;
2008-12-18 15:00:03 +00:00
frViewClienteAlbaran: TfrViewDatosYSeleccionClienteAlbaran;
2007-11-28 17:40:31 +00:00
dxLayoutControl1Item8: TdxLayoutItem;
eCalle: TcxDBTextEdit;
dxLayoutControl1Item9: TdxLayoutItem;
ePoblacion: TcxDBTextEdit;
dxLayoutControl1Item10: TdxLayoutItem;
eCodigoPostal: TcxDBTextEdit;
dxLayoutControl1Item11: TdxLayoutItem;
eProvincia: TcxDBTextEdit;
dxLayoutControl1Item12: TdxLayoutItem;
ePersonaContacto: TcxDBTextEdit;
dxLayoutControl1Item13: TdxLayoutItem;
eTlfTrabajo: TcxDBTextEdit;
dxLayoutControl1Group4: TdxLayoutGroup;
dxLayoutControl1Group9: TdxLayoutGroup;
dxLayoutControl1Item14: TdxLayoutItem;
bElegirDireccion: TBitBtn;
ActionList1: TActionList;
actElegirDireccion: TAction;
Button1: TButton;
dxLayoutControl1Item5: TdxLayoutItem;
actVerPedidoCli: TAction;
eReferenciaPedidoCli: TcxTextEdit;
dxLayoutControl1Item7: TdxLayoutItem;
dxLayoutControl1Group5: TdxLayoutGroup;
dxLayoutControl1Item4: TdxLayoutItem;
cbFormaPago: TcxDBLookupComboBox;
dxLayoutControl1Item15: TdxLayoutItem;
bFormasPago: TButton;
dsFormaPago: TDADataSource;
dxLayoutControl1Group13: TdxLayoutGroup;
dxLayoutControl1Group14: TdxLayoutGroup;
dxLayoutControl1Item16: TdxLayoutItem;
eFechaRecepcion: TcxDBDateEdit;
dxLayoutControl1Group11: TdxLayoutGroup;
dxLayoutControl1Item19: TdxLayoutItem;
cbConAlmacen: TCheckBox;
dxLayoutControl1Item20: TdxLayoutItem;
cbAlmacen: TcxDBLookupComboBox;
dsAlmacenes: TDADataSource;
dxLayoutControl1Item18: TdxLayoutItem;
Label1: TLabel;
dxLayoutControl1Group12: TdxLayoutGroup;
dxLayoutControl1Group10: TdxLayoutGroup;
dxLayoutControl1Item22: TdxLayoutItem;
eRefFacturaCli: TcxDBTextEdit;
dxLayoutControl1Group15: TdxLayoutGroup;
dxLayoutControl1Item24: TdxLayoutItem;
eFechaPrevista: TcxDBDateEdit;
dxLayoutControl1Item23: TdxLayoutItem;
eRefCliente: TcxDBTextEdit;
dxLayoutControl1Item21: TdxLayoutItem;
eFechaEnvio: TcxDBDateEdit;
2008-01-10 17:55:57 +00:00
dxLayoutControl1Group17: TdxLayoutGroup;
2008-02-26 18:08:51 +00:00
frViewTienda1: TfrViewTienda;
dxLayoutControl1Item17: TdxLayoutItem;
2009-04-15 14:45:54 +00:00
frViewObservaciones1: TfrViewObservaciones;
dxLayoutControl1Item6: TdxLayoutItem;
2007-11-28 17:40:31 +00:00
procedure CustomViewCreate( Sender: TObject) ;
procedure CustomViewDestroy( Sender: TObject) ;
procedure actVerPedidoCliExecute( Sender: TObject) ;
procedure bFormasPagoClick( Sender: TObject) ;
procedure cbConAlmacenClick( Sender: TObject) ;
procedure eFechaPrevistaPropertiesValidate( Sender: TObject;
var DisplayValue: Variant ; var ErrorText: TCaption; var Error: Boolean ) ;
procedure eFechaEnvioPropertiesValidate( Sender: TObject;
var DisplayValue: Variant ; var ErrorText: TCaption; var Error: Boolean ) ;
procedure eFechaRecepcionPropertiesValidate( Sender: TObject;
var DisplayValue: Variant ; var ErrorText: TCaption; var Error: Boolean ) ;
procedure frViewClienteAlbaranactElegirContactoUpdate( Sender: TObject) ;
procedure actVerPedidoCliUpdate( Sender: TObject) ;
procedure frViewClienteAlbaranButton1Click( Sender: TObject) ;
procedure frViewClienteAlbaranButton2Click( Sender: TObject) ;
procedure frViewClienteAlbaranactAnadirContactoUpdate( Sender: TObject) ;
protected
FAlbaran : IBizAlbaranCliente;
2008-01-10 17:55:57 +00:00
FController : IAlbaranesClienteController;
2007-11-28 17:40:31 +00:00
FAlmacenesController : IAlmacenesController;
// FPedidoAsociado : IBizPedidoCliente;
// FPedidoController : IPedidosClienteController;
2008-12-18 15:00:03 +00:00
FViewClienteAlbaran : IViewDatosYSeleccionClienteAlbaran;
2007-11-28 17:40:31 +00:00
FFormasPago : IBizFormaPago;
FFormasPagoController : IFormasPagoController;
function GetAlbaran: IBizAlbaranCliente;
procedure SetAlbaran( const Value: IBizAlbaranCliente) ; virtual ;
2008-12-18 15:00:03 +00:00
function GetViewClienteAlbaran: IViewDatosYSeleccionClienteAlbaran;
2007-11-28 17:40:31 +00:00
public
property Albaran: IBizAlbaranCliente read GetAlbaran write SetAlbaran;
2008-12-18 15:00:03 +00:00
property ViewClienteAlbaran: IViewDatosYSeleccionClienteAlbaran read GetViewClienteAlbaran;
2007-11-28 17:40:31 +00:00
end ;
implementation
{$R *.dfm}
{ TfrViewAlbaranCliente }
uses
2008-01-10 17:55:57 +00:00
uClientesController, uBizDireccionesContacto,
2007-11-28 17:40:31 +00:00
schAlbaranesClienteClient_Intf, uBizAlmacenes, uDateUtils,
2008-02-26 18:08:51 +00:00
uDialogUtils, uFactuGES_App;
2007-11-28 17:40:31 +00:00
procedure TfrViewAlbaranCliente. actVerPedidoCliExecute( Sender: TObject) ;
begin
inherited ;
// FPedidoController.Ver(FPedidoAsociado);
end ;
procedure TfrViewAlbaranCliente. actVerPedidoCliUpdate( Sender: TObject) ;
begin
inherited ;
if ( Sender as TAction) . Enabled then
( Sender as TAction) . Enabled : = ( Albaran. REF_PEDIDO < > '' )
end ;
procedure TfrViewAlbaranCliente. bFormasPagoClick( Sender: TObject) ;
begin
inherited ;
if Assigned( FFormasPago) then
FFormasPagoController. VerTodos( FFormasPago) ;
end ;
procedure TfrViewAlbaranCliente. cbConAlmacenClick( Sender: TObject) ;
begin
inherited ;
//Para que no me cambie el estilo del campo
if ReadOnly then Exit;
if cbConAlmacen. Checked then
begin
cbAlmacen. Enabled : = True ;
cbAlmacen. DroppedDown : = True ;
end
else begin
cbAlmacen. Enabled : = False ;
FAlbaran. Edit;
FAlbaran. ID_ALMACEN : = 0 ;
end ;
end ;
procedure TfrViewAlbaranCliente. CustomViewCreate( Sender: TObject) ;
2008-02-26 18:08:51 +00:00
var
i : integer ;
2007-11-28 17:40:31 +00:00
begin
inherited ;
FFormasPago : = Nil ;
FFormasPagoController : = TFormasPagoController. Create;
// FPedidoAsociado := NIL;
// FPedidoController := TPedidosClienteController.Create;
FViewClienteAlbaran : = frViewClienteAlbaran;
FAlmacenesController : = TAlmacenesController. Create;
end ;
procedure TfrViewAlbaranCliente. CustomViewDestroy( Sender: TObject) ;
begin
inherited ;
FFormasPago : = Nil ;
FFormasPagoController : = NIL ;
FViewClienteAlbaran : = Nil ;
// FPedidoController := NIL;
// FPedidoAsociado := NIL;
FAlmacenesController : = NIL ;
end ;
procedure TfrViewAlbaranCliente. eFechaEnvioPropertiesValidate( Sender: TObject;
var DisplayValue: Variant ; var ErrorText: TCaption; var Error: Boolean ) ;
begin
inherited ;
if VarIsNull( DisplayValue) or ( DisplayValue = '' ) then
begin
if ( ShowConfirmMessage( 'Si elimina la fecha prevista de envio, se eliminar<61> n tambien las fechas de envio y recepci<63> n en caso de tenerlas. <20> Desea continuar?' , '' ) = IDYES) then
begin
eFechaRecepcion. Clear;
eFechaRecepcion. Enabled : = false ;
end
else
DisplayValue : = DateToStr( eFechaEnvio. Date) ;
end
else
eFechaRecepcion. Enabled : = true ;
end ;
procedure TfrViewAlbaranCliente. eFechaPrevistaPropertiesValidate( Sender: TObject; var DisplayValue: Variant ; var ErrorText: TCaption;
var Error: Boolean ) ;
begin
inherited ;
if VarIsNull( DisplayValue) or ( DisplayValue = '' ) then
begin
if ( ShowConfirmMessage( 'Si elimina la fecha prevista de envio, se eliminar<61> n tambien las fechas de envio y recepci<63> n en caso de tenerlas. <20> Desea continuar?' , '' ) = IDYES) then
begin
eFechaEnvio. Clear;
eFechaEnvio. Enabled : = false ;
eFechaRecepcion. Clear;
eFechaRecepcion. Enabled : = false ;
end
else
DisplayValue : = DateToStr( eFechaPrevista. Date) ;
end
else
eFechaEnvio. Enabled : = true ;
end ;
procedure TfrViewAlbaranCliente. eFechaRecepcionPropertiesValidate(
Sender: TObject; var DisplayValue: Variant ; var ErrorText: TCaption;
var Error: Boolean ) ;
begin
inherited ;
if not ( VarIsNull( DisplayValue) or ( DisplayValue = '' ) ) then
begin
if ( eFechaRecepcion. Date < eFechaEnvio. Date) then
begin
ShowWarningMessage( 'La fecha de recepci<63> n debe ser posterior a la fecha de envio' ) ;
eFechaRecepcion. SetFocus;
end ;
end ;
end ;
procedure TfrViewAlbaranCliente. frViewClienteAlbaranactAnadirContactoUpdate( Sender: TObject) ;
begin
{
if ( Sender as TAction) . Enabled then
( Sender as TAction) . Enabled : = not Assigned( FPedidoAsociado) ;
}
end ;
procedure TfrViewAlbaranCliente. frViewClienteAlbaranactElegirContactoUpdate( Sender: TObject) ;
begin
{
if ( Sender as TAction) . Enabled then
( Sender as TAction) . Enabled : = not Assigned( FPedidoAsociado) ;
}
end ;
procedure TfrViewAlbaranCliente. frViewClienteAlbaranButton1Click( Sender: TObject) ;
begin
if Assigned( Albaran) and Assigned( Albaran. Cliente) and
Assigned ( Albaran. Detalles) and ( Albaran. Detalles. RecordCount > 0 ) then
begin
if ( Application. MessageBox( 'Los descuentos de los art<72> culos del albar<61> n ser<65> n actualizados con los del nuevo cliente seleccionado, <20> Desea continuar?' , 'Atenci<63> n' , MB_YESNO) = IDNO) then
Exit;
end ;
frViewClienteAlbaran. actElegirContacto. Execute;
end ;
procedure TfrViewAlbaranCliente. frViewClienteAlbaranButton2Click( Sender: TObject) ;
begin
if Assigned( Albaran) and Assigned( Albaran. Cliente) and
Assigned ( Albaran. Detalles) and ( Albaran. Detalles. RecordCount > 0 ) then
begin
if ( Application. MessageBox( 'Los descuentos de los art<72> culos del albar<61> n ser<65> n actualizados con los del nuevo cliente seleccionado, <20> Desea continuar?' , 'Atenci<63> n' , MB_YESNO) = IDNO) then
Exit;
end ;
frViewClienteAlbaran. actAnadirContacto. Execute;
end ;
function TfrViewAlbaranCliente. GetAlbaran: IBizAlbaranCliente;
begin
Result : = FAlbaran;
end ;
2008-12-18 15:00:03 +00:00
function TfrViewAlbaranCliente. GetViewClienteAlbaran: IViewDatosYSeleccionClienteAlbaran;
2007-11-28 17:40:31 +00:00
begin
Result : = FViewClienteAlbaran;
end ;
procedure TfrViewAlbaranCliente. SetAlbaran( const Value: IBizAlbaranCliente) ;
begin
FAlbaran : = Value;
if Assigned( FAlbaran) then
begin
DADataSource. DataTable : = FAlbaran. DataTable;
2008-02-26 18:08:51 +00:00
frViewTienda1. DataItem : = FAlbaran. DataTable;
2008-12-18 15:00:03 +00:00
FViewClienteAlbaran. Albaran : = FAlbaran;
2007-11-28 17:40:31 +00:00
FFormasPago : = FFormasPagoController. BuscarTodos;
dsFormaPago. DataTable : = FFormasPago. DataTable;
dsFormaPago. DataTable. Active : = True ;
dsAlmacenes. DataTable : = ( FAlmacenesController. BuscarTodos) . DataTable;
dsAlmacenes. DataTable. Active : = True ;
//Para que no me cambie el estilo del campo
if not ReadOnly then
begin
cbConAlmacen. Checked : = ( FAlbaran. ID_ALMACEN > 0 ) ;
cbAlmacen. Enabled : = cbConAlmacen. Checked;
eReferenciaPedidoCli. Enabled : = False ;
eRefFacturaCli. Enabled : = False ;
if EsFechaVacia( FAlbaran. FECHA_PREVISTA_ENVIO) then
begin
eFechaEnvio. Enabled : = false ;
eFechaRecepcion. Enabled : = false ;
end
else
begin
eFechaEnvio. Enabled : = true ;
if EsFechaVacia( FAlbaran. FECHA_ENVIO) then
eFechaRecepcion. Enabled : = false
else
eFechaRecepcion. Enabled : = true ;
end ;
end ;
{
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 ;
2008-12-18 15:00:03 +00:00
FViewClienteAlbaran. Albaran : = nil ;
2007-11-28 17:40:31 +00:00
// FPedidoAsociado := NIL;
dsFormaPago. DataTable : = NIL ;
dsAlmacenes. DataTable : = NIL ;
end ;
end ;
end .