Diferencia entre revisiones de «TpAUX CLASE SELECCION CRITERIOS unit»

De Pragma Wiki
Ir a la navegación Ir a la búsqueda
(Página creada con «=Descripción= El objeto '''TpAUX_CLASE_SELECCION_CRITERIOS_unit''' (SQL para seleccionar criterios múltiples en consultas) procesa los auxiliares de tipo '''SELECCION_CRITERIOS''', ver detalles en DEV AUXILIARES/SELECCION CRITERIOS. =Identidad= Category:MANUAL/PROGRAMADOR Category:AUXILIARES *Ancestro: TComponent *Carpeta: C:\DevelopPrx\pPRAGMA *Archivo: pAUX_CLASE_SELECCION_CRITERIOS_unit.pas =Declaración= <pre> </pre>»)
 
 
(No se muestran 2 ediciones intermedias del mismo usuario)
Línea 4: Línea 4:
=[[QUEESESTO/IDENTIDAD|Identidad]]=
=[[QUEESESTO/IDENTIDAD|Identidad]]=
[[Category:MANUAL/PROGRAMADOR]]
[[Category:MANUAL/PROGRAMADOR]]
[[Category:AUXILIARES]]
[[Category:PRG AUXILIARES]]
*Ancestro: [[TComponent]]
*Ancestro: [[TComponent]]
*Carpeta: C:\DevelopPrx\pPRAGMA
*Carpeta: C:\DevelopPrx\pPRAGMA
Línea 11: Línea 11:
=Declaración=
=Declaración=
<pre>
<pre>
type
  TpAUX_CLASE_SELECCION_CRITERIOS_unit = class(TComponent)
  private
    FDataSet: TDataSet;
    FClase: String;
    FQuery: TprxADOQuery;
    FSQL_COMANDO: TStringList;
    FItems: TStringList;
    FItems_Index: Integer;
  protected
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    property    DataSet: TDataSet read FDataSet write FDataSet;
    property    Clase: String read FClase write FClase;
    function    Execute: Boolean;
    property    Query: TprxADOQuery read FQuery write FQuery;
    property    Items: TStringList read FItems;
    property    Items_Index: Integer read FItems_Index;
    property    SQL_COMANDO: TStringList read FSQL_COMANDO write FSQL_COMANDO;
  published
  end;
</pre>
=Implementación=
===function Execute: Boolean===
Carga el comando definido para la selección de criterios.
=Modo de uso=
Habitualmente el auxiliar se usa de la siguiente manera (ejemplo tomado de [[TTfvsDBClientFrameGridConsultas]].fvsDBGridResultadoGetPopupOptions):
<pre>
prxADOClientDM.pAUX_CLASE_SELECCION_CRITERIOS_unit.DataSet      := DataSource.DataSet; // QueryRESULTADO;
prxADOClientDM.pAUX_CLASE_SELECCION_CRITERIOS_unit.Clase        := TprxADODataSetEdit(TprxADOQuery(QueryRESULTADO).MasterDataSet).ppTableName;
</pre>
</pre>
Primero asignamos las propiedades:
*'''Dataset''' que se asigna al dataset de la pantalla que llama al auxiliar.
*'''Clase''' se inicializa al nombre de la tabla del componente que está llamando al auxiliar.
Si '''Exexute''' retorna True (indicando que se ha definido un SQL para la selección de criterios) toma ese SQL y agrega la opción '''Definir criterios...''' al menú local:
<pre>
if prxADOClientDM.pAUX_CLASE_SELECCION_CRITERIOS_unit.Execute then
  begin
  SQL_Criterios := prxADOClientDM.pAUX_CLASE_SELECCION_CRITERIOS_unit.SQL_COMANDO.Text;
  aPopupMenu.OptionAdd('Definir criterios...', True, 'magnifier_zoom_in', AbrirFormCriterios);
  aPopupMenu.OptionAddSeparator;
  end;
</pre>
'''AbrirFormCriterios''' es una función local que se ocupa de abrir el form [[TTprxCriteriosConsultasForm]] de criterios, aplicar el SQL del auxiliar y administrar la selección de valores:
<pre>
procedure TTfvsDBClientFrameGridConsultas.AbrirFormCriterios(Sender: TObject);
var
  vF: TTprxCriteriosConsultasForm;
