Diferencia entre revisiones de «Tfva campos item»
(Página creada con «=Descripción= El objeto '''Tfva_campos_item''' (Componente que representa un campo de un dataset.) representa a un campo de un TprxADODataSetEdit, implementa funcionalidad que simplifica el comportamiento del campo en una pantalla de edición. =Identidad= Category:MANUAL/PROGRAMADOR Category:DATASETS *Ancestro: TComponent *Carpeta: C:\DevelopPrx\library *Archivo: fva_campos_item,pas =Declaración= <pre> type Tfva_campos_ite…») |
|||
(No se muestran 2 ediciones intermedias del mismo usuario) | |||
Línea 153: | Línea 153: | ||
*Fcampos_calculados: TStringList; | *Fcampos_calculados: TStringList; | ||
*FComputo: String; | *FComputo: String; | ||
=Implementación= | |||
===function TableName: String=== | |||
Retorna el nombre de la tabla del [[TprxADODataSetEdit]] que pertenece el campo. | |||
===function ArmarEnumeracion: Boolean=== | |||
Arma los elementos del combo de un campo tipo enumeración. | |||
Carga la definición desde las tablas de [[:Category:DEV ENUMERACIONES|Enumeraciones]] usando el siguiente SQL: | |||
<pre> | |||
SELECT | |||
prxenumeraciones.Enumeracion | |||
, prxenumeraciones.pSelect | |||
, prxenumeraciones.Inicializacion | |||
, prxenumeracionesD.Codigo | |||
FROM prxenumeraciones, prxenumeracionesD WHERE | |||
prxenumeraciones.Enumeracion = @Atributo | |||
AND prxenumeracionesD.Enumeracion = prxenumeraciones.Enumeracion | |||
ORDER BY | |||
prxenumeracionesD.Enumeracion | |||
, prxenumeracionesD.Linea | |||
</pre> | |||
===procedure CrearSelectCamposCalculados(aCommandFields: TStringList; aCommandFrom: TStringList; aCommandLeftOuter: TStringList)=== | |||
Al SELECT normal para traer los campos de la tabla, agrega los comandos necesarios (LEFT OUTER JOIN) para traer campos calculados (ej: traer la descripción de un artículo). | |||
===function ValidateField(aConstraint: String; var aMsg: String): Boolean=== | |||
Valida un valor ingresado en un campo de tipo 'clase'. | |||
===function ValidateFieldAlias(aTablaF: String; aCampoF: String; aFieldName: String; aAttribute: String; aValorL: String; var aValorRetorno: Variant): Boolean=== | |||
Valida un valor según los campos Alias de una tabla, si encuentra algo retorna el valor del campo clave de la tabla foránea. | |||
===function EDIT_ONENTER: Boolean=== | |||
Ejecutada en el OnEnter de un control de edición. | |||
===function EDIT_SELECT(aConstraint: String = blank): Boolean=== | |||
Ejecutada al presionar F5 para seleccionar un valor en un control de edición. El argumento '''aConstraint''' solo se informa si la misma existe sobre el campo. | |||
===function EDIT_ONEXIT: Boolean=== | |||
Ejecutada en el OnExit de un control de edición. | |||
===function EDIT_VALIDATE(var aMsg: String): Boolean=== | |||
Valida un valor ingresado en un control de edición. | |||
=Uso= |
Revisión actual - 22:03 22 may 2025
Descripción
El objeto Tfva_campos_item (Componente que representa un campo de un dataset.) representa a un campo de un TprxADODataSetEdit, implementa funcionalidad que simplifica el comportamiento del campo en una pantalla de edición.
Identidad
- Ancestro: TComponent
- Carpeta: C:\DevelopPrx\library
- Archivo: fva_campos_item,pas
Declaración
type Tfva_campos_item = class(TComponent) private FADODataSet: TprxADODataSet; FAncestro: String; FFieldName: String; FLogicalName: String; FColumna: Integer; FAtributo: String; FEnteros: Integer; FDecimales: Integer; FComportamiento: String; FClave: Boolean; FRequerido: Boolean; FControl: String; FAlias: Boolean; FEditaEnINSERT: Boolean; FEditaEnUPDATE: Boolean; FIndicaDefecto: Boolean; FVisible: Boolean; FGrupo: String; FPanel: String; FIndicaciones: String; FValorPorDefecto: String; FRelacionesCampo: Boolean; Fcampos_calculados: TStringList; FComputo: String; FFKTablaForanea: String; FFKCamposPropios: TStringList; FFKCamposForaneos: TStringList; FRelaxValidation: Boolean; FFieldNo: Integer; FLookupDS: TprxADODataSetLookup; FCargarElementos: String; FEditControl: TWinControl; protected function ValidateFieldAlias(aTablaF: String; aCampoF: String; aFieldName: String; aAttribute: String; aValorL: String; var aValorRetorno: Variant): Boolean; public FEnumeracionItems: String; FEnumeracionInicializacion: String; constructor Create(AOwner: TComponent); override; destructor Destroy; override; procedure Loaded; override; function TableName: String; function Get_Constante: Boolean; function Get_Field: TField; function Get_Query: TprxADOQuery; function CrearFieldDefCampo(aField: TField; aEnteros: Integer; aDecimales: Integer; aRequired: Boolean): TField; procedure CrearFieldDefCamposCalculados(vDS: TADODataSet); procedure CrearSelectCamposCalculados(aCommandFields: TStringList; aCommandFrom: TStringList; aCommandLeftOuter: TStringList); function ValidateField(aConstraint: String; var aMsg: String): Boolean; function ArmarEnumeracion: Boolean; function EDIT_ONENTER: Boolean; function EDIT_SELECT(aConstraint: String = ''): Boolean; function EDIT_ONEXIT: Boolean; function EDIT_VALIDATE(var aMsg: String): Boolean; property ADODataSet: TprxADODataSet read FADODataSet write FADODataSet; property Ancestro: String read FAncestro write FAncestro; property FieldName: String read FFieldName write FFieldName; property LogicalName: String read FLogicalName write FLogicalName; property Columna: Integer read FColumna write FColumna; property Atributo: String read FAtributo write FAtributo; property Enteros: Integer read FEnteros write FEnteros; property Decimales: Integer read FDecimales write FDecimales; property Comportamiento: String read FComportamiento write FComportamiento; property Clave: Boolean read FClave write FClave; property Requerido: Boolean read FRequerido write FRequerido; property Control: String read FControl write FControl; property EnumeracionItems: String read FEnumeracionItems write FEnumeracionItems; property EnumeracionInicializacion: String read FEnumeracionInicializacion write FEnumeracionInicializacion; property Alias: Boolean read FAlias write FAlias; property EditaEnINSERT: Boolean read FEditaEnINSERT write FEditaEnINSERT; property EditaEnUPDATE: Boolean read FEditaEnUPDATE write FEditaEnUPDATE; property Constante: Boolean read Get_Constante; //FConstante write FConstante; property Field: TField read Get_Field; property Query: TprxADOQuery read Get_Query; property IndicaDefecto: Boolean read FIndicaDefecto write FIndicaDefecto; property Visible: Boolean read FVisible write FVisible; property Grupo: String read FGrupo write FGrupo; property xxPanel: String read FPanel write FPanel; property Indicaciones: String read FIndicaciones write FIndicaciones; property ValorPorDefecto: String read FValorPorDefecto write FValorPorDefecto; property RelacionesCampo: Boolean read FRelacionesCampo write FRelacionesCampo; property campos_calculados: TStringList read Fcampos_calculados write Fcampos_calculados; property Computo: String read FComputo write FComputo; property FKTablaForanea: String read FFKTablaForanea write FFKTablaForanea; property FKCamposPropios: TStringList read FFKCamposPropios write FFKCamposPropios; property FKCamposForaneos: TStringList read FFKCamposForaneos write FFKCamposForaneos; property RelaxValidation: Boolean read FRelaxValidation write FRelaxValidation; property FieldNo: Integer read FFieldNo write FFieldNo; property LookupDS: TprxADODataSetLookup read FLookupDS write FLookupDS; property CargarElementos: String read FCargarElementos write FCargarElementos; property EditControl: TWinControl read FEditControl write FEditControl; published end;
Atributos del campo
Las siguientes variables corresponden a los atributos del campo cargados en la función TprxADODataSetEdit.StructureLoad:
- FADODataSet: TprxADODataSet;
- FAncestro: String;
- FFieldName: String;
- FLogicalName: String;
- FColumna: Integer;
- FAtributo: String;
- FEnteros: Integer;
- FDecimales: Integer;
- FComportamiento: String;
- FClave: Boolean;
- FRequerido: Boolean;
- FControl: String;
- FAlias: Boolean;
- FEditaEnINSERT: Boolean;
- FEditaEnUPDATE: Boolean;
- FIndicaDefecto: Boolean;
- FVisible: Boolean;
- FGrupo: String;
- FPanel: String;
- FIndicaciones: String;
- FValorPorDefecto: String;
- FRelacionesCampo: Boolean;
- Fcampos_calculados: TStringList;
- FComputo: String;
Implementación
function TableName: String
Retorna el nombre de la tabla del TprxADODataSetEdit que pertenece el campo.
function ArmarEnumeracion: Boolean
Arma los elementos del combo de un campo tipo enumeración.
Carga la definición desde las tablas de Enumeraciones usando el siguiente SQL:
SELECT prxenumeraciones.Enumeracion , prxenumeraciones.pSelect , prxenumeraciones.Inicializacion , prxenumeracionesD.Codigo FROM prxenumeraciones, prxenumeracionesD WHERE prxenumeraciones.Enumeracion = @Atributo AND prxenumeracionesD.Enumeracion = prxenumeraciones.Enumeracion ORDER BY prxenumeracionesD.Enumeracion , prxenumeracionesD.Linea
procedure CrearSelectCamposCalculados(aCommandFields: TStringList; aCommandFrom: TStringList; aCommandLeftOuter: TStringList)
Al SELECT normal para traer los campos de la tabla, agrega los comandos necesarios (LEFT OUTER JOIN) para traer campos calculados (ej: traer la descripción de un artículo).
function ValidateField(aConstraint: String; var aMsg: String): Boolean
Valida un valor ingresado en un campo de tipo 'clase'.
function ValidateFieldAlias(aTablaF: String; aCampoF: String; aFieldName: String; aAttribute: String; aValorL: String; var aValorRetorno: Variant): Boolean
Valida un valor según los campos Alias de una tabla, si encuentra algo retorna el valor del campo clave de la tabla foránea.
function EDIT_ONENTER: Boolean
Ejecutada en el OnEnter de un control de edición.
function EDIT_SELECT(aConstraint: String = blank): Boolean
Ejecutada al presionar F5 para seleccionar un valor en un control de edición. El argumento aConstraint solo se informa si la misma existe sobre el campo.
function EDIT_ONEXIT: Boolean
Ejecutada en el OnExit de un control de edición.
function EDIT_VALIDATE(var aMsg: String): Boolean
Valida un valor ingresado en un control de edición.