unit uViewDetallesFacturaProforma; 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, uBizFacturasCliente, uDAInterfaces, cxDropDownEdit, cxButtonEdit, Menus, cxGridCustomPopupMenu, cxGridPopupMenu, cxEditRepositoryItems, uViewDetallesArticulosParaVenta; type IViewDetallesFacturaCliente = interface(IViewDetallesArticulos) ['{0EEC7246-B2FD-4F93-AB15-AA12D6E67302}'] function GetFactura: IBizFacturaCliente; procedure SetFactura(const Value: IBizFacturaCliente); property Factura: IBizFacturaCliente read GetFactura write SetFactura; end; TfrViewDetallesFacturaProforma = class(TfrViewDetallesArticulosParaVenta, IViewDetallesFacturaCliente) TBXItem18: TTBXItem; protected FFactura: IBizFacturaCliente; function GetFactura: IBizFacturaCliente; procedure SetFactura(const Value: IBizFacturaCliente); procedure AnadirArticulosInterno; override; procedure RellenarArticulosInterno; override; function AnadirArticulo(pReferencia: String; TipoReferencia: TEnumReferencia): Boolean; override; public property Factura: IBizFacturaCliente read GetFactura write SetFactura; end; implementation {$R *.dfm} uses uDetallesFacturaClienteController; { TfrViewDetallesFacturaCliente } function TfrViewDetallesFacturaProforma.AnadirArticulo(pReferencia: String; TipoReferencia: TEnumReferencia): Boolean; begin if (Factura.TIPO = CTE_TIPO_ABONO) then Result := (Controller as IDetallesFacturaClienteController).AnadirArticulo(Detalles, pReferencia, TipoReferencia, Factura.Cliente.ID, -1) else Result := (Controller as IDetallesFacturaClienteController).AnadirArticulo(Detalles, pReferencia, TipoReferencia, Factura.Cliente.ID); end; procedure TfrViewDetallesFacturaProforma.AnadirArticulosInterno; begin if (Factura.TIPO = CTE_TIPO_ABONO) then (Controller as IDetallesFacturaClienteController).AnadirArticulos(Detalles, Factura.Cliente, true, -1) else (Controller as IDetallesFacturaClienteController).AnadirArticulos(Detalles, Factura.Cliente); end; function TfrViewDetallesFacturaProforma.GetFactura: IBizFacturaCliente; begin Result := FFactura; end; procedure TfrViewDetallesFacturaProforma.RellenarArticulosInterno; begin if (Factura.TIPO = CTE_TIPO_ABONO) then (Controller as IDetallesFacturaClienteController).AnadirArticulos(Detalles, Factura.Cliente, False, -1) else (Controller as IDetallesFacturaClienteController).AnadirArticulos(Detalles, Factura.Cliente, False); end; procedure TfrViewDetallesFacturaProforma.SetFactura(const Value: IBizFacturaCliente); begin FFactura := Value; end; end.