Diferencia entre revisiones de «Tfva campos item»
Sin resumen de edición |
|||
Línea 188: | Línea 188: | ||
Ejecutada en el OnEnter de un control de edición. | Ejecutada en el OnEnter de un control de edición. | ||
===function EDIT_SELECT(aConstraint: String = | ===function EDIT_SELECT(aConstraint: String = blank): Boolean=== | ||
Ejecutada al presionar F5 para seleccionar un valor en un control de edición. | 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=== | ===function EDIT_ONEXIT: Boolean=== |
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.