2011-11-14 17:40:41 +00:00
|
|
|
|
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,
|
2013-06-26 16:44:23 +00:00
|
|
|
|
cxDBLookupEdit, cxDBLookupComboBox, uDAInterfaces, cxMemo;
|
2011-11-14 17:40:41 +00:00
|
|
|
|
|
|
|
|
|
|
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)
|
2013-06-26 16:44:23 +00:00
|
|
|
|
cxRichEdit1: TcxRichEdit;
|
2013-09-25 17:13:02 +00:00
|
|
|
|
BAnadirCapitulo: TTBXSubmenuItem;
|
|
|
|
|
|
TBXItem14: TTBXItem;
|
|
|
|
|
|
actCapituloVarios: TAction;
|
2013-06-26 16:44:23 +00:00
|
|
|
|
procedure cxGridViewDESCRIPCIONGetPropertiesForEdit(
|
|
|
|
|
|
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
|
|
|
|
|
var AProperties: TcxCustomEditProperties);
|
2013-09-25 17:13:02 +00:00
|
|
|
|
procedure actCapituloVariosExecute(Sender: TObject);
|
|
|
|
|
|
|
|
|
|
|
|
private
|
|
|
|
|
|
procedure AnadirCapitulo(const Tipo: String;const Descripcion: String; const Descuento:Boolean = false);
|
|
|
|
|
|
|
2011-11-14 17:40:41 +00:00
|
|
|
|
protected
|
|
|
|
|
|
FAlbaran: IBizAlbaranCliente;
|
|
|
|
|
|
function GetAlbaran: IBizAlbaranCliente;
|
|
|
|
|
|
procedure SetAlbaran(const Value: IBizAlbaranCliente);
|
|
|
|
|
|
|
|
|
|
|
|
procedure AnadirArticulosInterno; override;
|
2013-09-25 17:13:02 +00:00
|
|
|
|
procedure RellenarArticulosInterno; override;
|
2011-11-14 17:40:41 +00:00
|
|
|
|
function AnadirArticulo(pReferencia: String; TipoReferencia: TEnumReferencia): Boolean; override;
|
|
|
|
|
|
|
|
|
|
|
|
public
|
|
|
|
|
|
property Albaran: IBizAlbaranCliente read GetAlbaran write SetAlbaran;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
implementation
|
|
|
|
|
|
{$R *.dfm}
|
|
|
|
|
|
|
|
|
|
|
|
uses uDetallesAlbaranClienteController, uViewDetallesBase;
|
|
|
|
|
|
|
|
|
|
|
|
{ TfrViewDetallesAlbaranProveedor }
|
|
|
|
|
|
|
2013-09-25 17:13:02 +00:00
|
|
|
|
procedure TfrViewDetallesAlbaranCliente.actCapituloVariosExecute(
|
|
|
|
|
|
Sender: TObject);
|
|
|
|
|
|
begin
|
|
|
|
|
|
inherited;
|
|
|
|
|
|
// AnadirCapitulo(TIPO_CAPITULO_V, 'VARIOS ');
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
2011-11-14 17:40:41 +00:00
|
|
|
|
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;
|
|
|
|
|
|
|
2013-09-25 17:13:02 +00:00
|
|
|
|
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;
|
|
|
|
|
|
|
2013-06-26 16:44:23 +00:00
|
|
|
|
procedure TfrViewDetallesAlbaranCliente.cxGridViewDESCRIPCIONGetPropertiesForEdit(
|
|
|
|
|
|
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
|
|
|
|
|
var AProperties: TcxCustomEditProperties);
|
|
|
|
|
|
begin
|
|
|
|
|
|
inherited;
|
|
|
|
|
|
AProperties := cxRichEdit1.Properties;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
2011-11-14 17:40:41 +00:00
|
|
|
|
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.
|