git-svn-id: https://192.168.0.254/svn/Proyectos.AbetoDesign_FactuGES/trunk@2 93f398dd-4eb6-7a46-baf6-13f46f578da2
99 lines
3.6 KiB
ObjectPascal
99 lines
3.6 KiB
ObjectPascal
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;
|
|
|
|
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(TfrViewDetallesArticulos)
|
|
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;
|
|
|
|
function EsTipoEditable(AItem: TcxCustomGridTableItem): Boolean; override;
|
|
|
|
public
|
|
property Factura: IBizFacturaCliente read GetFactura write SetFactura;
|
|
end;
|
|
|
|
implementation
|
|
{$R *.dfm}
|
|
|
|
uses uCalculosUtils, uControllerDetallesBase, 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.EsTipoEditable(AItem: TcxCustomGridTableItem): Boolean;
|
|
var
|
|
IndiceCol : Integer;
|
|
begin
|
|
Result := True;
|
|
|
|
if (AItem.Index in [cxGridViewDESCUENTO.Index]) then
|
|
begin
|
|
IndiceCol := cxGridView.GetColumnByFieldName(CAMPO_TIPO).Index;
|
|
if (AItem.GridView.Items[IndiceCol].EditValue <> TIPO_DETALLE_DESCUENTO) then
|
|
Result := False
|
|
end
|
|
else
|
|
Result := inherited EsTipoEditable(AItem);
|
|
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.
|