TTpAUX CAMPO EVALUACIONS Form
Descripción
El objeto TTpAUX_CAMPO_EVALUACIONS_Form (Form para suscribir evaluaciones de auxiliares de campos) permite suscribir a las evaluaciones de un atributo (ver DEV AUXILIARES/EVALUACION).
Las instrucciones para suscribir evaluaciones están específicamente en EVALUACIONES, Uso del auxiliar.
Identidad
- Ancestro: TprxForm
- Carpeta: C:\DevelopPrx\pPRAGMA
- Archivo: pAUX_CAMPO_EVALUACIONS_Form.pas
Declaración
type TTpAUX_CAMPO_EVALUACIONS_Form = class(TTprxForm) prxADOQuery1: TprxADOQuery; prxDataSourceCAMPO: TDataSource; Panel3: TPanel; CHECKS_List: TprxCheckListBox; Panel8: TPanel; ButtonCANCELAR: TSpeedButton; ButtonAPLICAR: TButton; procedure FormShow(Sender: TObject); procedure ButtonAPLICARClick(Sender: TObject); procedure ButtonCANCELARClick(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); private FADODetail: TprxADODataSetEdit; FCampoAtributo: String; FAtributoUDT: String; FClase: String; FCampo: String; FCatalogo: String; FTipoDato: String; protected procedure CargarEvaluaciones; procedure GrabarEvaluaciones; property Catalogo: String read FCatalogo write FCatalogo; property xxTipoDato: String read FTipoDato write FTipoDato; property AtributoUDT: String read FAtributoUDT write FAtributoUDT; property Clase: String read FClase write FClase; property Campo: String read FCampo write FCampo; public property ADODetail: TprxADODataSetEdit read FADODetail write FADODetail; property CampoAtributo: String read FCampoAtributo write FCampoAtributo; end;
Identificación
Inicialización de propiedades del dataset:
- ADODetail es el dataset desde el que estamos suscribiendo evaluaciones.
- CampoAtributo es el campo que define la clave foránea o clase sobre la que tenemos que ver qué suscripciones declara.
En código es:
vF.ADODetail := TprxADODataSetEdit(DataSource.Dataset); vF.CampoAtributo := 'AtributoUDT'; vF.ShowModal;
Implementación
procedure CargarEvaluaciones
Carga las evaluaciones del atributo examinado, usa un SQL similar a:
SELECT pAUX.FCLASE , pAUX.FCODIGO , FSUSCRIPTO = CASE WHEN pAUX_EVALUACIONS.FATRIBUTO IS NOT NULL THEN CAST(1 AS BIT) ELSE CAST(0 AS BIT) END FROM pAUX LEFT OUTER JOIN pAUX_EVALUACIONS ON pAUX_EVALUACIONS.FATRIBUTO = pAUX.FCLASE AND pAUX_EVALUACIONS.FCODIGO = pAUX.FCODIGO AND pAUX_EVALUACIONS.FCLASE = @Clase AND pAUX_EVALUACIONS.FCAMPO = @Campo WHERE pAUX.FTIPO = 'EVALUACION' AND pAUX.FCLASE IN (SELECT Ancestro FROM prxclasesJER_VISTA WHERE Clase = @AtributoUDT) ORDER BY 1, 2
Donde:
- @Clase es la clase desde la que estamos suscribiendo las evaluaciones, por ejemplo una factura.
- @Campo es el campo desde el que estamos suscribiendo las evaluaciones, por ejemplo un artículo.
- @AtributoUDT es el atributo de ese campo.
procedure GrabarEvaluaciones
Grabamos las evaluaciones suscriptas en la tabla pAUX_EVALUACIONS (Ver DEV AUXILIARES/SUSCRIPCION EVALUACIONES).
procedure ButtonAPLICARClick(Sender: TObject)
Graba las evaluaciones y retorna ModalResult := mrOK.
procedure ButtonCANCELARClick(Sender: TObject)
Cancela la edición y retorna ModalResult := mrCancel.
Uso
El form se usa únicamente en TprxDBEdit.MostrarSuscripcionEvaluacionesForm.
Esta función es llamada desde TprxDBEdit.MostrarMaestro solo cuando el campo se llama AtributoUDT (ver Clases, campos (prxcampos)):

y el código es:
procedure TprxDBEdit.MostrarSuscripcionEvaluacionesForm(Sender: TObject); var vF: TTpAUX_CAMPO_EVALUACIONS_Form; begin inherited; vF := TTpAUX_CAMPO_EVALUACIONS_Form.Create(Self); vF.ADODetail := TprxADODataSetEdit(DataSource.Dataset); vF.CampoAtributo := 'AtributoUDT'; vF.ShowModal; vF.Release; end;