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_FactuGES2/Source/Modulos/Informe ventas por articulo/Controller/uInfVentasAlbArticuloController.pas
2011-10-03 17:47:25 +00:00

111 lines
3.1 KiB
ObjectPascal

unit uInfVentasAlbArticuloController;
interface
uses
Classes, SysUtils, uDADataTable, uControllerBase, uEditorDBItem,
uBizInfVentasArticulo, uIDataModuleInfVentasArticulo, uInformeBaseController,
uBizInformes;
type
IInfVentasAlbArticuloController = interface (IInformeBaseController)
['{1EA7396B-D88E-4006-8BF3-C0A4BFFB16FD}']
function BuscarTodos(const AColumns: String; const AWhere: String): IBizInfVentasAlbArticulo;
end;
TInfVentasAlbArticuloController = class(TInterfacedObject, IInfVentasAlbArticuloController, IInformeBaseController)
protected
FDataModule : IDataModuleInfVentasArticulo;
function CreateEditor(const AName : String; const IID: TGUID; out Intf): Boolean;
function BuscarTodos(const AColumns: String; const AWhere: String): IBizInfVentasAlbArticulo;
procedure AsignarDataModule; virtual;
public
constructor Create; virtual;
destructor Destroy; override;
procedure Nuevo(AInforme : IBizInforme);
procedure Ver(AInforme : IBizInforme);
end;
implementation
uses
Forms, cxControls, DB, uEditorRegistryUtils,
uIEditorInfVentasAlbArticulo, uDataModuleUsuarios,
uDataModuleInfVentasArticulo, uFactuGES_App,
uDAInterfaces, uDataTableUtils,
uDateUtils, uROTypes, DateUtils, Controls, Windows,
dialogs, Variants, uControllerDetallesBase, uDialogUtils,
schInfVentasArticuloClient_Intf;
{ TInfVentasArticuloController }
procedure TInfVentasAlbArticuloController.AsignarDataModule;
begin
FDataModule := TdmInfVentasArticulo.Create(Nil);
end;
function TInfVentasAlbArticuloController.BuscarTodos(const AColumns: String; const AWhere: String): IBizInfVentasAlbArticulo;
begin
Result := FDataModule.GetItemsAlbaranes(AColumns, AWhere);
// FiltrarEmpresa(Result);
end;
constructor TInfVentasAlbArticuloController.Create;
begin
AsignarDataModule;
end;
function TInfVentasAlbArticuloController.CreateEditor(const AName: String; const IID: TGUID; out Intf): Boolean;
begin
Result := Supports(EditorRegistry.CreateEditor(AName), IID, Intf);
end;
destructor TInfVentasAlbArticuloController.Destroy;
begin
FDataModule := Nil;
inherited;
end;
procedure TInfVentasAlbArticuloController.Ver(AInforme: IBizInforme);
var
AEditor : IEditorInfVentasAlbArticulo;
begin
AEditor := NIL;
ShowHourglassCursor;
try
CreateEditor('EditorInfVentasAlbArticulo', IEditorInfVentasAlbArticulo, AEditor);
with (AEditor as IEditorInfVentasAlbArticulo) do
begin
if not Assigned(FDataModule) then
AsignarDataModule;
Controller := Self; //OJO ORDEN MUY IMPORTANTE
Informe := AInforme;
end;
finally
HideHourglassCursor;
end;
if Assigned(AEditor) then
try
AEditor.ShowModal;
AEditor.Release;
finally
AEditor := NIL;
end;
end;
procedure TInfVentasAlbArticuloController.Nuevo(AInforme: IBizInforme);
begin
AInforme.Insert;
AInforme.CATEGORIA := 'VENTAS ARTICULOS';
AInforme.CONTROLLER := 'InfVentasAlbArticuloController';
AInforme.ID_EMPRESA := AppFactuGES.EmpresaActiva.ID;
end;
end.