WP Insert formula
WP Insert formula* ( targetObj ; formula ; mode {; rangeUpdate} ) : Object
| Parâmetro | Tipo | Descrição | |
|---|---|---|---|
| targetObj | Object | → | Range or element or 4D Write Pro document | 
| formula | Object | → | Objeto de fórmula OU Objeto com propriedades de fórmula e nome | 
| mode | Number | → | Modo de inserção | 
| rangeUpdate | Number | → | Inclui ou exclui o conteúdo inserido dentro do intervalo | 
| Resultado | Object | ← | Objeto de intervalo de texto que representa o resultado da fórmula | 
Descrição
O comando WP Insert formula insere uma fórmula em targetObj de acordo com o modo de inserção especificado e retorna o intervalo de texto resultante.
No parâmetro targetObj, você pode passar:
- um intervalo, ou
- um elemento (tabela / linha / célula(s) / parágrafo / corpo / cabeçalho / rodapé / seção / subseção / imagem inline), ou
- um documento 4D Write Pro.
No parâmetro formula, passe a fórmula 4D a ser avaliada. Pode passar:
- um objeto fórmula criado pelo comando Formula ou Formula from string,
- ou um objeto que contém duas propriedades:
| Propriedade | Tipo | Description | 
|---|---|---|
| name | Text | Nome a ser exibido para a fórmula no documento | 
| formula | Object | O objeto de fórmula criado pelo comando Formula ou Formula from string | 
Quando você usa um objeto com uma fórmula name, esse nome é exibido no documento em vez da referência da fórmula quando as fórmulas são exibidas como referência e na dica da fórmula quando são exibidas como valor ou símbolos. Se a propriedade name contiver uma string vazia ou for omitida, ela será removida do objeto e a fórmula será exibida por padrão. Para obter mais informações, consulte a página Gerenciar fórmulas.
No parâmetro mode, passe uma das seguintes constantes para indicar o modo de inserção a ser usado:
| Parâmetros | Tipo | Valor | Comentário | 
|---|---|---|---|
| wk append | Integer | 2 | Insert contents at end of target | 
| wk prepend | Integer | 1 | Insert contents at beginning of target | 
| wk replace | Integer | 0 | Replace target contents | 
- Se targetObj for um intervalo, você poderá usar o parâmetro opcional rangeUpdate para passar uma das seguintes constantes e especificar se a fórmula inserida está ou não incluída no intervalo resultante:
| Parâmetros | Tipo | Valor | Comentário | 
|---|---|---|---|
| wk exclude from range | Integer | 1 | Inserted contents not included in updated range | 
| wk include in range | Integer | 0 | Inserted contents included in updated range (default) | 
Se você não passar um parâmetro rangeUpdate, por padrão a fórmula inserida será incluída no intervalo resultante.
- Se targetObj não for um intervalo, rangeUpdate será ignorado.
Lembre-se de que, quando chamado, o objeto de fórmula é avaliado no contexto do banco de dados ou do componente que o criou.
Exemplo 1
Para substituir todas as fórmulas de data atuais por cadeias de caracteres formatadas:
 var $_formulas : Collection
 var $find;$newFormula : Object
 
  // define a fórmula a ser encontrada
 $find:=Formula(Current date)
 
  // define a fórmula de substituição
 $newFormula:=Formula(String(Current date;System date long))
 
  // localizar todas as fórmulas no documento
 $_formulas:=WP Get formulas(WriteProArea)
 
  // consultar a coleção de WP Get formulas
 $_formulas:=$_formulas.query("formula.source =:1";$find.source)
 
  // em seguida, substituir cada fórmula
 For each($formula;$_formulas)
    WP Insert formula($formula.range;$newFormula;wk replace)
 End for each
Exemplo 2
Se quiser usar um nome de fórmula para o nome do cliente:
  //adicionar alguns dados
 $data:=New object("customer";New object("lastname"; "Smith"; "firstname"; "John"))
 WP SET DATA CONTEXT(WPArea;$data)
 
  //criar um objeto de fórmula com um nome
 $o:=New object
 $o.formula:=Formula(This.data.customer.firstname+" "+This.data.customer.lastname)
 $o.name:="Nome do cliente"
 
  //insere 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)
Resultados:
Exemplo 3
Se quiser destacar uma fórmula em amarelo:
WParea:=WP New
WP SET TEXT(WParea; "The project was completed on: "; wk append)
$range1:=WP Insert formula(WParea; Formula(Current date); wk append)
WP SET ATTRIBUTES($range1; wk background color; "yellow")
Resultados:
Veja também
Managing formulas
WP COMPUTE FORMULAS
WP FREEZE FORMULAS
WP Get formulas