TpAUX CAMPO ASIGNACION unit
Ir a la navegación
Ir a la búsqueda
Descripción
El objeto TpAUX_CAMPO_ASIGNACION_unit (Asignación de valores) procesa los auxiliares de tipo ASIGNACION, ver detalles en DEV AUXILIARES/ASIGNACION.
Identidad
- Ancestro: TComponent
- Carpeta: C:\DevelopPrx\pPRAGMA
- Archivo: pAUX_CAMPO_ASIGNACION_unit.pas
Declaración
const
TpAUX_CAMPO_ASIGNACION_ONENTER = 'ONENTER';
TpAUX_CAMPO_ASIGNACION_ONEXIT = 'ONEXIT';
type
TpAUX_CAMPO_ASIGNACION_unit = class(TComponent)
private
FDataSet: TDataSet;
FClase: String;
FCampo: String;
FQuery: TprxADOQuery;
FSQL_COMANDO: TStringList;
FSQL_COMANDO_SELECT: TStringList;
FTag_Estadistica: Boolean;
FTag_Porcentaje100: Boolean;
FTag_Evento: String;
FTag_OnPost: Boolean;
FTag_ValorNulo: Boolean;
FItems: TStringList;
protected
property SQL_COMANDO: TStringList read FSQL_COMANDO write FSQL_COMANDO;
property Tag_Estadistica: Boolean read FTag_Estadistica;
property Tag_Porcentaje100: Boolean read FTag_Porcentaje100;
property Tag_Evento: String read FTag_Evento;
property Tag_OnPost: Boolean read FTag_OnPost;
property Tag_ValorNulo: Boolean read FTag_ValorNulo;
function Exec_FieldAssignEstadistica(aCampo: String; aSQL: TStringList): Variant;
function Exec_FieldAssignPorcentaje100(aCampo: String; aSQL: TStringList): Double;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
function Procesar(aEvento: String; aOnPost: Boolean = False): Boolean;
function ProcesarPost: Boolean;
property DataSet: TDataSet read FDataSet write FDataSet;
property Clase: String read FClase write FClase;
property Campo: String read FCampo write FCampo;
property Query: TprxADOQuery read FQuery write FQuery;
property Items: TStringList read FItems;
property SQL_COMANDO_SELECT: TStringList read FSQL_COMANDO_SELECT write FSQL_COMANDO_SELECT;
published
end;
Implementación
function Procesar(aEvento: String; aOnPost: Boolean = False): Boolean
Procesa las asignaciones correspondientes al campo como detonador, si encuentra un valor lo asigna al campo:
TprxADODataSetEdit(DataSet).AssignValueToField(Items[I], vValor);
function Exec_FieldAssignPorcentaje100(aCampo: String; aSQL: TStringList): Double
Arma y ejecuta la sentencia de asignación por diferencia.
function Exec_FieldAssignEstadistica(aCampo: String; aSQL: TStringList): Variant
Asigna un valor estadístico.
Modo de uso
El auxiliar se usa de la siguiente manera:
prxADOClientDM.pAUX_CAMPO_ASIGNACION_unit.DataSet := Self; prxADOClientDM.pAUX_CAMPO_ASIGNACION_unit.Clase := ppTableName; prxADOClientDM.pAUX_CAMPO_ASIGNACION_unit.Campo := aFieldName; prxADOClientDM.pAUX_CAMPO_ASIGNACION_unit.Procesar(TpAUX_CAMPO_ASIGNACION_ONENTER);
Primero asignamos las propiedades:
- Dataset que se asigna al mismo componente que está llamando al auxiliar.
- Clase se inicializa al nombre de la tabla del componente que está llamando al auxiliar.
- Campo se inicializa al nombre del campo cuyo valor queremos asignar.
Posteriormente se llama directamente a la función Execute que validará las condiciones de posteo.
prxADOClientDM.pAUX_CAMPO_ASIGNACION_unit.Procesar(TpAUX_CAMPO_ASIGNACION_ONENTER);
Usos
El auxiliar se usa en:
- [[TprxADODataSetEdit].OnEnterFieldXtd.
- Tfva_campos_items.DefaultValuesAssign.