unit uArticulosAlbaranProveedorController; interface uses uDADataTable, uArticulosController, uBizArticulos, uBizContactos; type IArticulosAlbaranProveedorController = interface(IArticulosController) ['{8E3C2FF0-9D42-461C-BF14-6E77843E4173}'] function ElegirArticulos(AArticulos : IBizArticulo; AMensaje: String; AMultiSelect: Boolean; const AProveedor: IBizProveedor): IBizArticulo; end; TArticulosAlbaranProveedorController = class(TArticulosController, IArticulosAlbaranProveedorController) public function ElegirArticulos(AArticulos : IBizArticulo; AMensaje: String; AMultiSelect: Boolean; const AProveedor: IBizProveedor): IBizArticulo; overload; end; implementation { TArticulosAlbaranProveedorController } uses Controls, cxControls, uIEditorElegirArticulosAlbaranesProveedor, uIEditorElegirArticulos; function TArticulosAlbaranProveedorController.ElegirArticulos(AArticulos: IBizArticulo; AMensaje: String; AMultiSelect: Boolean; const AProveedor: IBizProveedor): IBizArticulo; var AEditor : IEditorElegirArticulosAlbaranesProveedor; begin Result := NIL; CreateEditor('EditorElegirArticulosAlbaranesProveedor', IEditorElegirArticulosAlbaranesProveedor, AEditor); if Assigned(AEditor) then try AEditor.Controller := Self; AEditor.Articulos := AArticulos; AEditor.Proveedor := AProveedor; AEditor.MultiSelect := AMultiSelect; AEditor.Mensaje := AMensaje; if IsPositiveResult(AEditor.ShowModal) then Result := AEditor.ArticulosSeleccionados; finally AEditor.Release; AEditor := NIL; end; end; end.