unit uEditorEntradaArticulos; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, uEditorDBItem, DB, uDADataTable, JvAppStorage, JvAppRegistryStorage, JvComponent, JvFormPlacement, ImgList, PngImageList, StdActns, ActnList, ComCtrls, TBX, TB2Item, TB2Dock, TB2Toolbar, ExtCtrls, JvExControls, JvNavigationPane, uCustomView, uViewBase, uViewContenido, uViewListaArticulos, uBizArticulos, uEditorItem, pngimage, uViewDetallesNormales, uViewDatosPedido, JvComponentBase; type TfEditorEntradaArticulos = class(TfEditorDBItem) frViewListaArticulos: TfrViewListaArticulos; frViewDatosPedido: TfrViewDatosPedido; procedure actGuardarExecute(Sender: TObject); procedure CustomEditorClose(Sender: TObject; var Action: TCloseAction); private FHayCambios: Boolean; FArticulos: IBizArticulosAlmacen; function GetArticulos: IBizArticulosAlmacen; procedure SetArticulos(const Value: IBizArticulosAlmacen); public property Articulos: IBizArticulosAlmacen read GetArticulos write SetArticulos; constructor Create(AOwner: TComponent); override; end; var fEditorEntradaArticulos: TfEditorEntradaArticulos; implementation {$R *.dfm} uses uEditorUtils; function ShowEditorEntradaArticulos (ABizObject : TDADataTableRules): TModalResult; var AEditor: TfEditorEntradaArticulos; begin AEditor := TfEditorEntradaArticulos.Create(Application); try AEditor.Articulos := (ABizObject as IBizArticulosAlmacen); Result := AEditor.ShowModal; finally AEditor.Release; end; end; { TfEditorRecibirPedido } function TfEditorEntradaArticulos.GetArticulos: IBizArticulosAlmacen; begin Result := FArticulos; end; procedure TfEditorEntradaArticulos.SetArticulos(const Value: IBizArticulosAlmacen); begin FArticulos := Value; if Assigned(FArticulos) then dsDataTable.DataTable := FArticulos.DataTable else dsDataTable.DataTable := NIL; frViewListaArticulos.DADataSource.DataTable := dsDataTable.DataTable; if FArticulos.CodigoAlmacenEntrada = -1 then FArticulos.CodigoAlmacenEntrada := frViewListaArticulos.Almacenes.CODIGO; frViewDatosPedido.Pedido := FArticulos.Pedido; end; procedure TfEditorEntradaArticulos.actGuardarExecute(Sender: TObject); begin Articulos.GuardarArticulosUnitarios; FHayCambios:= True; end; procedure TfEditorEntradaArticulos.CustomEditorClose(Sender: TObject; var Action: TCloseAction); begin inherited; if FHayCambios then ModalResult := mrOK else ModalResult := mrCancel; end; constructor TfEditorEntradaArticulos.Create(AOwner: TComponent); begin inherited; FHayCambios:= False; end; initialization RegisterEditor(IBizArticulosAlmacen, ShowEditorEntradaArticulos, etItem); end.