begin
  if Assigned(CriteriosForm) = False then
    CriteriosForm := TTprxCriteriosConsultasForm.Create(Self);
  CriteriosForm.GUID := TprxADODataSetEdit(DataSource.DataSet).GUID;
  CriteriosForm.SQL  := SQL_Criterios;
  CriteriosForm.ShowModal;
  CriteriosForm.Release;
  CriteriosForm := nil;
  SQLEjecutar(Sender);
  fvsDBGridResultado.WidthJustify;
end;
</pre>
=Usos=
Este auxiliar se usa en:
*[[TTfvsDBClientFrameGridConsultas]].fvsDBGridResultadoGetPopupOptions.

Revisión actual - 17:38 22 may 2025

Descripción

El objeto TpAUX_CLASE_SELECCION_CRITERIOS_unit (SQL para seleccionar criterios múltiples en consultas) procesa los auxiliares de tipo SELECCION_CRITERIOS, ver detalles en DEV AUXILIARES/SELECCION CRITERIOS.

Identidad

  • Ancestro: TComponent
  • Carpeta: C:\DevelopPrx\pPRAGMA
  • Archivo: pAUX_CLASE_SELECCION_CRITERIOS_unit.pas

Declaración

type
  TpAUX_CLASE_SELECCION_CRITERIOS_unit = class(TComponent)
  private
    FDataSet: TDataSet;
    FClase: String;

    FQuery: TprxADOQuery;

    FSQL_COMANDO: TStringList;

    FItems: TStringList;
    FItems_Index: Integer;
  protected

  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;

    property    DataSet: TDataSet read FDataSet write FDataSet;
    property    Clase: String read FClase write FClase;

    function    Execute: Boolean;

    property    Query: TprxADOQuery read FQuery write FQuery;

    property    Items: TStringList read FItems;
    property    Items_Index: Integer read FItems_Index;

    property    SQL_COMANDO: TStringList read FSQL_COMANDO write FSQL_COMANDO;
  published
  end;

Implementación

function Execute: Boolean

Carga el comando definido para la selección de criterios.

Modo de uso

Habitualmente el auxiliar se usa de la siguiente manera (ejemplo tomado de TTfvsDBClientFrameGridConsultas.fvsDBGridResultadoGetPopupOptions):

prxADOClientDM.pAUX_CLASE_SELECCION_CRITERIOS_unit.DataSet       := DataSource.DataSet; // QueryRESULTADO;
prxADOClientDM.pAUX_CLASE_SELECCION_CRITERIOS_unit.Clase         := TprxADODataSetEdit(TprxADOQuery(QueryRESULTADO).MasterDataSet).ppTableName;

Primero asignamos las propiedades:

  • Dataset que se asigna al dataset de la pantalla que llama al auxiliar.
  • Clase se inicializa al nombre de la tabla del componente que está llamando al auxiliar.

Si Exexute retorna True (indicando que se ha definido un SQL para la selección de criterios) toma ese SQL y agrega la opción Definir criterios... al menú local:

if prxADOClientDM.pAUX_CLASE_SELECCION_CRITERIOS_unit.Execute then
   begin
   SQL_Criterios := prxADOClientDM.pAUX_CLASE_SELECCION_CRITERIOS_unit.SQL_COMANDO.Text;

   aPopupMenu.OptionAdd('Definir criterios...', True, 'magnifier_zoom_in', AbrirFormCriterios);
   aPopupMenu.OptionAddSeparator;
   end;

AbrirFormCriterios es una función local que se ocupa de abrir el form TTprxCriteriosConsultasForm de criterios, aplicar el SQL del auxiliar y administrar la selección de valores:

procedure TTfvsDBClientFrameGridConsultas.AbrirFormCriterios(Sender: TObject);
var
  vF: TTprxCriteriosConsultasForm;
begin
  if Assigned(CriteriosForm) = False then
     CriteriosForm := TTprxCriteriosConsultasForm.Create(Self);

  CriteriosForm.GUID := TprxADODataSetEdit(DataSource.DataSet).GUID;
  CriteriosForm.SQL  := SQL_Criterios;
  CriteriosForm.ShowModal;
  CriteriosForm.Release;

  CriteriosForm := nil;

  SQLEjecutar(Sender);
  fvsDBGridResultado.WidthJustify;
end;

Usos

Este auxiliar se usa en: