Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com |
|||||||||||||||||||||||||||||||||||
|
4D v20 R7
Gestão de fórmulas
|
Sintaxe de Formula | Tipo | Descrição |
This .title | Text | Titulo definido no atributo wk title |
This .author | Text | Autor definido no atributo wk author |
This .subject | Text | Tema definido no atributo wk subject |
This .company | Text | Empresa definida no atributo wk company |
This .notes | Text | Notas definidas no atributo wk notes |
This .dateCreation | Date | Data criada definida no atributo wk date creation |
This .dateModified | Date | Modificação de Data definida no atributo wk date modified |
This .pageNumber | Longint | Número de página como definida:
Esta fórmula é sempre dinâmica, não é afetada pelo comando WP FREEZE FORMULAS. |
This .pageCount | Longint | Contagem de páginas: contagem total de páginas. Esta expressão é sempre dinâmica, não é afetada pelo comando WP FREEZE FORMULAS. |
This .document | Object | documento 4D Write Pro |
(*) Importante: This .pageNumber e This .pageCount devem ser utilizadas só diretamente em uma fórmula 4D Write Pro (devem estar presentes na string formula.source). Devolverão valores incorretos se são utilizados pela linguagem 4D dentro de um método chamado pela fórmula. Entretanto, podem ser passadas como parâmetros a um método chamado diretamente pela fórmula:
Por exemplo, para inserir o número de página na área de rodapé:
$footer:=WP Get footer(4DWP;1)
WP INSERT FORMULA($footer;Formula(This.pageNumber);wk append)
//Utilizando Formula(myMethod) com myMethod processando This.pageNumber
//não funcionaria corretamente
Nota de compabilidade: Variáveis Existentes $wp_ em documentos das versões anteriores a 4D v18 R2 são ainda compatíveis e avaliadas.
Data
Quando o comando Current date, uma variável data, ou um método que retornar uma data, for inserido em uma fórmula, vai automaticamente ser transformado em texto usando o formato system date short.
Hora
Quando o comando Current time, uma variável hora, ou um método retornando uma hora for inserido em uma fórmula, deve ser delimitado com o comando String porque o tipo hora não é compatível com JSON. Conside os exemplos abaixos de fórmulas:
// Este código é a melhor prática
$formula1:=Formula(String(Current time)) //OK
// Este código funciona mas não é recomendado, exceto depois de "Edit formula"
$formula2:=Formula from string("String(Current time)") //OK
// Código errado porque valores hora serão exibidos como longint para segundos (ou milissegundos), não como hora
$formula3:=Formula from string("Current time") //NAO é válido
$formula4:=Formula(Current time) //NAO é válido
Expressões tabela e campo inseridas em documentos 4D Write Pro são compatíveis com a definição de estrutura virtual do banco de dados. A estrutura virtual exposta à fórmulas é definida com os comandos SET FIELD TITLES(...;*) e SET TABLE TITLES(...;*).
Quando uma estrutura virtual for definida:
Nota: Quando um documento for exibido em modo "display expressions", referências a tabelas ou campos que não pertencem à estrutura virtual são exibidas com caracteres "?", por exemplo [VirtualTableName]? quando o campo não for definido na estrutura virtual.
Pode controlar como as fórmulas são exibidas em documentos:
Como padrão, as fórmulas 4D são mostradas como valores. Quando inserir uma fórmula 4D, 4D Write Pro calcula e mostra seu valor atual. Se quiser saber que fórmula é mostrada, deve ser mostrada como uma referencia.
Para mostrar as fórmulas como referencias, pode:
Quando as fórmulas são mostradas como referencias, o texto fonte da fórmula aparece em seu documento, com um fundo cinza por padrão (pode personalizar-se utilizando o selector wk formula highlight).
Por exemplo, se inserir a data atual junto com um formato, a data é mostrada:
Se mostrar as fórmulas como referencias, a referencia é mostrada:
Quando as fórmulas são mostradas como referencias, por padrão o texto fonte da fórmula aparece em seu documento, com um fundo cinza por padrão (pode ser personalizado utilizando o selector wk formula highlight).
Por exemplo, se inseriu a data atual junto com um formato, a data se mostra:
Se mostrar as fórmulas como referencias, a fonte da fórmula se mostra:
Por padrão, quando são mostradas as referências às fórmulas, o texto fonte da fórmula se escreve no documento. Quando se trabalhar com modelos sofisticados que utilizam tabelas, por exemplo, e quando as fórmulas fonte são complexas, o design poderia ser confuso:
Neste caso, pode mostrar as referências às fórmulas como símbolos , para que o documento seja mais fácil de ler:
Para mostrar as referências de fórmula como símbolos, pode:
Sempre é possível obter o texto fornte de uma fórmula em um conselho que se mostra ao passar o mouse sobre o símbolo:
Nota: o conselho está realmente disponivel seja como o modo de visualização da fórmula.
Pode atribuir nomes às fórmulas, fazendo com que os documentos modelo 4D Write Pro sejam mais fáceis de ler e comprender para os usuários finais. Quando as fórmulas são mostradas como referencias (e não como símbolos) e forem definidos um nome para uma fórmula, se mostra o nome da fórmula.
Por exemplo, as seguintes referencias de fórmulas são mostradas como texto fonte por padrão:
Se atribuir nomes de fórmula, é mostrada ao invés de textos:
Para atribuir um nome a uma fórmula, deve utilizar o comando WP INSERT FORMULA com um parâmetro objeto. Por exemplo:
//insere o día anterior no documento
$o:=New object("formula";Formula(Current date-1);"name";"Yesterday")
$range:=WP Text range(WPArea;wk start text;wk end text)
WP INSERT FORMULA($range;$o;wk append)
Nota: só as fórmulas online podem ter um nome (as fórmulas para imagens ancoradas, línhas de ruptura e as fórmulas de fontes de dados de tabelas não podem ter nomes).
Qualquer que seja o modo de exibição de fórmula, pode obter informação adicional sobre as fórmulas através de dicas que são exibidas quando passar o mouse sobre as fórmulas.
Download HDI database
Utilizar os comandos do tema Texto com estilo
Produto: 4D
Tema: Gestão de fórmulas
Criado por: 4D v16
Modificado: 4D v17 R4
Modificado: 4D v18 R2
Renomear: 4D v18 R2
Modificado: 4D v20 R2
Modificado: 4D v20 R3
Referência 4D Write Pro ( 4D v20 R7)