Usar argumentos em uma ação de função de fórmula

As ações de função de fórmula são atalhos para fórmulas que são usadas várias vezes em um relatório ou em vários relatórios. Você pode especificar um ou mais argumentos de uma função de fórmula. Isso pode ser útil se, por exemplo, um relatório contiver várias instâncias semelhantes, mas não idênticas, de uma fórmula. Em vez de especificar a fórmula inteira para cada instância, você pode especificar o nome da fórmula e o valor dos argumentos.

Este exemplo usa o recurso em um cenário mais simples do que você normalmente usaria.

Este exemplo usa uma variável global chamada _test, com este conteúdo:

<Table><Row name="[Product]"><Property name="unique" value="[Product].[All Tires].[Car Tires All Season]" /><Property name="caption" value="[Car Tires All Season]" /></Row></Table>

Para recuperar os valores Unique e Caption da variável, é possível usar estas duas funções GETPROPERTY:

=GETPROPERTY(GlobalVariables._test.Text,"[product]","unique")
=GETPROPERTY(GlobalVariables._test.Text,"[product]","caption")

Este exemplo demonstra como simplificar a especificação dessas fórmulas.

  1. Clique com o botão direito do mouse na raiz do catálogo de relatórios e selecione Ações.
  2. Clique em Adicionar ação. Especifique myget como o nome da ação e selecione Função de fórmula como o modo.
  3. Especifique property como o valor da entrada de argumentos da Fórmula.
  4. Especifique esta função como o valor do parâmetro Resultado da fórmula: =GETPROPERTY(GlobalVariables._test.Text,"[product]",Actions.property.Text)
    As variáveis de ação local são criadas automaticamente para cada argumento de uma função de fórmula que você especifica. Na caixa de diálogo Editar valor, a variável de ação local property fica disponível no nó Ações, na guia Variáveis.
  5. Em um relatório, selecione Inserir > Função. Na caixa de diálogo Inserir função, selecione myget na categoria Ação das funções.
    O relatório exibe =MYGET(property).
  6. Especifique =MYGET("unique").
    A célula exibe [product].[all tires].[car tires all season].