unit uEditorArticulosPendientes; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, uEditorGridBase, Menus, JvAppStorage, JvAppRegistryStorage, DB, uDAInterfaces, uDADataTable, JvComponentBase, JvFormPlacement, ImgList, PngImageList, StdActns, ActnList, ComCtrls, JvExComCtrls, JvStatusBar, SpTBXItem, StdCtrls, TntStdCtrls, SpTBXEditors, TB2Item, TB2Dock, TB2Toolbar, pngimage, ExtCtrls, JvExControls, JvNavigationPane, uCustomView, uViewBase, uViewGridBase, uViewGrid, uViewArticulosPendientes, uIEditorArticulosPendientes, uBizPedidosCliente, dxGDIPlusClasses; type TfEditorArticulosPendientes = class(TfEditorGridBase, IEditorArticulosPendientes) procedure FormShow(Sender: TObject); protected FArticulosPendientes: IBizArticulosPendientes; function GetArticulosPendientes: IBizArticulosPendientes; procedure SetArticulosPendientes(const Value: IBizArticulosPendientes); published public property ArticulosPendientes : IBizArticulosPendientes read GetArticulosPendientes write SetArticulosPendientes; procedure PonerTitulos(const ATitulo: string = ''); override; constructor Create(AOwner: TComponent); override; destructor Destroy; override; end; implementation {$R *.dfm} { TfEditorArticulosPendientes } constructor TfEditorArticulosPendientes.Create(AOwner: TComponent); begin inherited; ViewGrid := CreateView(TfrViewArticulosPendientes) as IViewarticulosPendientes; end; destructor TfEditorArticulosPendientes.Destroy; begin FArticulosPendientes := NIL; inherited; end; procedure TfEditorArticulosPendientes.FormShow(Sender: TObject); begin inherited; if not Assigned(ViewGrid) then raise Exception.Create('No hay ninguna vista asignada'); if not Assigned(ArticulosPendientes) then raise Exception.Create('No hay ningún articulo pendiente asignado'); ArticulosPendientes.DataTable.Active := True; ViewGrid.GotoFirst; end; function TfEditorArticulosPendientes.GetArticulosPendientes: IBizArticulosPendientes; begin Result := FArticulosPendientes; end; procedure TfEditorArticulosPendientes.PonerTitulos(const ATitulo: string); var FTitulo : String; begin FTitulo := 'Lista de artículos pendientes de ser enviados a los clientes'; // - ' + AppFactuGES.EmpresaActiva.NOMBRE; inherited PonerTitulos(FTitulo); end; procedure TfEditorArticulosPendientes.SetArticulosPendientes(const Value: IBizArticulosPendientes); begin FArticulosPendientes := Value; if Assigned(FArticulosPendientes) then begin //Se guarda el where de la sentencia origen, por si el editor tiene filtros que //afecten a este where y en un futuro se desea volver al where origen (filtro de año)) DynWhereDataTable := FArticulosPendientes.DataTable.DynamicWhere.Xml; dsDataTable.DataTable := FArticulosPendientes.DataTable; if Assigned(ViewGrid) then (ViewGrid as IViewArticulosPendientes).ArticulosPendientes := ArticulosPendientes; end; end; end.