Referência a valores e propriedades do objeto

A sintaxe de referência usada para acessar ou modificar propriedades e valores de objetos possui uma das seguintes formas:

Totalmente qualificada
A sintaxe de referência inclui a hierarquia total do objeto, começando com o nó raiz xfa. A sintaxe totalmente qualificada acessa precisamente a propriedade ou o valor de um objeto, independentemente do local em que está o cálculo ou o script que contém a sintaxe de referência.

Abreviada
A sintaxe de referência é reduzida devido ao posicionamento relativo do cálculo ou do script que contém a sintaxe de referência e as referências da sintaxe do objeto ou devido ao uso de atalhos. Em geral, embora seja mais rápido criar uma sintaxe de referência abreviada, a desvantagem é que ela funciona apenas enquanto o objeto permanece nas mesmas posições em relação um ao outro.

Por exemplo, esta ilustração mostra a hierarquia de um formulário de pedido de compra de amostra.

Essa ilustração mostra uma sintaxe de referência totalmente qualificada, tanto para FormCalc quanto para JavaScript, para avaliar o valor do campo txtCondition. Essa sintaxe de referência pode ser usada como parte de um cálculo ou script em qualquer objeto do formulário.

A.
Nó raiz

B.
Modelo

C.
Nó raiz do design de formulário

D.
Objeto da página

E.
Nome do subformulário

F.
Nome do objeto

G.
Nome da propriedade ou do método

Nota: Embora a sintaxe de referência seja comum ao FormCalc e ao JavaScript, é necessário observar as convenções de cada linguagem de script. Por exemplo, a sintaxe de referência no exemplo acima funciona para FormCalc; no entanto, seria necessário incluir um caractere de ponto-e-vírgula (;) no final para JavaScript.

Se os dois objetos existem no mesmo contêiner, como um subformulário, eles estão compartilhando o mesmo contexto. Quando objetos existem no mesmo contexto, é possível utilizar uma sintaxe de referência abreviada que inclua apenas o nome do objeto seguido pela propriedade ou pelo método que deseja acessar. Por exemplo, usando o exemplo acima, a próxima sintaxe de referência abreviada acessa o valor do campo txtCondition a partir de qualquer campo do subformulário total:

    txtCondition.rawValue

Se os dois objetos existem em contêineres diferentes, eles não compartilham o mesmo contexto. Nesse caso, é possível usar uma sintaxe de referência abreviada; no entanto, a sintaxe deve começar com o nome do objeto de contêiner de nível mais alto que seja comum aos dois objetos. Por exemplo, usando a hierarquia acima, a próxima sintaxe de referência abreviada acessa o valor do campo address a partir do campo do txtCondition:

    header.address.rawValue

Devido à maneira como o Modelo de objeto de formulário XML está estruturado, alguns métodos e propriedades de objeto existem nos objetos filho dos objetos do formulário. Esses objetos filho existem apenas como parte do Modelo de objeto de formulário XML e não aparecem nas paletas Hierarquia e Exibição de dados. Para acessar essas propriedades e métodos, é necessário incluir os objetos filho na sintaxe de referência. Por exemplo, a sintaxe de referência a seguir define o texto da dica de ferramenta do campo txtCondition:

    txtCondition.assist.toolTip.value = "Conditions of purchase."  // FormCalc 
    txtCondition.assist.toolTip.value = "Conditions of purchase."; // JavaScript

Para obter mais informações sobre os objetos de modelo de Objeto de formulário XML e seus estruturas, consulte Referência de script.