unit uViewDetallesFacturaProveedor; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, uViewDetallesBase, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ImgList, PngImageList, uDADataTable, ActnList, ComCtrls, ToolWin, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid, cxImageComboBox, cxTextEdit, cxMaskEdit, cxCheckBox, cxCurrencyEdit, Grids, DBGrids, StdCtrls, ExtCtrls, cxRichEdit, StdActns, ExtActns, JvExStdCtrls, JvCombobox, JvColorCombo, TB2Item, TBX, TB2Dock, TB2Toolbar, uControllerDetallesArticulos, uViewDetallesArticulos, uBizFacturasProveedor, uDAInterfaces; type IViewDetallesFacturaProveedor = interface(IViewDetallesArticulos) ['{28876F6E-E6EC-4DDA-9023-AE23EB9D6A62}'] function GetFactura: IBizFacturaProveedor; procedure SetFactura(const Value: IBizFacturaProveedor); property Factura: IBizFacturaProveedor read GetFactura write SetFactura; end; TfrViewDetallesFacturaProveedor = class(TfrViewDetallesArticulos) protected FFactura: IBizFacturaProveedor; function GetFactura: IBizFacturaProveedor; procedure SetFactura(const Value: IBizFacturaProveedor); procedure AnadirArticulosInterno; override; procedure RellenarArticulosInterno; override; function AnadirArticulo(pReferencia: String; TipoReferencia: TEnumReferencia): Boolean; override; public property Factura: IBizFacturaProveedor read GetFactura write SetFactura; end; implementation {$R *.dfm} uses uDetallesFacturaProveedorController; { TfrViewDetallesFacturaProveedor } function TfrViewDetallesFacturaProveedor.AnadirArticulo(pReferencia: String; TipoReferencia: TEnumReferencia): Boolean; begin if (Factura.TIPO = CTE_TIPO_ABONO) then Result := (Controller as IDetallesFacturaProveedorController).AnadirArticulo(Detalles, pReferencia, tProveedor, -1, -1) else Result := (Controller as IDetallesFacturaProveedorController).AnadirArticulo(Detalles, pReferencia, tProveedor, -1, -1); end; procedure TfrViewDetallesFacturaProveedor.AnadirArticulosInterno; begin if (Factura.TIPO = CTE_TIPO_ABONO) then (Controller as IDetallesFacturaProveedorController).AnadirArticulos(Detalles, Factura.Proveedor, true, -1) else (Controller as IDetallesFacturaProveedorController).AnadirArticulos(Detalles, Factura.Proveedor); end; function TfrViewDetallesFacturaProveedor.GetFactura: IBizFacturaProveedor; begin Result := FFactura; end; procedure TfrViewDetallesFacturaProveedor.RellenarArticulosInterno; begin if (Factura.TIPO = CTE_TIPO_ABONO) then (Controller as IDetallesFacturaProveedorController).AnadirArticulos(Detalles, Factura.Proveedor, False, -1) else (Controller as IDetallesFacturaProveedorController).AnadirArticulos(Detalles, Factura.Proveedor, False); end; procedure TfrViewDetallesFacturaProveedor.SetFactura(const Value: IBizFacturaProveedor); begin FFactura := Value; end; end.