Configurar os cálculos da janela

Existem duas etapas para configurar uma janela dinâmica:

  • Crie um cálculo que retorna uma Função de Janela em um atributo no Designer de Objeto
  • Design a janela para executar o cálculo usando Gerenciador de Janelas

Os dois procedimentos a seguir demonstram como fazer com que o campo de Impacto na janela do Incidente obrigatório se o campo de Urgência é concluído. Você usa técnicas semelhantes para as outras Funções de Janela. Exemplo de cálculos adicionais são dadas mais tarde.

Para criar o cálculo:
  1. Inicie o Designer de objeto e abra o objeto para a janela.
    Em nosso exemplo, isto é Gerenciamento de incidentes\Incidentes.
  2. Crie um novo atributo de string com Comp.máx. definido como -1 para armazenar o cálculo.

Recomendamos que os nomes de seus atributos de cálculo inicie com DynamicWindow, para torná-los mais fáceis de encontrar nos designers.

  1. Definir o Tipo de Cálculo do novo atributo para Cálculo de Janela.
    A caixa de diálogo Editar fórmula é exibida.
  2. Desmarque a caixa de seleção Detectar dependências automaticamente.
    Definiremos as dependências nós mesmos.
  3. Criar um cálculo que define o Valor para ": SetMandatory (attribute, True)".
    No nosso exemplo, para fazer o atributo de Impacto obrigatório, digite o seguinte cálculo:
Copiar
import System
static def GetAttributeValue(Incident):
    Value = ":SetMandatory(_Impact, True);"
    return Value

O exemplo de cálculo usados não é aquele que você usaria em um sistema vivo. Embora faça Impacto obrigatório se o campo de Urgência é concluído, ele não manipula a redefinição do campo se o campo de Urgência é alterado novamente mais tarde. Este exemplo é incluído apenas como parte de demonstrar os procedimentos para configuração de janelas dinâmicas. O cálculo mais completo é descrito mais tarde.

As linhas que começam com Value e return no exemplo acima tem um recuo simples. Se você copiar exemplos daqui, certifique-se de que os recuos corretos sejam mantidos quando você colá-los no editor de cálculo.

:SetMandatory usa o nome do atributo somente. Não inclua o nome do objeto (por exemplo, não use Incident._Impact). Lembre-se que se o atributo não era um atributo do sistema, ele vai começar com um sublinhado (por exemplo, _Impact).

Você pode atualizar vários atributos alvo, separando-os por ponto e vírgula. Por exemplo:
Value = “:SetMandatory(attribute1,True);:SetMandatory(attribute2,False);”

  1. Arraste o atributo que faz com que o cálculo seja executado a partir da árvore de Atributos para o painel Dependências.
    Para nosso exemplo, arraste Urgência de Incidentes. Note que o nome do banco de dados interno para o atributo – _IncidentUrgency – aparece no painel de Dependências.
  2. Clique em OK.
    A janela Editar fórmula é fechada.
  3. Clique em .
    As alterações ao objeto são salvas.

Agora que você criou o cálculo que define o campo como obrigatório, você pode configurar a janela para usá-lo.

Para configurar a janela:
  1. No Gerenciador de janelas, abra a janela desejada.
    Em nosso exemplo, isto é janela de incidentes.
  2. Adicione o atributo calculado que você criou acima sobre a janela.

O atributo deve ser adicionado à janela, mas pode ser ocultado por configurar a propriedade ShowOnWindow para False. Recomendamos que você defina ShowOnWindow como Verdadeiro enquanto você design e testa o cálculo.

  1. Selecione o controle que você deseja usar para acionar o cálculo.
    Este é o atributo que você adicionou para o painel de Dependências no cálculo. Em nosso exemplo, isto é Urgência.
  2. Na grade Propriedades para o controle, defina É calculado na mudança como Verdadeiro.
  3. Salve as alterações da janela.

Quando um usuário seleciona uma Urgência na janela do incidente, o cálculo é acionado e o valor do atributo calculado é definido como :SetMandatory(_Impact, True);. Isso então torna o campo Impacto a ser obrigatório.