git-svn-id: https://192.168.0.254/svn/Proyectos.AbetoDesign_FactuGES/trunk@81 93f398dd-4eb6-7a46-baf6-13f46f578da2
139 lines
5.2 KiB
ObjectPascal
139 lines
5.2 KiB
ObjectPascal
unit uViewDetallesAlbaranCliente;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||
Dialogs, uViewDetallesArticulos, 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, ExtActns, StdActns,
|
||
JvExStdCtrls, JvCombobox, JvColorCombo, TB2Item, TBX, TB2Dock, TB2Toolbar,
|
||
uControllerDetallesArticulos, uBizAlbaranesCliente, cxDropDownEdit,
|
||
cxCalendar, cxDBEdit, dxLayoutControl, cxContainer, cxLookupEdit,
|
||
cxDBLookupEdit, cxDBLookupComboBox, uDAInterfaces, cxMemo;
|
||
|
||
type
|
||
IViewDetallesAlbaranCliente = interface(IViewDetallesArticulos)
|
||
['{9326E1A0-BD5E-4BE1-BB3B-6A52C3394118}']
|
||
function GetAlbaran: IBizAlbaranCliente;
|
||
procedure SetAlbaran(const Value: IBizAlbaranCliente);
|
||
property Albaran: IBizAlbaranCliente read GetAlbaran write SetAlbaran;
|
||
end;
|
||
|
||
TfrViewDetallesAlbaranCliente = class(TfrViewDetallesArticulos, IViewDetallesAlbaranCliente)
|
||
cxRichEdit1: TcxRichEdit;
|
||
BAnadirCapitulo: TTBXSubmenuItem;
|
||
TBXItem14: TTBXItem;
|
||
actCapituloVarios: TAction;
|
||
procedure cxGridViewDESCRIPCIONGetPropertiesForEdit(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AProperties: TcxCustomEditProperties);
|
||
procedure actCapituloVariosExecute(Sender: TObject);
|
||
|
||
private
|
||
procedure AnadirCapitulo(const Tipo: String;const Descripcion: String; const Descuento:Boolean = false);
|
||
|
||
protected
|
||
FAlbaran: IBizAlbaranCliente;
|
||
function GetAlbaran: IBizAlbaranCliente;
|
||
procedure SetAlbaran(const Value: IBizAlbaranCliente);
|
||
|
||
procedure AnadirArticulosInterno; override;
|
||
procedure RellenarArticulosInterno; override;
|
||
function AnadirArticulo(pReferencia: String; TipoReferencia: TEnumReferencia): Boolean; override;
|
||
|
||
public
|
||
property Albaran: IBizAlbaranCliente read GetAlbaran write SetAlbaran;
|
||
end;
|
||
|
||
implementation
|
||
{$R *.dfm}
|
||
|
||
uses uDetallesAlbaranClienteController, uViewDetallesBase;
|
||
|
||
{ TfrViewDetallesAlbaranProveedor }
|
||
|
||
procedure TfrViewDetallesAlbaranCliente.actCapituloVariosExecute(
|
||
Sender: TObject);
|
||
begin
|
||
inherited;
|
||
// AnadirCapitulo(TIPO_CAPITULO_V, 'VARIOS ');
|
||
end;
|
||
|
||
function TfrViewDetallesAlbaranCliente.AnadirArticulo(pReferencia: String; TipoReferencia: TEnumReferencia): Boolean;
|
||
begin
|
||
if (Albaran.TIPO = CTE_TIPO_ALBARAN_DEV) then
|
||
Result := (Controller as IDetallesAlbaranClienteController).AnadirArticulo(Detalles, pReferencia, TipoReferencia, Albaran.Cliente.ID, -1)
|
||
else
|
||
Result := (Controller as IDetallesAlbaranClienteController).AnadirArticulo(Detalles, pReferencia, TipoReferencia, Albaran.Cliente.ID);
|
||
end;
|
||
|
||
procedure TfrViewDetallesAlbaranCliente.AnadirArticulosInterno;
|
||
begin
|
||
if (Albaran.TIPO = CTE_TIPO_ALBARAN_DEV) then
|
||
(Controller as IDetallesAlbaranClienteController).AnadirArticulos(Detalles, Albaran.Cliente, true, -1)
|
||
else
|
||
(Controller as IDetallesAlbaranClienteController).AnadirArticulos(Detalles, Albaran.Cliente);
|
||
end;
|
||
|
||
procedure TfrViewDetallesAlbaranCliente.AnadirCapitulo(const Tipo, Descripcion: String; const Descuento: Boolean);
|
||
var
|
||
bEsMultiSelect : Boolean;
|
||
begin
|
||
{
|
||
// Debo quitar el multiselect porque provoca que se quede seleccionado
|
||
// el registro actual y no el nuevo registro que voy a a<>adir
|
||
bEsMultiSelect := _FocusedView.OptionsSelection.MultiSelect;
|
||
if bEsMultiSelect then
|
||
_FocusedView.OptionsSelection.MultiSelect := False;
|
||
|
||
ShowHourglassCursor;
|
||
_FocusedView.BeginUpdate;
|
||
try
|
||
if _FocusedView.Controller.EditingController.IsEditing then
|
||
_FocusedView.Controller.EditingController.Edit.PostEditValue;
|
||
|
||
if Assigned(Controller) and Assigned(Detalles) then
|
||
(Controller as IDetallesContratoClienteController).AnadirCapitulo(Tipo, Descripcion, Descuento, Detalles)
|
||
finally
|
||
_FocusedView.EndUpdate;
|
||
HideHourglassCursor;
|
||
|
||
// Dejo la propiedad MultiSelect como estaba
|
||
if bEsMultiSelect then
|
||
_FocusedView.OptionsSelection.MultiSelect := bEsMultiSelect;
|
||
end;
|
||
}
|
||
end;
|
||
|
||
procedure TfrViewDetallesAlbaranCliente.cxGridViewDESCRIPCIONGetPropertiesForEdit(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AProperties: TcxCustomEditProperties);
|
||
begin
|
||
inherited;
|
||
AProperties := cxRichEdit1.Properties;
|
||
end;
|
||
|
||
function TfrViewDetallesAlbaranCliente.GetAlbaran: IBizAlbaranCliente;
|
||
begin
|
||
Result := FAlbaran;
|
||
end;
|
||
|
||
procedure TfrViewDetallesAlbaranCliente.RellenarArticulosInterno;
|
||
begin
|
||
if (Albaran.TIPO = CTE_TIPO_ALBARAN_DEV) then
|
||
(Controller as IDetallesAlbaranClienteController).AnadirArticulos(Detalles, Albaran.Cliente, False, -1)
|
||
else
|
||
(Controller as IDetallesAlbaranClienteController).AnadirArticulos(Detalles, Albaran.Cliente, False);
|
||
end;
|
||
|
||
procedure TfrViewDetallesAlbaranCliente.SetAlbaran(const Value: IBizAlbaranCliente);
|
||
begin
|
||
FAlbaran := Value;
|
||
end;
|
||
|
||
end.
|