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/uEditorAlbaranesProveedor.pas
2007-06-11 15:29:06 +00:00

221 lines
6.2 KiB
ObjectPascal
Raw Blame History

unit uEditorAlbaranesProveedor;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, DB, uDADataTable, JvAppStorage,
JvAppRegistryStorage, JvComponent, JvFormPlacement, ImgList,
PngImageList, StdActns, ActnList, ComCtrls, TB2ExtItems, TBXExtItems,
TBX, TB2Item, TB2Dock, TB2Toolbar, ExtCtrls, JvExControls,
JvNavigationPane, uViewGrid, pngimage, JvComponentBase,
uEditorGridBase,
uBizAlbaranesProveedor, uIEditorAlbaranesProveedor, uAlbaranesProveedorController,
uCustomView, uViewBase, uViewBarraSeleccion, uViewGridBase,
uViewAlbaranesProveedor, JvExComCtrls, JvStatusBar, JSDialog;
type
TfEditorAlbaranesProveedor = class(TfEditorGridBase, IEditorAlbaranesProveedor)
actGenerarFactura: TAction;
TBXSeparatorItem17: TTBXSeparatorItem;
JsNuevoAlbaranDialog: TJSDialog;
TBXItem38: TTBXItem;
procedure FormShow(Sender: TObject);
procedure actGenerarFacturaExecute(Sender: TObject);
procedure actGenerarFacturaUpdate(Sender: TObject);
procedure actEliminarUpdate(Sender: TObject);
protected
FAlbaranes: IBizAlbaranProveedor;
FController : IAlbaranesProveedorController;
function GetAlbaranes: IBizAlbaranProveedor;
procedure SetAlbaranes(const Value: IBizAlbaranProveedor);
function GetController : IAlbaranesProveedorController; virtual;
procedure SetController (const Value : IAlbaranesProveedorController); virtual;
procedure NuevoInterno; override;
procedure ModificarInterno; override;
procedure EliminarInterno; override;
procedure DuplicarInterno; override;
procedure PrevisualizarInterno; override;
procedure ImprimirInterno; override;
//Si queremos crear otra vista para el editor heredado solo tendriamos que
//sobreescribir este metodo
procedure AsignarVista; virtual;
public
procedure PonerTitulos(const ATitulo: string = ''); override;
property Albaranes: IBizAlbaranProveedor read GetAlbaranes write SetAlbaranes;
property Controller : IAlbaranesProveedorController read GetController write SetController;
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
end;
implementation
uses
uDataModuleAlbaranesProveedor, uDataModuleUsuarios, uGenerarFacturasProvAlbProvUtils,
uGenerarAlbaranesProvUtils, uEditorBase, schAlbaranesProveedorClient_Intf;
{$R *.dfm}
{
*************************** TfEditorAlbaranesProveedor ***************************
}
procedure TfEditorAlbaranesProveedor.actEliminarUpdate(Sender: TObject);
begin
inherited;
if (Sender as TAction).Enabled then
(Sender as TAction).Enabled := HayDatos
and (Albaranes.REF_FAC_PROVEEDOR = '');
end;
procedure TfEditorAlbaranesProveedor.actGenerarFacturaExecute(Sender: TObject);
begin
inherited;
GenerarFacturaProv(Albaranes.ID);
actRefrescar.Execute;
end;
procedure TfEditorAlbaranesProveedor.actGenerarFacturaUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Enabled := HayDatos
and (Albaranes.REF_FAC_PROVEEDOR = '')
and ViewGrid.esSeleccionCeldaDatos;
end;
procedure TfEditorAlbaranesProveedor.AsignarVista;
begin
ViewGrid := CreateView(TfrViewAlbaranesProveedor) as IViewAlbaranesProveedor;
end;
constructor TfEditorAlbaranesProveedor.Create(AOwner: TComponent);
begin
inherited;
AsignarVista;
end;
destructor TfEditorAlbaranesProveedor.Destroy;
begin
FAlbaranes := NIL;
FController := NIL;
inherited;
end;
procedure TfEditorAlbaranesProveedor.DuplicarInterno;
var
AAlbaran : IBizAlbaranProveedor;
begin
inherited;
AAlbaran := FController.Duplicar(Albaranes);
try
FController.Ver(AAlbaran);
finally
actRefrescar.Execute;
end;
end;
procedure TfEditorAlbaranesProveedor.EliminarInterno;
begin
if (Application.MessageBox('<27>Desea borrar este albar<61>n de proveedor?', 'Atenci<63>n', MB_YESNO) = IDYES) then
begin
FController.Eliminar(Albaranes);
inherited;
end;
end;
procedure TfEditorAlbaranesProveedor.FormShow(Sender: TObject);
begin
inherited;
if not Assigned(ViewGrid) then
raise Exception.Create('No hay ninguna vista asignada');
if not Assigned(Albaranes) then
raise Exception.Create('No hay ning<6E>n albar<61>n asignado');
Albaranes.DataTable.Active := True;
ViewGrid.GotoFirst;
end;
function TfEditorAlbaranesProveedor.GetController: IAlbaranesProveedorController;
begin
Result := FController;
end;
procedure TfEditorAlbaranesProveedor.ImprimirInterno;
begin
inherited;
end;
function TfEditorAlbaranesProveedor.GetAlbaranes: IBizAlbaranProveedor;
begin
Result := FAlbaranes;
end;
procedure TfEditorAlbaranesProveedor.ModificarInterno;
begin
inherited;
FController.Ver(Albaranes);
end;
procedure TfEditorAlbaranesProveedor.NuevoInterno;
var
Respuesta : Integer;
begin
inherited;
Respuesta := JsNuevoAlbaranDialog.Execute;
if Respuesta <> IDCANCEL then
begin
case JsNuevoAlbaranDialog.CustomButtonResult of
200 : begin // Utilizar un pedido
GenerarAlbaranProv;
actRefrescar.Execute;
end;
100 : begin // Albaran nuevo vacio
if FController.Anadir(Albaranes) then
FController.Ver(Albaranes);
end;
end;
end;
end;
procedure TfEditorAlbaranesProveedor.PonerTitulos(const ATitulo: string);
var
FTitulo : String;
begin
if (ATitulo = '') then
FTitulo := 'Lista de albaranes de proveedor - ' + dmUsuarios.EmpresaActual.NOMBRE
else
FTitulo := ATitulo;
inherited PonerTitulos(FTitulo);
end;
procedure TfEditorAlbaranesProveedor.PrevisualizarInterno;
begin
inherited;
end;
procedure TfEditorAlbaranesProveedor.SetController(const Value: IAlbaranesProveedorController);
begin
FController := Value;
end;
procedure TfEditorAlbaranesProveedor.SetAlbaranes(const Value: IBizAlbaranProveedor);
begin
FAlbaranes := Value;
dsDataTable.DataTable := FAlbaranes.DataTable;
if Assigned(ViewGrid) then
(ViewGrid as IViewAlbaranesProveedor).Albaranes := Albaranes;
end;
end.