Saltar al contenido principal
Versión: Siguiente

WP INSERT FORMULA

WP INSERT FORMULA ( objTarget ; formula ; modo {; actRango} )

ParámetroTipoDescripción
objTargetObjeto🡒Rango o elemento o documento 4D Write Pro
formulaObjeto🡒Objeto fórmula
modoNúmero🡒Modo de inserción
actRangoNúmero🡒Incluye o excluye el contenido insertado dentro del rango

Descripción

El comando WP INSERT FORMULA inserta una formula en objTarget de acuerdo con el modo de inserción especificado.

En el parámetro objTarget, puede pasar:

  • un rango, o
  • un elemento (tabla / línea / celda(s) / párrafo / cuerpo / encabezado / pie de página / sección / subsección / imagen en línea), o
  • un documento 4D Write Pro.

En el parámetro formula, pase la fórmula 4D a evaluar. Puede pasar:

  • o bien un objeto fórmula creado por el comando Formula o Formula from string,
  • o un objeto que contenga dos propiedades:
    | Propiedad | Tipo | Descripción |
    | ------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | nombre | Cadena | Nombre a mostrar para la fórmula en el documento |
    | fórmula | Objeto | El objeto fórmula creado por el comando Formula o Formula from string |
    Cuando se utiliza un objeto con un nombre de fórmula, este nombre se muestra en el documento en lugar de la referencia de fórmula cuando las fórmulas se muestran como referencia, y en el consejo de fórmula cuando se muestran como valor o símbolos. Si la propiedad nombre contiene una cadena vacía o se omite, se elimina del objeto y la fórmula se muestra por defecto. Para más información, consulte la página Gestión de fórmulas.

En el parámetro modo, pase una de las siguientes constantes para indicar el modo de inserción que se utilizará:

ConstanteTipoValorComentario
wk appendEntero largo2Inserta contenidos al final del rango
wk prependEntero largo1Insertar contenidos al principio del rango
wk replaceEntero largo0Remplazar el contenido de la página
  • Si objTarget es un rango, puede utilizar el parámetro opcional actRango para pasar una de las siguientes constantes para especificar si la formula insertada se incluye o no en el rango resultante:
ConstanteTipoValorComentario
wk exclude from rangeEntero largo1Contenidos insertados no incluidos en el rango actualizado
wk include in rangeEntero largo0Contenido insertado incluido en el rango actualizado (predeterminado)

Si no pasa un parámetro actRango, de forma predeterminada la formula insertada se incluye en el rango resultante.

  • Si objTarget no es un rango, se ignora actRango.

Nota: tenga en cuenta que, cuando se llama, el objeto fórmula se evalúa dentro del contexto de la base de datos o del componente que lo creó.

Ejemplo 1

Para reemplazar todas las fórmulas de fecha actuales con cadenas formateadas:

 var $_formulas : Collection
 var $find;$newFormula : Object
 
  // define la fórmula a encontrar
 $find:=Formula(Current date)
 
  // define la fórmula de reemplazo
 $newFormula:=Formula(String(Current date;System date long))
 
  // busca todas las fórmulas en el documento
 $_formulas:=WP Get formulas(WriteProArea)
 
  // consulta la colección de WP Get formulas
 $_formulas:=$_formulas.query("formula.source =:1";$find.source)  
 
  // luego reemplaza cada fórmula
 For each($formula;$_formulas)
    WP INSERT FORMULA($formula.range;$newFormula;wk replace)
 End for each

Ejemplo 2

Desea utilizar un nombre de fórmula para el nombre del cliente:

  //añade algunos datos
 $data:=New object("customer";New object("lastname";"Smith";"firstname";"John"))
 WP SET DATA CONTEXT(WPArea;$data)
 
  //crea un objeto fórmula con un nombre
 $o:=New object
 $o.formula:=Formula(This.data.customer.firstname+" "+This.data.customer.lastname)
 $o.name:="Customer name"
 
  //inserta como texto
 $range:=WP Text range(WPArea;wk start text;wk end text)
 WP SET TEXT($range;"Dear ";wk append)
 WP INSERT FORMULA($range;$o;wk append)

Resultado:

Ver también

Gestión de fórmulas
WP COMPUTE FORMULAS
WP FREEZE FORMULAS
WP Get formulas