Diferencia entre revisiones de «TpAUX CLASE ORIGEN unit»
Sin resumen de edición |
Sin resumen de edición |
||
Línea 74: | Línea 74: | ||
===function LocateRecord(Sender: TprxADOQuery): Boolean=== | ===function LocateRecord(Sender: TprxADOQuery): Boolean=== | ||
Verifica que un registro que hay que insertar en el dataset no se haya cargado previamente. | Verifica que un registro que hay que insertar en el dataset no se haya cargado previamente. | ||
=Modo de uso= | |||
Habitualmente el auxiliar se usa de la siguiente manera (ejemplo tomado de [[TTfvsDBClientFrameGridConsultas]].fvsDBGridResultadoGetPopupOptions): | |||
<pre> | |||
prxADOClientDM.pAUX_CLASE_OPCIONES_unit.DataSet := QueryRESULTADO; | |||
prxADOClientDM.pAUX_CLASE_OPCIONES_unit.Clase := TprxADODataSetEdit(TprxADOQuery(QueryRESULTADO).MasterDataSet).ppTableName; | |||
prxADOClientDM.pAUX_CLASE_OPCIONES_unit.MasterDataSet := TprxADOQuery(QueryRESULTADO).MasterDataSet; | |||
prxADOClientDM.pAUX_CLASE_OPCIONES_unit.Grid := fvsDBGridResultado; | |||
prxADOClientDM.pAUX_CLASE_OPCIONES_unit.RefreshEvent := SQLEjecutar; | |||
</pre> | |||
Primero asignamos las propiedades: | |||
*'''Dataset''' que se asigna al dataset de la pantalla que llama al auxiliar, en este caso es una consulta (QueryRESULTADO en un [[TprxADOQuery]] usando en las consultas. | |||
*'''Clase''' se inicializa al nombre de la tabla del componente que está llamando al auxiliar. | |||
*'''MasterDataSet''' se inicializa al valor del master del dataset llamador, solo cuando el llamador es un detalle. | |||
*'''Grid''' se inicializa al valor de la grilla desde la que se llama al auxiliar. | |||
*'''RefreshEvent''' se inicializa al valor del procedimiento que refresca la pantalla, usado cuando los datos que estamos viendo en pantalla se modifican por efecto de ejecutar una de las opciones (por ejemplo: cuando estamos consultando comprobantes pendientes de aprobación y la opción seleccionada aprueba uno o más comprobantes). | |||
Posteriormente se llama directamente a la función GetPopupOptions para que agregue las opciones al menú local. | |||
<pre> | |||
prxADOClientDM.pAUX_CLASE_OPCIONES_unit.GetPopupOptions(aPopupMenu); | |||
</pre> | |||
=Usos= | |||
Este auxiliar se usa en: | |||
*[[TTfvsDBClientFrameGridClases]].fvsDBGridResultadoGetPopupOptions. | |||
*[[TTfvsDBClientFrameGridConsultas]].fvsDBGridResultadoGetPopupOptions. | |||
*[[TTfvsDBClientFrameScrollBox]].SpeedButton_OPCIONESGetPopupOptions. | |||
*[[TTprxGestionFinancieraProyeccionFrame]].OnOpcionesPopupXtd. |
Revisión del 16:45 22 may 2025
Descripción
El objeto TpAUX_CLASE_ORIGEN_unit (Origen de datos) procesa los auxiliares de tipo ORIGEN, ver detalles en DEV AUXILIARES/ORIGEN.
Identidad
- Ancestro: TComponent
- Carpeta: C:\DevelopPrx\pPRAGMA
- Archivo: pAUX_CLASE_ORIGEN_unit.pas
Declaración
type TpAUX_CLASE_ORIGEN_unit = class(TComponent) private FDataSet: TDataSet; FClase: String; FStatusBar: TStatusBar; FQuery: TprxADOQuery; FTag_EmiteAviso: Boolean; FTag_ImportarPlanilla: Boolean; FSQL_SELECT: TStringList; FSQL_CONDICION: TStringList; FSQL_CAMPOS: TStringList; FSQL_SELECTVALUE: TStringList; FItems: TStringList; FItems_Descripcion: TStringList; FItems_Index: Integer; protected property Tag_EmiteAviso: Boolean read FTag_EmiteAviso write FTag_EmiteAviso; property Tag_ImportarPlanilla: Boolean read FTag_ImportarPlanilla write FTag_ImportarPlanilla; property SQL_SELECT: TStringList read FSQL_SELECT write FSQL_SELECT; property SQL_CONDICION: TStringList read FSQL_CONDICION write FSQL_CONDICION; property SQL_CAMPOS: TStringList read FSQL_CAMPOS write FSQL_CAMPOS; property SQL_SELECTVALUE: TStringList read FSQL_SELECTVALUE write FSQL_SELECTVALUE; procedure OnGrid_SelectedRecords(Sender: TprxADOQuery; var aError: Boolean); function LocateRecord(Sender: TprxADOQuery): Boolean; public constructor Create(AOwner: TComponent); override; destructor Destroy; override; function ArmarMenu(aPopupMenu: TprxPopupMenu; aEnabled: Boolean): Boolean; procedure OnClick(Sender: TObject); property DataSet: TDataSet read FDataSet write FDataSet; property Clase: String read FClase write FClase; property StatusBar: TStatusBar read FStatusBar write FStatusBar; property Query: TprxADOQuery read FQuery write FQuery; property Items: TStringList read FItems; property Items_Descripcion: TStringList read FItems_Descripcion; property Items_Index: Integer read FItems_Index; published end;
Implementación
function ArmarMenu(aPopupMenu: TprxPopupMenu; aEnabled: Boolean): Boolean
Agrega los orígenes al ítem Orígenes... del menú de opciones, el OnClick de cada opción está dentro del mismo componente.

procedure OnClick(Sender: TObject)
Es llamado por las opciones de menú de ArmarMenu y ejecuta la opción seleccionada. Usa la pantalla TTprxSelectFromGridForm para hacer la selección de registros.
procedure OnGrid_SelectedRecords(Sender: TprxADOQuery; var aError: Boolean)
Para cada registro seleccionado, lo inserta en el dataset llamador.
function LocateRecord(Sender: TprxADOQuery): Boolean
Verifica que un registro que hay que insertar en el dataset no se haya cargado previamente.
Modo de uso
Habitualmente el auxiliar se usa de la siguiente manera (ejemplo tomado de TTfvsDBClientFrameGridConsultas.fvsDBGridResultadoGetPopupOptions):
prxADOClientDM.pAUX_CLASE_OPCIONES_unit.DataSet := QueryRESULTADO; prxADOClientDM.pAUX_CLASE_OPCIONES_unit.Clase := TprxADODataSetEdit(TprxADOQuery(QueryRESULTADO).MasterDataSet).ppTableName; prxADOClientDM.pAUX_CLASE_OPCIONES_unit.MasterDataSet := TprxADOQuery(QueryRESULTADO).MasterDataSet; prxADOClientDM.pAUX_CLASE_OPCIONES_unit.Grid := fvsDBGridResultado; prxADOClientDM.pAUX_CLASE_OPCIONES_unit.RefreshEvent := SQLEjecutar;
Primero asignamos las propiedades:
- Dataset que se asigna al dataset de la pantalla que llama al auxiliar, en este caso es una consulta (QueryRESULTADO en un TprxADOQuery usando en las consultas.
- Clase se inicializa al nombre de la tabla del componente que está llamando al auxiliar.
- MasterDataSet se inicializa al valor del master del dataset llamador, solo cuando el llamador es un detalle.
- Grid se inicializa al valor de la grilla desde la que se llama al auxiliar.
- RefreshEvent se inicializa al valor del procedimiento que refresca la pantalla, usado cuando los datos que estamos viendo en pantalla se modifican por efecto de ejecutar una de las opciones (por ejemplo: cuando estamos consultando comprobantes pendientes de aprobación y la opción seleccionada aprueba uno o más comprobantes).
Posteriormente se llama directamente a la función GetPopupOptions para que agregue las opciones al menú local.
prxADOClientDM.pAUX_CLASE_OPCIONES_unit.GetPopupOptions(aPopupMenu);
Usos
Este auxiliar se usa en:
- TTfvsDBClientFrameGridClases.fvsDBGridResultadoGetPopupOptions.
- TTfvsDBClientFrameGridConsultas.fvsDBGridResultadoGetPopupOptions.
- TTfvsDBClientFrameScrollBox.SpeedButton_OPCIONESGetPopupOptions.
- TTprxGestionFinancieraProyeccionFrame.OnOpcionesPopupXtd.