Utilização de dados relacionados em portais

Quando você exibe dados relacionados em um portal, os valores de todos os registros relacionados são exibidos, estando sujeitos aos privilégios de acesso de um usuário. Por outro lado, quando um campo relacionado está fora de um portal, o valor somente do primeiro registro relacionado é exibido.

Classificar registros de portal

Para classificar registros relacionados em um portal, use a caixa de diálogo Editar relacionamento. Consulte Criação e alteração de relacionamentos. Quando a opção Classificar registros for selecionada e os dados em um campo relacionado em um portal forem alterados, os registros do portal serão classificados novamente sempre que os registros relacionados forem reavaliados. Por exemplo, os registros são classificados novamente quando você sai do registro e retorna a ele, ou quando você altera o valor no campo de correspondência. (Para controlar melhor quando a ordem de classificação é atualizada, use a Etapa de script Atualizar portal.)

A ordem de classificação especificada na caixa de diálogo Configurar portal tem precedência sobre a ordem de classificação especificada na caixa de diálogo Editar relacionamento. Se você não especificar uma ordem de classificação para o portal ou para o relacionamento, os registros relacionados são exibidos no portal na ordem em que foram criados. Consulte Criação de portais para exibir registros relacionados.

Filtro de registros nos portais

Você pode filtrar os registros para exibir diferentes conjuntos de registros relacionados em um portal.

  1. No Modo de layout, clique duas vezes no portal.
  2. Selecione Filtrar registros de portal.
  3. Defina um cálculo cujo resultado de avaliação seja True para que os registros do portal sejam exibidos.

    Por exemplo, se você estiver em um layout de Faturas, em um portal que mostra os registros de produtos de uma tabela de ItensdeLinha. Para exibir os produtos com quantidades maiores ou iguais a um, use a fórmula If (ItensdeLinha::Quantidade < 1; 0; 1).

    Importante  Os resultados dos campos de resumo, dos cálculos e das solicitações de busca baseiam-se no conjunto total de registros relacionados, não apenas nos registros filtrados de um portal. Por exemplo, se um portal estiver exibindo um subconjunto filtrado de registros e houver um campo de resumo Total de fora do portal resumindo esses registros, o campo de resumo totalizará todos os registros relacionados, e não apenas os registros exibidos. Para usar os dados dos registros filtrados do portal para um campo de resumo, cálculo ou solicitação de busca, crie um novo relacionamento usando os mesmos critérios dos registros filtrados do portal, então use os campos relacionados desse relacionamento para o campo de resumo, cálculo ou solicitação de busca.

Resumo de dados nos portais

É possível resumir dados em um campo relacionado exibido em um portal. Por exemplo, você pode obter o total de todos os registros relacionados.

Para fazer isso, coloque um campo de resumo na tabela a partir da qual os registros relacionados são exibidos (a tabela exibida na caixa de diálogo Configurar portal). Depois, coloque o campo de resumo no layout que contém o portal.

Suponha que um layout use um portal para exibir todas as vendas por vendedor e você deseja incluir um campo de resumo que exibe a quantia de vendas total.

Para resumir os dados em um portal usando esse exemplo simples:

  1. Crie duas tabelas com os seguintes campos:
  2. Nome da tabela

    Nome do campo

    Tipo de campo

    Comentário

    Vendas

    ID da transação

    Texto

    Chave primária

     

    ID do vendedor

    Texto

    Chave externa

     

    Quantia

    Número

     

     

    Total de vendas

    Resumo

    Calcula o total do campo Quantia; consulte Definição de campos de resumo

    Vendedor

    ID do vendedor

    Texto

    Chave primária

     

    Nome

    Texto

     

  3. No gráfico de relacionamentos, crie um relacionamento entre os dois campos ID do vendedor.
  4. No Modo de layout, adicione os quatro campos da tabela Vendas ao layout Vendas (se não tiverem sido adicionados automaticamente). Adicione os dois campos da tabela Vendedor ao layout Vendedor.
  5. No layout Vendedor, crie um portal que mostre os registros relacionados da tabela Vendas. Inclua os campos relacionados a seguir da tabela Vendas no portal: ID da transação, Quantia, Total de vendas.

    Você também pode posicionar o campo de resumo (Vendas::Total de vendas) em qualquer lugar do layout Vendedor. Consulte Inserção e remoção de campos em um layout.

  6. Mude para o Modo de navegação, adicione os registros a seguir à tabela Vendas:
  7. Número de registro

    Campo

    Dados

    1

    ID da transação

    T1

     

    ID do vendedor

    S1

     

    Quantia

    246,00

    2

    ID da transação

    T2

     

    ID do vendedor

    S2

     

    Quantia

    52,75

    3

    ID da transação

    T3

     

    ID do vendedor

    S1

     

    Quantia

    10,50

    4

    ID da transação

    T4

     

    ID do vendedor

    S2

     

    Quantia

    150,00

    5

    ID da transação

    T5

     

    ID do vendedor

    S1

     

    Quantia

    17,80

    O FileMaker Pro preenche o valor do campo Total de vendas.

  8. Mude para o layout Vendedor e adicione os dados a seguir:
  9. Número de registro

    Campo

    Dados

    1

    ID do vendedor

    S1

     

    Nome

    Andre Common

    2

    ID do vendedor

    S2

     

    Nome

    Sophie Tang

    O FileMaker Pro insere os valores relacionados da tabela Vendas nas linhas do portal e calcula o total de todas as vendas desse vendedor no campo de resumo Total de vendas.

Notas 

  • As opções de classificação e filtragem de portal na caixa de diálogo Configuração de portal não estão disponíveis para portais que exibem registros da tabela atual. Consulte Criação de portais para layouts lista-detalhe.
  • Você pode exibir dados de um único relacionamento em vários portais na mesma página e usar uma ordem de classificação diferente para cada portal.
  • A filtragem de registros é apenas para fins de exibição, e não para fins de segurança.
  • O resultado de um cálculo de filtro do portal seria igual ao resultado de um campo de cálculo na tabela relacionada.
  • Embora os campos dos registros de portais sejam atualizados à medida que os dados são alterados, um filtro do portal é avaliado somente quando o registro é carregado. Para atualizar a filtragem do portal depois que o registro é carregado, use a Etapa de script Atualizar portal.
  • Para obter um resumo mais complexo dos dados, use um campo de cálculo para definir uma fórmula. Consulte Definição de campos de cálculo.