4D v18

Gestión de expresiones

Inicio

 
4D v18
Gestión de expresiones

Gestión de expresiones  


 

Los documentos 4D Write Pro pueden contener referencias a expresiones dinámicas 4D tales como variables, campos, fórmulas, métodos de proyecto, o comandos 4D. Variables específicas como el número de página también se pueden referenciar (ver Insertar expresiones de documento y de página).

Las expresiones son insertadas en áreas 4D Write Pro utilizando el comando ST INSERT EXPRESSION. Se pueden leer con el comando ST Get expressionpero también se devuelven con los comandos WP Get textST Get plain text

Las expresiones (ver abajo) se evalúan cuando los documentos se muestran o se imprimen, o cuando se llama al comando ST COMPUTE EXPRESSIONS. Se convierten en valores estáticos si llama al comando ST FREEZE EXPRESSIONS (excepto por las variables $wp_pageNumber y $wp_pageCount, ver abajo).

Ejemplo  

Usted quiere reemplazar la selección en un área 4D Write Pro con el contenido de una variable:

 C_TEXT(fullName)
 
 Case of
    :(Form event code=On Clicked)
       ST INSERT EXPRESSION(myArea;"fullName";ST Start highlight;ST End highlight)
 End case

Por razones de seguridad, la evaluación de los comandos y métodos de proyecto 4D insertados en documentos 4D Write Pro debe ser controlada por el desarrollador para asegurarse de que ninguna expresión inapropiada se utilice y no genere cambios inesperados o efectos secundarios en la base. Esto le impide ejecutar comandos tales como DELETE SELECTION o métodos como "DeleteOrders".

Utilice la opción de filtrado 4D normal definida en el nivel de la base de datos. Esta opción se encuentra en la página Seguridad del cuadro de diálogo "Propiedades de la base":

Por defecto en 4D, esta opción está Activada para todos, lo que significa que los comandos y los métodos se deben permitir explícitamente, si no se devuelven errores de evaluación. Puede desactivar este filtro parcialmente (para el Diseñador y el Administrador), o para todos los usuarios. Esta opción se utiliza en toda la base 4D y controla todas las evaluaciones fórmula usuario. Para obtener más información sobre esta opción, consulte el Manual de Diseño.

Cuando la opción está activada:

  • los usuarios solo pueden llamar a los comandos que pertenecen a la lista "fórmula compatible". Esta lista se muestra en la parte derecha del editor de fórmulas:
  • los usuarios no pueden ejecutar cualquier método de proyecto. Los métodos de proyecto que desea permitir en documentos 4D Write deben ser explícitamente declarados utilizando el comando SET ALLOWED METHODSSET ALLOWED METHODS.

Siempre que se encuentra un método o comando 4D "prohibido" durante la evaluación de una expresión en un documento 4D Write Pro, el valor se sustituye por " ## Error # 48".

Ejemplo  

Usted insertó la siguiente expresión en su documento 4D Write Pro :

 ST INSERT EXPRESSION(*;"WriteProArea";"Gender")

Por defecto, si la opción de seguridad está marcada, el método Gender no se evaluará:

Si se ejecuta el siguiente código:

 ARRAY TEXT(aTallow;1)
 aTallow{1}:="Gender"
 SET ALLOWED METHODS(aTallow)

El método Gender será evaluado y devuelve un valor:

El filtro no estaba habilitado para documentos 4D Write Pro en versiones anteriores. Si sus documentos 4D Write Pro referenciaban métodos 4D, ya no serán evaluados una vez la base se convierta a 4D v16 o superior. Se mostrarán en su lugar mensajes "## Error # 48".
En este caso, es necesario agregar los métodos a la lista aprobada utilizando el comando SET ALLOWED METHODSSET ALLOWED METHODS.

Puede insertar expresiones especiales relacionadas con atributos documentos o atributos página en toda área de documento (cuerpo, encabezado, pie) utilizando el comando ST INSERT EXPRESSION.

 

Sintaxis de la expresiónTipoDescripción
$wp_titleTextoTítulo definido en el atributo wk title
$wp_authorTextoAutor definido en el atributo wk author
$wp_subjectntoTextoAsunto definido en el atributo wk subject
$wp_companyTextoEmpresa definida en el atributo wk company
$wp_notesTextoNotas definidas en el atributo wk notes
$wp_dateCreationFechaFecha de creación definida en el atributo wk date creation
$wp_dateModifiedFechaFecha de modificación definida en el atributo wk date modified
$wp_pageNumberEntero largoNúmero de página, como está definido: desde el principio del documento (por defecto) o desde la página de inicio de la sección si está definida por inicio página de la sección. Esta expresión siempre es dinámica, no se ve afectada por el comando ST FREEZE EXPRESSIONS
$wp_pageCountEntero largoNúmero de páginas: recuento total de páginas. Esta expresión siempre es dinámica, no se ve afectada por el comando ST FREEZE EXPRESSIONS.

Para insertar una expresión, asegúrese de que el cursor se encuentra en el área apropiada (encabezado, pie o cuerpo del documento) y llame al comando ST INSERT EXPRESSION. Por ejemplo, para insertar el número de página en el área de pie de página seleccionada:

 ST INSERT EXPRESSION(*;"4DWPArea";"$wp_pageNumber")

El siguiente diseño de documentos se puede definir, por ejemplo:



Las expresiones de tabla y campo insertadas en documentos 4D Write Pro soportan la definición de estructura virtual de la base. La estructura virtual expuesta a las fórmulas se define mediante los comandos SET FIELD TITLES(...;*) y SET TABLE TITLES(...;*). 

Cuando se define una estructura virtual, las referencias a expresiones que contienen campos muestran nombres virtuales cuando el documento 4D Write Pro muestra referencias y no valores. Los comandos que manejan las referencias esperan y usan nombres virtuales o reales de acuerdo con la siguiente tabla:

 

ComandoSoporte de estructura virtual
WP Get textDevuelve nombres de estructura virtual si la opción wk expressions as source está definida en el parámetro expresiones.
ST Get plain textDevuelve los nombres de la estructura virtual si la opción ST 4D Expressions as sources está definida en el parámetro refMode.
ST Get expressionIgnora la estructura virtual. Siempre devuelve nombres reales de tabla/campo
ST INSERT EXPRESSIONIgnora la estructura virtual. Siempre espera nombres de tabla/campo reales

 

Nota: cuando se muestra un documento en el modo "expresiones de visualización", las referencias a tablas o campos que no pertenecen a la estructura virtual se muestran con "?" caracteres, por ejemplo [VirtualTableName]? cuando el campo no está definido en la estructura virtual.



Ver también 


ST INSERT EXPRESSION
Utilizar los comandos del tema Texto con estilo

 
PROPIEDADES 

Producto: 4D
Tema: Gestión de expresiones

 
CONTENIDO DE LA PÁGINA 
 
HISTORIA 

Creado por: 4D v16
Modificado: 4D v17 R4

 
ARTICLE USAGE

Referencia 4D Write Pro ( 4D v18)