git-svn-id: https://192.168.0.254/svn/Proyectos.AbetoDesign_FactuGES/trunk@75 93f398dd-4eb6-7a46-baf6-13f46f578da2
113 lines
4.3 KiB
ObjectPascal
113 lines
4.3 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, cxContainer, cxMemo;
|
||
|
||
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)
|
||
cxRichEdit1: TcxRichEdit;
|
||
procedure cxGridViewDESCRIPCIONGetPropertiesForEdit(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AProperties: TcxCustomEditProperties);
|
||
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;
|
||
|
||
procedure TfrViewDetallesFacturaCliente.cxGridViewDESCRIPCIONGetPropertiesForEdit(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AProperties: TcxCustomEditProperties);
|
||
begin
|
||
inherited;
|
||
AProperties := cxRichEdit1.Properties;
|
||
end;
|
||
|
||
function TfrViewDetallesFacturaCliente.EsTipoEditable(AItem: TcxCustomGridTableItem): Boolean;
|
||
var
|
||
IndiceCol : Integer;
|
||
begin
|
||
Result := True;
|
||
|
||
if (AItem.Index in [cxGridViewDESCUENTO.Index]) then
|
||
begin
|
||
//Esto es para que solo sea editable la columna dto en las lineas de tipo descuento (para hacer descuento por capitulo),
|
||
//al comentarlo permitimos que se pueda a<>adir adem<65>s descuentos a nivel de lineas
|
||
// 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.
|