Ir para o conteúdo

Dados Não Vinculativos Compartilhados Entre Painéis

Em App Builder é possível compartilhar dados entre dois Painéis sem precisar criar uma junção cruzada nos bastidores no Objeto de Negócios. Este artigo abordará um exemplo de configuração de dados não vinculativos compartilhados entre Painéis, aproveitando o Shared() função.

Neste exemplo, temos uma lista de Projetos e uma lista de Funcionários e queremos atribuir um Funcionário a um Projeto simplesmente clicando em um botão da lista. Neste exemplo, um Projeto tem um Título e um Funcionário tem um Nome Completo. Após concluir o exercício de exemplo, nossa página ficará assim:

Shareddata

Etapa 1: Atualizar a Regra do Painel de Funcionários

Nesta etapa, atualizaremos a Regra de Negócios que dá suporte ao painel Employee para adicionar uma nova Coluna que aproveita a função Shared. Por exemplo: adicione uma coluna a Employee (Source) usando o valor shared('ProjectID'), Alias como ProjectID e Cast the Logical como Unique ID.

Etapa 2: Crie uma Regra de CRUD Cram

Nesta etapa, criaremos uma Regra CRUD Cram com as tabelas Employee e Project, para inserir o Employee selecionado no Project usando a função Shared.

A Regra CRUD terá a Ação de Cram e alavancará as tabelas Employee (E) e Project (P).

Colunas para configurar para a Regra:

  • E. EmployeeID tem como alvo o EmployeeID
  • P.ProjectID tem como alvo o ProjectID
  • NEWUUID() tem como alvo o ProjectEmployeeID

Etapa 3: Adicione a Regra CRUD a uma Ação no Objeto de Negócios do Funcionário

Nesta etapa, adicionaremos a Regra CRUD Cram a uma Ação para um Evento Personalizado que criaremos chamado "AssignEmployee". Defina o Escopo de Atualização como Global. Associe este Evento ao Objeto de Negócios do Funcionário.

Para que isso funcione corretamente, precisaremos configurar dois registros de Vinculação para a Ação.

  1. EmployeeID para EmployeeID
  2. ProjectID para ProjectID

Etapa 4: Adicione o Evento a um Botão

Nesta etapa, adicionaremos o Evento Personalizado AssignEmployee criado na etapa 2 a um Controle de Botão chamado "Assign" que adicionaremos ao Painel de Funcionários na página.

Etapa 5: Configurar a Vinculação do Painel

Nesta etapa, compartilhe o ProjectID por meio do Panel Binding, certificando-se de que o Employee Panel e o Project Assigned Employees estejam vinculados aos Projects. Você precisará adicionar informações de Binding Columns, que são vinculadas regularmente por padrão, então você selecionará inicialmente uma Column aleatória para o Child (Current) Panel e o ProjectID desejado como Parent.

Após adicionar as informações do Binding Panel, selecione e abra o registro Binding Columns e altere o valor Type para Shared.

Isso limitará as informações do resultado somente ao valor da Parent Column que você deseja compartilhar, que é o ProjectID neste exemplo. Clique em Save.

Agora, quando você atualizar a Page e clicar no botão Assign no Employees Panel, verá o Employee selecionado ser adicionado ao Selected Project no Project Assigned Employees Panel resultante. Observe que isso é feito sem precisar criar uma Cross Join no Employee Business Object. Cross Joins podem utilizar muitos recursos e, às vezes, tornar o processamento do aplicativo lento.

Nota

Dependendo do caso de uso, ou da frequência com que uma Coluna Compartilhada é usada em Ações, também é possível adicionar o valor Compartilhado a uma seleção de Coluna de Objeto de Negócio ou usá-lo em instruções Where.