unit uViewDetallesFacturaCliente; 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; TfrViewDetallesFacturaCliente = class(TfrViewDetallesArticulosParaVenta, IViewDetallesFacturaCliente) 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 TfrViewDetallesFacturaCliente.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 TfrViewDetallesFacturaCliente.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 TfrViewDetallesFacturaCliente.GetFactura: IBizFacturaCliente; begin Result := FFactura; end; procedure TfrViewDetallesFacturaCliente.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 TfrViewDetallesFacturaCliente.SetFactura(const Value: IBizFacturaCliente); begin FFactura := Value; end; end.