git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/trunk@967 0c75b7a4-871f-7646-8a2f-f78d34cc349f
158 lines
4.8 KiB
ObjectPascal
158 lines
4.8 KiB
ObjectPascal
unit uEditorElegirClientes;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||
Dialogs, uEditorClientes, DB, uDADataTable, Menus, JvAppStorage,
|
||
JvAppRegistryStorage, JvComponentBase, JvFormPlacement, ImgList, PngImageList,
|
||
StdActns, ActnList, uCustomView, uViewBase, uViewGridBase, uViewGrid,
|
||
uViewContactos, uViewClientes, ComCtrls, TB2ExtItems, TBXExtItems, TBX,
|
||
TB2Item, TB2Dock, TB2Toolbar, pngimage, ExtCtrls, JvExControls, JvComponent,
|
||
JvNavigationPane, uIEditorElegirClientes, uViewBarraSeleccion,
|
||
StdCtrls, uBizContactos, TBXStatusBars, JvExComCtrls, JvStatusBar, JSDialog,
|
||
uDAInterfaces;
|
||
|
||
type
|
||
TfEditorElegirClientes = class(TfEditorClientes, IEditorElegirClientes)
|
||
frViewBarraSeleccion1: TfrViewBarraSeleccion;
|
||
lblTitle: TLabel;
|
||
lblComments: TLabel;
|
||
JsClienteBloqueadoDialog: TJSDialog;
|
||
EditorSeleccionActionList: TActionList;
|
||
actBuscar2: TAction;
|
||
actQuitarFiltro2: TAction;
|
||
actAnchoAuto2: TAction;
|
||
pnlHeader: TPanel;
|
||
procedure frViewBarraSeleccion1actSeleccionarUpdate(Sender: TObject);
|
||
procedure frViewBarraSeleccion1actCancelarExecute(Sender: TObject);
|
||
procedure frViewBarraSeleccion1actSeleccionarExecute(Sender: TObject);
|
||
procedure FormShow(Sender: TObject);
|
||
procedure actQuitarFiltro2Execute(Sender: TObject);
|
||
procedure actAnchoAuto2Execute(Sender: TObject);
|
||
protected
|
||
procedure SetMultiSelect (AValue : Boolean);
|
||
function GetMultiSelect : Boolean;
|
||
function GetContactosSeleccionados: IBizContacto;
|
||
procedure SetViewGrid(const Value: IViewGridBase); override;
|
||
procedure SetMensaje (const AValue: String);
|
||
function GetMensaje: String;
|
||
public
|
||
property Mensaje : String read GetMensaje write SetMensaje;
|
||
property ContactosSeleccionados: IBizContacto read GetContactosSeleccionados;
|
||
property MultiSelect : Boolean read GetMultiSelect write SetMultiSelect;
|
||
end;
|
||
|
||
implementation
|
||
|
||
uses
|
||
uEditorGridBase, cxGridCustomTableView, uIntegerListUtils, uEditorContactos,
|
||
uGridStatusUtils, uEditorBase, cxControls, uDBSelectionListUtils,
|
||
uDialogUtils;
|
||
|
||
{$R *.dfm}
|
||
|
||
{ TfEditorElegirClientes }
|
||
|
||
procedure TfEditorElegirClientes.actAnchoAuto2Execute(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
actAnchoAuto.Execute;
|
||
end;
|
||
|
||
procedure TfEditorElegirClientes.actQuitarFiltro2Execute(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
actQuitarFiltro.Execute;
|
||
end;
|
||
|
||
procedure TfEditorElegirClientes.FormShow(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
EditorActionList.State := asSuspended;
|
||
frViewClientes1.cxViewGridPopupMenu.PopupMenus.Items[0].HitTypes := [];
|
||
end;
|
||
|
||
procedure TfEditorElegirClientes.frViewBarraSeleccion1actCancelarExecute(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
Close;
|
||
end;
|
||
|
||
procedure TfEditorElegirClientes.frViewBarraSeleccion1actSeleccionarExecute(Sender: TObject);
|
||
var
|
||
Respuesta : Integer;
|
||
begin
|
||
inherited;
|
||
|
||
// <20>El cliente seleccionado est<73> bloqueado?
|
||
if (FContactos as IBizCliente).BLOQUEADO = 1 then
|
||
begin
|
||
JsClienteBloqueadoDialog.Content.Text := 'Motivo: ' +
|
||
(FContactos as IBizCliente).MOTIVO_BLOQUEO;
|
||
Respuesta := JsClienteBloqueadoDialog.Execute;
|
||
|
||
if Respuesta <> IDCANCEL then
|
||
begin
|
||
case JsClienteBloqueadoDialog.CustomButtonResult of
|
||
200 : begin // Utilizarlo aunque est<73> bloqueado
|
||
ModalResult := mrOk;
|
||
Exit;
|
||
end;
|
||
100 : begin // Elegir otro
|
||
Exit;
|
||
end;
|
||
end;
|
||
end;
|
||
end
|
||
else // El cliente no est<73> bloqueado. Puedo continuar.
|
||
ModalResult := mrOk;
|
||
end;
|
||
|
||
procedure TfEditorElegirClientes.frViewBarraSeleccion1actSeleccionarUpdate(
|
||
Sender: TObject);
|
||
begin
|
||
inherited;
|
||
(Sender as TAction).Enabled := (ViewGrid._FocusedView.Controller.SelectedRowCount > 0)
|
||
end;
|
||
|
||
function TfEditorElegirClientes.GetContactosSeleccionados: IBizContacto;
|
||
begin
|
||
ShowHourglassCursor;
|
||
try
|
||
SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Contactos as ISeleccionable).SelectedRecords);
|
||
// En Contactos.SelectedRecords tengo los ID de las filas seleccionadas del grid
|
||
Result := Controller.ExtraerSeleccionados(Contactos);
|
||
finally
|
||
HideHourglassCursor;
|
||
end;
|
||
end;
|
||
|
||
function TfEditorElegirClientes.GetMensaje: String;
|
||
begin
|
||
Result := lblComments.Caption;
|
||
end;
|
||
|
||
function TfEditorElegirClientes.GetMultiSelect: Boolean;
|
||
begin
|
||
Result := ViewGrid.MultiSelect;
|
||
end;
|
||
|
||
procedure TfEditorElegirClientes.SetMensaje(const AValue: String);
|
||
begin
|
||
lblComments.Caption := AValue;
|
||
end;
|
||
|
||
procedure TfEditorElegirClientes.SetMultiSelect(AValue: Boolean);
|
||
begin
|
||
ViewGrid.MultiSelect := AValue;
|
||
end;
|
||
|
||
procedure TfEditorElegirClientes.SetViewGrid(const Value: IViewGridBase);
|
||
begin
|
||
inherited;
|
||
ViewGrid.OnDblClick := frViewBarraSeleccion1.actSeleccionar.OnExecute;
|
||
end;
|
||
|
||
end.
|