unit uViewClienteDescuentosArticulos; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, uViewBase, uViewDetallesGenerico, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ActnList, ImgList, PngImageList, uDADataTable, ComCtrls, ToolWin, cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, cxDBLookupComboBox, cxSpinEdit, uBizArticulos, uArticulosController, uDAInterfaces, schContactosClient_Intf, cxCurrencyEdit; type TfrViewClienteDescuentosArticulos = class(TfrViewDetallesGenerico) dsArticulos: TDADataSource; cxGridViewDESCUENTO: TcxGridDBColumn; cxGridViewREFERENCIA: TcxGridDBColumn; cxGridViewDESCRIPCION: TcxGridDBColumn; cxGridViewPRECIO_COSTE: TcxGridDBColumn; procedure actAnadirExecute(Sender: TObject); protected FArtController : IArticulosController; // FArticulos : IBizArticulo; public constructor Create(AOwner: TComponent); override; destructor Destroy; override; end; implementation {$R *.dfm} procedure TfrViewClienteDescuentosArticulos.actAnadirExecute(Sender: TObject); var AArticulos: IBizArticulo; begin // inherited; AArticulos := (FArtController.BuscarTodos as IBizArticulo); AArticulos := FArtController.ElegirArticulos(AArticulos, 'Elija los artículos que desea añadir para los descuentos especiales', True); if Assigned(AArticulos) then begin with AArticulos.DataTable do begin First; while not EOF do begin dsDetalles.DataTable.Insert; dsDetalles.DataTable.FieldByName(fld_ClientesDescuentosArticulosID_ARTICULO).AsInteger := AArticulos.ID; dsDetalles.DataTable.FieldByName(fld_ClientesDescuentosArticulosREFERENCIA).AsString := AArticulos.REFERENCIA; dsDetalles.DataTable.FieldByName(fld_ClientesDescuentosArticulosDESCRIPCION).AsString := AArticulos.DESCRIPCION; dsDetalles.DataTable.FieldByName(fld_ClientesDescuentosArticulosPRECIO_COSTE).AsCurrency := AArticulos.PRECIO_COSTE; Next; end; end; end; end; constructor TfrViewClienteDescuentosArticulos.Create(AOwner: TComponent); begin inherited; FArtController := TArticulosController.Create; // FArticulos := (FArtController.BuscarTodos as IBizArticulo); // dsArticulos.DataTable := FArticulos.DataTable; // if not dsArticulos.DataTable.Active then // dsArticulos.DataTable.Active := True; end; destructor TfrViewClienteDescuentosArticulos.Destroy; begin // if dsArticulos.DataTable.Active then // dsArticulos.DataTable.Active := False; // FArticulos := NIL; FArtController := NIL; inherited; end; end.