Compreender referências de registo e pesquisas polimórficas em aplicações de tela
Quando escreveu um trabalho de pesquisa na escola, é provável que tenha fornecido uma lista das suas referências no final. Não incluía uma cópia do material de segundo plano real utilizado, mas sim uma hiperligação Web, título de livro e autor, ou outras informações, para que alguém possa monitorizar a origem original. Misturou diferentes tipos de origens numa única lista, artigos de jornal junto de gravações de áudio, cada um com os respetivos detalhes específicos para uma citação apropriada. Por exemplo, os artigos da Wikipédia normalmente incluem uma longa lista de referências.
Em aplicações de tela, costuma trabalhar com cópias de registos transferidas a partir de origens de dados. Utilize as funções de pesquisa e filtro e a Propriedade selecionada do controlo de galeria para identificar o registo específico que pretende. Todos os registos de Filtrar ou Selecionados serão do mesmo tipo de tabela, para que possa utilizar campos com uma simples notação .Campo. Estas cópias incluem frequentemente informações de referência para que possa utilizar a função Patch para atualizar a origem original.
As aplicações de tela também suportam referências de registo. Tal como com uma referência ao trabalho de pesquisa, uma referência de registo refere-se a um registo sem incluir uma cópia completa do mesmo. Uma referência deste tipo pode referir-se a um registo em qualquer tabela. À semelhança das referências de um trabalho de investigação, pode misturar registos de diferentes tabelas numa única coluna.
Muitas operações em referências a registos são idênticas a trabalhar com registos. Pode comparar referências de registo entre si e para registos completos. Pode definir o valor de uma referência de registo com a função Patch, tal como faria uma pesquisa com um registo completo.
Há uma diferença importante de utilização: não é possível aceder diretamente aos campos de uma referência de registo sem antes estabelecer a que tabela se refere. Isto deve-se ao facto de as aplicações de tela exigirem que todos os tipos sejam conhecidos quando escrever fórmulas. Uma vez que não sabe o tipo de uma referência de registo até à aplicação estar em execução, não pode utilizar a simples notação Campo diretamente. Primeiro, tem de determinar dinamicamente o tipo de tabela com a função IsType e, em seguida, tem de utilizar a notação .Campo no resultado da função AsType.
Tipo de tabela refere-se ao esquema de cada registo numa tabela. Cada tabela tem um conjunto exclusivo de campos com diferentes nomes e tipos de dados. Cada registo da tabela herda essa estrutura; dois registos têm o mesmo tipo de tabela se forem provenientes da mesma tabela.
Nota
Pode escolher de entre muitos conectores diferentes para se ligar a diferentes tipos de origem de dados para aplicações de tela. No entanto, ao trabalhar com aplicações de tela no Power Apps Studio, as colunas no Microsoft Dataverse são referidas como campos, em semelhança a todas as outras origens de dados. O termo Coluna é apenas utilizado quando se refere a uma coluna no Dataverse. Mais informações: Atualizações de terminologia do Dataverse
Pesquisas polimórficas
Microsoft Dataverse suporta relações entre registos. Cada registo na tabela Contas tem uma coluna de pesquisa Contacto Principal para um registo na tabela Contactos. A pesquisa só pode referir-se a um registo em Contactos e não pode referir-se, por exemplo, a um registo na tabela Equipas. Este último detalhe é importante porque sabe sempre quais são as colunas que estarão disponíveis para a pesquisa.
O Dataverse também suporta pesquisas polimórficas, que podem se referir a um registo de qualquer tabela num conjunto. Por exemplo, a coluna Proprietário pode referir-se a um registo na tabela Utilizadores ou Equipas. A mesma coluna de pesquisa em diferentes registos pode referir-se a registos em diferentes tabelas. Neste caso, nem sempre se sabe que colunas estarão disponíveis.
As referências de registo de tela foram concebidas para trabalhar com pesquisas polimórficas no Dataverse. Também pode utilizar referências de registo fora deste contexto, que é o modo como os dois conceitos são diferentes.
Na secção seguinte, começará a explorar estes conceitos ao trabalhar com a pesquisa de proprietário.
Mostrar as colunas de um proprietário de registos
Todas as tabelas do Dataverse incluem uma coluna Proprietário. Esta coluna não pode ser removida, não se pode adicionar outra e requer sempre um valor.
Para mostrar esta coluna na tabela Conta:
Inicie sessão no Power Apps.
Na barra do painel esquerdo, selecione Dados > Tabelas.
Na lista de tabelas, selecione Conta.
No canto superior direito, abra a lista de filtros (definida como predefinição por predefinição) e, em seguida, selecione tudo.
Desloque-se para baixo até aparecer a coluna Proprietário.
Esta coluna de pesquisa pode referir-se a um registo da tabela Equipas ou Utilizadores. Nem todos os registos destas tabelas têm permissão de Proprietário; verifique as funções suportadas se tiver algum problema.
Este gráfico mostra uma simples galeria de Contas, onde a tabela Contas foi adicionada à aplicação como uma origem de dados:
Importante
Ao longo deste tópico, os gráficos mostram alguns nomes e outros valores que não fazem parte dos dados de exemplo fornecidos com o Dataverse. Os passos demonstram de forma precisa como configurar controlos para um resultado específico, mas a sua experiência varia consoante os dados da sua organização.
Para mostrar o proprietário de cada conta na Galeria, poderá ficar tentado a utilizar a fórmula ThisItem.Owner.Name. No entanto, o campo de nome na tabela Equipa é Nome da Equipa e o campo de nome na tabela Utilizador é Nome Completo. A aplicação não pode saber com que tipo de pesquisa está a trabalhar até executar a aplicação e pode variar entre os registos na tabela Contas.
Necessita de uma fórmula que se possa adaptar a esta variância. Também é necessário adicionar as origens de dados para os tipos de tabela em que o Proprietário pode estar (neste caso, Utilizadores e Equipas). Adicione estas três origens de dados à sua aplicação:
Com estas origens de dados em vigor, utilize esta fórmula para apresentar o nome de um utilizador ou de uma equipa:
If( IsType( ThisItem.Owner, Teams ),
"Team: " & AsType( ThisItem.Owner, Teams ).'Team Name',
"User: " & AsType( ThisItem.Owner, Users ).'Full Name' )
Nesta fórmula, a tabela IsType testa o campo Proprietário em relação à tabela Equipas. Se tiver esse tipo de tabela, a função AsType converte-o num registo de Equipa. Nesta altura, pode aceder a todos os campos da tabela Equipas, incluindo Nome da Equipa, utilizando a notação .Campo. Se IsType determinar que o Proprietário não é um registo da tabela Equipa, esse campo tem de ser um registo na tabela Utilizadores porque o campo Proprietário é obrigatório (não pode estar em branco).
Para utilizar campos de uma referência de registo, primeiro tem de utilizar a função AsType para os converter num tipo de tabela específico. Não é possível aceder diretamente aos campos do campo Proprietário porque o sistema não sabe que tipo de tabela pretende utilizar.
A função AsType devolve um erro se o campo Proprietário não corresponder ao tipo de tabela que está a ser solicitado, por isso pode utilizar a função IfError para simplificar esta fórmula. Em primeiro lugar, ative a funcionalidade experimental Gestão de erros no nível de fórmulas:
Em seguida, substitua a fórmula anterior por esta:
IfError(
"Team: " & AsType( ThisItem.Owner, Teams ).'Team Name',
"User: " & AsType( ThisItem.Owner, Users ).'Full Name' )
Filtrar com base num proprietário
Parabéns: concluiu o aspeto mais difícil de trabalhar com uma referência a um registo. Outros casos de utilização são mais simples porque não acedem a campos do registo. Como um incidente no ponto, faça a filtragem, que irá explorar nesta secção.
Adicione um controlo de caixa de combinação acima da galeria e defina estas propriedades do novo controlo:
- Itens:
Users
- SelectMultiple:
false
Para filtrar a galeria por um utilizador específico selecionado a partir desta caixa de combinação, defina a Propriedade itens da Galeria como esta fórmula:
Filter( Accounts, Owner = ComboBox1.Selected )
Importante
As instruções existentes neste tópico são precisas se seguirem exatamente os passos. No entanto, qualquer fórmula que faça referência a um controlo pelo respetivo nome falhará se o controlo tiver um nome diferente. Se eliminar e adicionar um controlo do mesmo tipo, o número no final do nome do controlo é alterado. Para qualquer fórmula que mostre um erro, confirme que contém os nomes corretos de todos os controlos.
Não é necessário utilizar IsType ou AsType porque está a comparar referências de registo com outras referências de registo ou a registos completos. A aplicação conhece o tipo de tabela de ComboBox1.Selected porque é derivado da tabela Utilizadores. As contas para as quais o proprietário é uma equipa não correspondem ao critério de filtro.
Pode ser um pouco mais visionário ao suportar a filtragem por um utilizador ou uma equipa.
Coloque algum espaço perto da parte superior do ecrã, redimensione a galeria e mova a caixa de combinação, introduza um controlo de rádio sobre a galeria e, em seguida, defina estas propriedades para o novo controlo:
- Itens:
[ "All", "Users", "Teams" ]
- Esquema:
Layout.Horizontal
- Itens:
Para o controlo de caixa de combinação, defina esta propriedade (se a caixa de combinação desaparecer, selecione utilizadores no controlo do rádio):
- Visível:
Radio1.Selected.Value = "Users"
- Visível:
Copie e cole o controlo de caixa de combinação, mova a cópia diretamente sobre o original e, em seguida, defina estas propriedades para a cópia:
- Itens:
Teams
- Visível:
Radio1.Selected.Value = "Teams"
A aplicação irá apresentar apenas uma caixa de combinação de cada vez, consoante o estado do controlo do rádio. Visto que estão diretamente acima uns dos outros, parecerão ser os mesmos controles que alteram o respetivo conteúdo.
- Itens:
Finalmente, defina a propriedade Itens do controlo Galeria para esta fórmula:
Filter( Accounts, Radio1.Selected.Value = "All" Or (Radio1.Selected.Value = "Users" And Owner = ComboBox1.Selected) Or (Radio1.Selected.Value = "Teams" And Owner = ComboBox1_1.Selected) )
Com estas alterações, pode mostrar todos os registos ou filtrá-los com base num utilizador ou numa equipa:
A fórmula é totalmente delegável. A parte que está a comparar os valores do botão de opção é uma constante em todos os registos e é avaliada antes de o resto do filtro ser enviado para o Dataverse.
Se pretender filtrar com base no tipo de proprietário, pode utilizar a função IsType, mas ainda não está delegável.
Atualizar o proprietário utilizando o Patch
Pode atualizar o campo de proprietário da mesma forma que qualquer outra pesquisa. Para definir o proprietário da conta atualmente selecionado na primeira equipa:
Patch( Accounts, Gallery1.Selected, { Owner: First( Teams ) } )
Esta abordagem não difere de uma pesquisa normal porque a aplicação sabe o tipo de primeiro (Equipas). Se pretender o primeiro utilizador, substitua essa parte pelo primeiro (utilizadores). A função Patch sabe que o campo Proprietário pode ser definido para qualquer um destes dois tipos de tabela.
Para adicionar esta capacidade à aplicação:
No painel vista de árvore, selecione o controlo do rádio e os dois controlos de caixa de combinação ao mesmo tempo.
No menu de reticências, selecione copiar estes itens.
No mesmo menu, selecione Colar.
Mover os controlos copiados à direita da galeria.
Selecione o controlo de rádio copiado e, em seguida, altere estas propriedades:
- Itens:
[ "Users", "Teams" ]
- Predefinição:
If( IsType( Gallery1.Selected.Owner, Users ), "Users", "Teams" )
- Itens:
No controlo do rádio, selecione utilizadores para que o controlo de caixa de combinação que lista os utilizadores fique visível.
Selecione o controlo de caixa de combinação visível e, em seguida, defina a Propriedade DefaultSelectedItems como esta fórmula:
If( IsType( Gallery1.Selected.Owner, Users ), AsType( Gallery1.Selected.Owner, Users ), Blank() )
No controlo do rádio, selecione Equipas para que o controlo de caixa de combinação que lista as equipas fique visível.
Selecione o controlo do rádio fora do controlo da agora invisível caixa de combinação para os utilizadores.
Selecione o controlo de caixa de combinação para equipas visível e, em seguida, defina a sua propriedade DefaultSelectedItems como esta fórmula:
If( IsType( Gallery1.Selected.Owner, Teams ), AsType( Gallery1.Selected.Owner, Teams ), Blank() )
Inserir um controlo de botão, movê-lo sob o controlo de caixa de combinação e, em seguida, definir a propriedade de texto do botão como
"Patch Owner"
.Defina a propriedade OnSelect do botão como esta fórmula:
Patch( Accounts, Gallery1.Selected, { Owner: If( Radio1_1.Selected.Value = "Users", ComboBox1_2.Selected, ComboBox1_3.Selected ) } )
Os controlos de rádio e caixa de combinação copiados mostram o proprietário da conta selecionada atualmente na galeria. Com os mesmos controlos, pode definir o proprietário da conta para qualquer equipa ou utilizador selecionando o botão:
Mostrar o proprietário utilizando um formulário
Pode mostrar um campo de proprietário dentro de um formulário adicionando um cartão personalizado. A partir desta escrita, não pode alterar o valor do campo com um controlo de formulário.
Inserir um controlo de formulário de edição e, em seguida, redimensioná-lo e movê-lo para o canto inferior direito.
No separador propriedades perto do lado direito do ecrã, abra a lista origem de dados e, em seguida, selecione Contas.
Definir a propriedade Item do formulário como
Gallery1.Selected
.No separador Propriedades perto do lado direito do ecrã, selecione Editar campos.
No painel Campos, selecione as reticências e, em seguida, selecione Adicionar um cartão personalizado.
A nova placa é apresentada na parte inferior do controlo de formulário.
Redimensione o cartão como seja necessário para mostrar todo o texto.
Inserir um controlo de etiqueta no cartão personalizado e, em seguida, definir a propriedade de texto da etiqueta para a fórmula utilizada na Galeria:
If( IsType( ThisItem.Owner, Teams ), "Team: " & AsType( ThisItem.Owner, Teams ).'Team Name', "User: " & AsType( ThisItem.Owner, Users ).'Full Name' )
Para cada seleção na Galeria, mais campos da conta, incluindo o proprietário do registo, aparecem no formulário. Se alterar o proprietário utilizando o botão Patch, o controlo de formulário também mostra essa alteração.
Mostrar as colunas de um cliente
No Dataverse, a coluna de pesquisa Cliente é outra pesquisa polimórfica que é muito semelhante ao Proprietário.
A coluna Proprietário está limitada a uma por tabela, mas as tabelas podem incluir zero, uma ou mais colunas de pesquisa Cliente. A tabela do sistema Contactos inclui a coluna Nome da Empresa, que é uma coluna de pesquisa Cliente.
Pode adicionar mais colunas de pesquisa Cliente a uma tabela selecionando o tipo de dados Cliente para uma nova coluna.
Um campo de pesquisa Cliente pode referir-se a um registo da tabela Contas ou Contactos. Irá utilizar as funções IsType e AsType com estas tabelas, como tal agora é uma boa altura para as adicionar como origens de dados (pode deixar Equipas e Utilizadores no seu lugar).
O tratamento dos campos cliente e proprietário é tão semelhante que pode copiar literalmente a aplicação (Ficheiro > Guardar como e, em seguida, especificar um nome diferente) e efetuar estas recolocações simples:
Localização | Exemplo de proprietário | Exemplo de cliente |
---|---|---|
Ao longo | Proprietário | "Nome do cliente" |
Ao longo | Utilizadores | Contas |
Ao longo | Equipas | Contactos |
Propriedade Itens da galeria | Contas | Contactos |
Propriedade Itens do formulário | Contas | Contactos |
O primeiro argumento do patch Na propriedade OnSelect do botão |
Contas | Contactos |
Filtrar propriedade itens do rádio | [ "Todos", "Utilizadores", "Equipas" ] | [ "Todos", "Contas", "Contactos" ] |
Propriedade itens do patch do rádio | [ "Utilizadores", "Equipas" ] | [ "Contas", "Contactos" ] |
Propriedade visível da caixa de combinação | "Utilizadores" e "Equipas" | "Contas" e "Contactos" |
Por exemplo, a nova galeria deve ter esta propriedade de itens:
Filter( Contacts,
Radio1.Selected.Value = "All"
Or (Radio1.Selected.Value = "Accounts" And 'Company Name' = ComboBox1.Selected)
Or (Radio1.Selected.Value = "Contacts" And 'Company Name' = ComboBox1_1.Selected)
)
Duas diferenças importantes entre o Cliente e o proprietário requerem uma atualização das fórmulas existentes na galeria e no formulário:
As relações um-para-muitos entre Contas e Contactos têm precedência quando se refere a estes tipos de tabela por nome. Em vez de contas, utilizar [@contas]; em vez de contactos, utilizar [@contactos]. Ao utilizar o operador global de desambiguação, certifique-se de que se refere ao tipo de tabela em IsType e AsType. Este problema só existe no contexto do registo da galeria e dos controlos de formulário.
O campo de proprietário deve ter um valor, mas os campos de cliente podem ficar em branco. Para mostrar o resultado correto sem um nome de tipo, teste para este caso com a função IsBlank e , em vez disso, mostre uma cadeia de texto vazia.
Ambas as alterações encontram-se na mesma fórmula, que é apresentada no cartão personalizado no formulário, bem como na propriedade Texto do controlo etiqueta da Galeria:
If( IsBlank( ThisItem.'Company Name' ), "",
IsType( ThisItem.'Company Name', Accounts ),
"Account: " & AsType( ThisItem.'Company Name', Accounts ).'Account Name',
"Contact: " & AsType( ThisItem.'Company Name', Contacts ).'Full Name'
)
Com estas alterações, pode ver e alterar o campo Nome da Empresa na tabela Contactos.
Compreender colunas de pesquisa Relativo a
A coluna de pesquisa Relativo a difere um pouco das colunas com as quais já trabalhou neste tópico. Começará por aplicar os padrões que este tópico descreveu anteriormente e, em seguida, irá aprender outros truques.
Pode começar simplesmente com a tabela Faxes. Esta tabela tem uma coluna de pesquisa Relativo a polimórfica, que pode referir-se a Contas, Contactos e outras tabelas. Pode utilizar a aplicação para os clientes e modificá-la para faxes.
Localização | Exemplo de cliente | Exemplo de faxes |
---|---|---|
Ao longo | "Nome do cliente" | Relativo a |
Propriedade Itens da galeria | Contactos | Faxes |
Propriedade Itens do formulário | Contactos | Faxes |
O primeiro argumento do patch Na propriedade OnSelect do botão |
Contactos | Faxes |
Novamente, terá de adicionar uma origem de dados: desta vez para Faxes. No separador Ver, selecione Origens de dados:
Uma diferença importante de Sobre é que não se limita a contas e contactos. Na verdade, a lista de tabelas é extensível com tabelas personalizadas. A maior parte da aplicação pode acomodar este ponto sem modificação, mas tem de atualizar a fórmula para a etiqueta na galeria e o formulário:
If( IsBlank( ThisItem.Regarding ), "",
IsType( ThisItem.Regarding, Accounts ),
"Account: " & AsType( ThisItem.Regarding, Accounts ).'Account Name',
IsType( ThisItem.Regarding, Contacts ),
"Contacts: " & AsType( ThisItem.Regarding, Contacts ).'Full Name',
""
)
Depois de efetuar estas alterações, tem de trabalhar com a pesquisa Sobre tal como fizeram as pesquisas proprietário e Cliente.
Compreender as relações Sobre
Sobre difere de proprietário e cliente porque o primeiro envolve uma relação de muitos para um. Por definição, uma relação reversa, um-para-muitos permite-lhe escrever primeiro (contas). Faxes.
Vamos recuar e ver as definições de tabela. No Dataverse, as tabelas como Faxes, Tarefas, E-mails, Notas, Chamadas Telefónicas, Cartas e Chats são designadas como atividades. Também pode criar as suas próprias tabelas de atividade personalizada. Quando vê ou cria uma tabela de atividades, as suas definições são apresentadas em Mais definições.
Outras tabelas podem estar relacionadas com uma tabela de atividades se estiverem ativadas como uma tarefa de atividade nas definições da tabela. Contas, Contactos e muitas outras tabelas padrão são designadas desse modo (de novo, sob Mais definições).
Todas as tabelas de atividade e tabelas de tarefas de atividade têm uma relação implícita. Se alterar o filtro para Tudo na parte superior do ecrã, selecione a tabela Faxes e, em seguida, selecione o separador Relações. São apresentadas todas as tabelas que podem ser alvo de uma pesquisa Relativo a.
Se mostrar as relações para a tabela Contas, são apresentadas todas as tabelas que podem ser uma origem de um campo de pesquisa Relativo a .
Qual é o significado disto?
- Quando escreve fórmulas, tem de considerar que a lista de tabelas de atividades não é fixa e pode criar as suas próprias tabelas. A fórmula tem de processar corretamente uma tabela de atividades que não esperava.
- As tarefas e atividades de atividade têm uma relação um-para-muitos. Pode pedir facilmente para todos os faxes que estejam relacionados com uma conta.
Para explorar este conceito na aplicação:
Adicionar outra ecrã.
Inserir um controlo Galeria, redimensioná-lo e, em seguida, movê-lo para o lado esquerdo do ecrã.
No separador Propriedades, perto do lado direito do ecrã, defina a propriedade Itens da galeria como Contas.
Defina o esquema da galeria como título e, em seguida, defina o campo de título como nome da conta.
Adicione uma segunda galeria, redimensione-a e, em seguida, mova-a para o lado direito do ecrã.
Defina a nova propriedade Itens da galeria como
Gallery2.Selected.Faxes
.Este passo devolve a lista filtrada de faxes para uma determinada conta.
Defina o esquema da galeria para título e subtítulo e, em seguida, defina o campo de título para mostrar o campo de assunto (que poderá ser o assunto em minúsculas).
À medida que seleciona um item na lista de contas, a lista de faxes mostra faxes apenas para essa conta.
Tabela de atividades
Tal como a secção anterior descreve, pode mostrar todos os faxes relativos a uma conta. No entanto, também pode mostrar todas as atividades de uma conta, incluindo faxes, mensagens de correio eletrónico, chamadas telefónicas e outras interações.
Para este último cenário, utilize a tabela Atividade. Pode mostrar esta tabela ativando Tudo no canto superior direito para remover o filtro da lista de tabelas.
A tabela Atividade é especial. Sempre que adiciona um registo à tabela Faxes, o sistema também cria um registo na tabela Atividade com as colunas que são comuns em todas as tabelas de atividade. Dessas colunas, Assunto é uma das mais interessantes.
Pode mostrar todas as atividades alterando apenas uma linha no exemplo anterior. Substituir Gallery2.Selected.Faxes
por Gallery2.Selected.Activities
.
Os registos são provenientes da tabela Atividade, mas, no entanto, pode utilizar a função IsType para identificar que tipo de atividade são. Mais uma vez, antes de utilizar IsType com um tipo de tabela, tem de adicionar a origem de dados.
Utilizando esta fórmula, pode mostrar o tipo de registo num controlo de etiqueta na galeria:
If( IsType( ThisItem, Faxes] ), "Fax",
IsType( ThisItem, 'Phone Calls' ), "Phone Call",
IsType( ThisItem, 'Email Messages' ), "Email Message",
IsType( ThisItem, Chats ), "Chat",
"Unknown"
)
Também pode utilizar AsType para aceder aos campos do tipo específico. Por exemplo, esta fórmula determina o tipo de cada atividade e, para chamadas telefónicas, mostra o número de telefone e a direção de chamada da tabela Números de telefone:
If( IsType( ThisItem, Faxes ), "Fax",
IsType( ThisItem, 'Phone Calls' ),
"Phone Call: " &
AsType( ThisItem, 'Phone Calls' ).'Phone Number' &
" (" & AsType( ThisItem, 'Phone Calls' ).Direction & ")",
IsType( ThisItem, 'Email Messages' ), "Email Message",
IsType( ThisItem, Chats ), "Chat",
"Unknown"
)
Como resultado, a aplicação mostra uma lista completa de atividades. O campo assunto é apresentado para todos os tipos de atividades, quer a fórmula as leve em conta ou não. Para os tipos de atividade sobre as quais tem conhecimento, pode mostrar os nomes dos tipos e as informações específicas de tipo sobre cada atividade.
Tabela Notas
Até agora, todos os exemplos Relativo a basearam-se em atividades, mas a tabela Notas representa outro caso.
Quando cria uma tabela, pode ativar os anexos.
Se selecionar a caixa de verificação para ativar anexos, irá criar uma relação Relativo a com a tabela Notas, conforme este gráfico o mostra para a tabela Contas:
A não ser esta diferença, utiliza a pesquisa Sobre mesma forma como utiliza atividades. As tabelas que são ativadas para anexos têm uma relação um-para-muitos com Notas, conforme neste exemplo:
First( Accounts ).Notes
Nota
A partir da redação deste documento, a pesquisa Relativo a não está disponível para a tabela Notas. Não é possível ler ou filtrar com base na coluna Relativo a e não pode definir a coluna utilizando o Patch.
No entanto, a relação inversa de Notas um-para-muitos está disponível, pelo que pode filtrar uma lista de notas para um registo que esteja ativado para anexos. Também pode utilizar a função Relacionar para adicionar uma nota à tabela Notas do registo, mas a nota tem de ser criada primeiro, tal como neste exemplo:
Relate( ThisItem.Notes, Patch( Notes, Defaults( Notes ), { Title: "A new note" } ) )
Partes de atividade
Desde a elaboração deste documento, as aplicações de tela não suportam partes de atividade.
Nota
Pode indicar-nos as suas preferências no que se refere ao idioma da documentação? Responda a um breve inquérito. (tenha em atenção que o inquérito está em inglês)
O inquérito irá demorar cerca de sete minutos. Não são recolhidos dados pessoais (declaração de privacidade).