FactuGES2/Source/Modulos/Facturas de cliente/Views/uViewDetallesFacturaCliente.pas
roberto b390fe6db1 Versión 2.5.5
#1072: Guardar el estado de las columnas del grid de detalles
#1180: Poder aplicar descuentos a nivel de linea y que salga o no si yo quiero, idem dto capitulo
#1243: Revisar porque no coge bien la tienda en la empresa nueva
#1244: Que las condiciones del contrato sean modificables para cada contrato partiendo de la configuración base
#1245: alinear celda abajo cantidades e importes de todos los detalles

git-svn-id: https://192.168.0.254/svn/Proyectos.Acana_FactuGES2/trunk@580 f4e31baf-9722-1c47-927c-6f952f962d4b
2013-08-27 12:01:53 +00:00

100 lines
3.7 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)
and (AItem.GridView.Items[IndiceCol].EditValue <> TIPO_DETALLE_CONCEPTO) 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.