Personalizar definições de tabela

Ao definir ou alterar as definições de tabela, você pode controlar os recursos de uma tabela. Para exibir as definições de tabela para seu ambiente, use o navegador de metadados. Procure definições de tabela em seu ambiente.

Este artigo explica como trabalhar com tabelas programaticamente. Para trabalhar com tabelas em Power Apps, consulte Tabelas no Dataverse.

Você pode criar tabelas usando o SDK para .NET, o SDK do Dataverse para Python ou a API Web. As informações a seguir se aplicam aos três métodos.

Método Interface Saiba mais
Web API Tipo de entidade EntityMetadata Criar e atualizar definições de tabela usando a API Web
SDK para .NET Classe EntityMetadata Criar uma tabela personalizada usando código
Recuperar, atualizar e excluir tabelas
SDK do Dataverse para Python client.tables Usar metadados para personalizar tabelas e colunas

Criar, recuperar, atualizar e excluir definições de tabela

Como você trabalha com definições de tabela depende de qual serviço você usa.

Message Web API SDK do .NET SDK para Python
CreateEntity Use uma solicitação POST para enviar dados para criar uma tabela. Classe CreateEntityRequest Use client.tables.create para criar uma tabela personalizada e, opcionalmente, suas colunas.
DeleteEntity Use uma solicitação DELETE para excluir uma tabela. Classe DeleteEntityRequest Use client.tables.delete para excluir uma tabela personalizada.
RetrieveAllEntities Use GET a solicitação para recuperar dados da tabela. Classe RetrieveAllEntitiesRequest Use client.tables.list para listar definições de tabela.
RetrieveEntity Função RetrieveEntity Classe RetrieveEntityRequest Use client.tables.get para recuperar uma definição de tabela.
UpdateEntity Use uma solicitação PUT para atualizar uma tabela. Classe UpdateEntityRequest Não há suporte atualmente. O SDK para Python não fornece um método de atualização de tabela.
RetrieveMetadataChanges
Usado junto com objetos no namespace Metadata.Query para criar uma consulta para recuperar e detectar alterações com eficiência em definições de tabela específicas. Mais informações: definições de esquema de consulta.
Função RetrieveMetadataChanges Classe RetrieveMetadataChangesRequest Não há suporte atualmente. O SDK para Python não fornece uma maneira de invocar essa função.

Opções disponíveis ao criar uma tabela personalizada

A lista a seguir descreve as opções disponíveis ao criar uma tabela personalizada. Você só pode definir essas propriedades ao criar uma tabela personalizada.

Opção Descrição
Criar como atividade personalizada Crie uma tabela que seja uma atividade definindo a IsActivity propriedade ao usar o SDK para .NET ou API Web, respectivamente. Para obter mais informações, consulte Atividades personalizadas.
Nomes de Tabela Existem dois tipos de nomes. As tabelas personalizadas devem ter um prefixo de personalização:

LogicalName: nome que é a versão do conjunto de nomes de tabela em todas as letras minúsculas.

SchemaName: nome usado para criar as tabelas de banco de dados. Esse nome pode ser maiúsculas de minúsculas. A caixa que você usa define o nome do objeto gerado para programação com tipos fortes ou quando você usa o ponto de extremidade REST.

Observação: se o nome lógico for diferente do nome do esquema, o nome do esquema substituirá o valor definido para o nome lógico.

Quando você cria uma tabela no aplicativo no contexto de uma solução específica, o prefixo de personalização usado é o único conjunto para a Publisher solução. Ao criar uma tabela programaticamente, defina o prefixo de personalização como uma cadeia de caracteres que tem entre dois e oito caracteres de comprimento, todos os caracteres alfanuméricos e deve começar com uma letra. Ele não pode começar com mscrm. A melhor prática é usar o prefixo de personalização definido pelo editor ao qual a solução está associada, mas essa prática recomendada não é imposta. Um caractere de sublinhado deve ser incluído entre o prefixo de personalização e o nome lógico ou de esquema.
Propriedade Use a OwnershipType propriedade para definir como os registros de tabela são de propriedade. Use o tipo de enumeração OwnershipTypes ou OwnershipTypes para definir o tipo de propriedade da tabela. Os únicos valores válidos para tabelas personalizadas são OrgOwned ou UserOwned. Para obter mais informações, consulte Propriedade da tabela.
Coluna Primária Com o SDK para .NET, use a propriedade CreateEntityRequest.PrimaryAttribute para definir a coluna primária.

Com a API Web, o JSON que define a tabela deve incluir um tipo de entidade StringAttributeMetadata com a IsPrimaryName propriedade definida como true.

Em ambos os casos, a coluna de cadeia de caracteres deve ser formatada como Text. O valor da coluna primária é o que é mostrado em uma pesquisa para tabelas relacionadas. Portanto, o valor da coluna deve representar um nome para o registro.

Habilitar recursos de tabela

A lista a seguir descreve os recursos da tabela. Você pode definir esses recursos ao criar uma tabela ou habilitá-las posteriormente.

Note

Não é possível desabilitar esses recursos depois de habilitá-los.

Capacidade Descrição
Fluxos de processo empresarial Defina IsBusinessProcessEnabled como true para habilitar a tabela para fluxos de processo de negócios.
Notes Crie uma relação com a Annotation tabela e habilite a inclusão de uma área de Anotações no formulário. Ao incluir Anotações, você também pode adicionar anexos aos registros.

Usando o SDK para .NET, use a propriedade CreateEntityRequest ou UpdateEntityRequestHasNotes

Usando a API Web, defina a propriedade EntityMetadata.HasNotes
Atividades Crie uma relação com a ActivityPointer tabela para que todas as tabelas de tipo de atividade possam ser associadas a essa tabela.

Usando o SDK para .NET, use a propriedade CreateEntityRequest ou UpdateEntityRequestHasActivities.

Usando a API Web, defina a propriedade EntityMetadata.HasActivities
Conexões Defina a IsConnectionsEnabled.Value propriedade como true para habilitar a criação de registros de conexão para associar essa tabela a outras tabelas de conexão. Para saber mais sobre conexões, consulte Configurar funções de conexão e usar conexões para vincular registros uns aos outros.
Filas Use a IsValidForQueue propriedade para adicionar suporte para filas. Ao habilitar essa opção, você também pode definir a AutoRouteToOwnerQueue propriedade para mover automaticamente registros para a fila padrão do proprietário quando um registro desse tipo é criado ou atribuído. Para saber mais, confira mais sobre filas e tabelas de filas.
Email Defina a IsActivityParty propriedade para que você possa enviar email para um endereço de email nesse tipo de registro. Saiba mais sobre as partes de atividades.

Propriedades da tabela editável

A lista a seguir mostra as propriedades da tabela que você pode editar. A menos que uma propriedade gerenciada desautorize essas opções, você poderá atualizá-las a qualquer momento. Saiba mais sobre as propriedades gerenciadas

Property Descrição
Permitir Criação Rápida Use IsQuickCreateEnabled para habilitar formulários de criação rápida para a tabela. Antes de usar formulários de criação rápida, primeiro você deve criar e publicar um formulário de criação rápida. Saiba mais sobre formulários de criação rápida de aplicativos controlados por modelo
Note:
As tabelas de atividades não dão suporte a formulários de criação rápida.
Equipes de Acesso Use AutoCreateAccessTeams para habilitar a tabela para equipes de acesso. Consulte Sobre como colaborar com modelos de equipe para obter mais informações.
Imagem principal Se uma tabela tiver uma coluna de imagem, você poderá habilitar ou desabilitar a exibição dessa imagem no aplicativo usando PrimaryImageAttribute. Saiba como trabalhar com definições de coluna de imagem usando código
Alterar texto de exibição A propriedade gerenciadaIsRenameable impede que o nome de exibição seja alterado no aplicativo. Você ainda pode alterar os rótulos programaticamente atualizando as propriedades e DisplayName as DisplayCollectionName propriedades.
Editar a descrição da tabela A propriedade gerenciadaIsRenameable impede que a descrição da tabela seja alterada no aplicativo. Você ainda pode alterar os rótulos programaticamente atualizando a Description propriedade.
Habilitar o Painel de Leitura do Outlook Observação:a IsReadingPaneEnabled propriedade é somente para uso interno.

Para habilitar ou desabilitar a capacidade dos usuários do Office Outlook de exibir dados para esta tabela, use o painel de leitura Outlook. Você deve definir essa propriedade no aplicativo.
Habilitar Mala Direta Use IsMailMergeEnabled para habilitar ou desabilitar a capacidade de gerar documentos mesclados do Office Word que usam dados dessa tabela.
Habilitar detecção duplicada Use IsDuplicateDetectionEnabled para habilitar ou desabilitar a detecção duplicada para a tabela. Para obter mais informações, consulte Detectar dados duplicados usando código
Habilitar integração do SharePoint Use IsDocumentManagementEnabled para habilitar ou desabilitar SharePoint integração de servidores para a tabela. Para obter mais informações, consulte Enable SharePoint gerenciamento de documentos para entidades específicas.
Habilitar o Dynamics 365 para telefones Use IsVisibleInMobile para habilitar ou desabilitar a capacidade de Dynamics 365 para os usuários de telefones verem os dados desta tabela.
Dynamics 365 para tablets Use IsVisibleInMobileClient para habilitar ou desabilitar a capacidade de Dynamics 365 para os usuários de tablets verem os dados desta tabela.

Se a tabela estiver disponível para Dynamics 365 para tablets, você poderá usar IsReadOnlyInMobileClient para especificar que os dados do registro são somente leitura.
Habilitar Auditoria Use IsAuditEnabled para habilitar ou desabilitar a auditoria da tabela. Para obter mais informações, consulte Configurar tabela e colunas para Auditoria.
Adicionar ou remover colunas Desde que a propriedade CanCreateAttributes.Valuegerenciada permita a criação de colunas, você pode adicionar colunas à tabela. Para obter mais informações, consulte definições de coluna.
Adicionar ou remover exibições Desde que a propriedade CanCreateViews.Valuegerenciada permita a criação de exibições, você pode usar a SavedQuery tabela para criar exibições para uma tabela.
Adicionar ou remover gráficos Desde que a propriedade CanCreateCharts.Valuegerenciada permita a criação de gráficos e a propriedade da IsEnabledForCharts tabela seja verdadeira, você pode usar a tabela SavedQueryVisualization para criar gráficos para uma tabela. Para obter mais informações, consulte Exibir dados com visualizações (gráficos).
Adicionar ou remover relações de tabela Várias propriedades gerenciadas controlam os tipos de relações que você pode criar para uma tabela. Para obter mais informações, consulte as definições de relação tabela.
Alterar ícones Você pode alterar os ícones usados para tabelas personalizadas. Para obter mais informações, consulte Alterar ícones de tabela personalizada do aplicativo controlado por modelo
Pode Mudar de Relacionamento Hierárquico CanChangeHierarchicalRelationship.Value controla se o estado hierárquico das relações incluídas em suas soluções gerenciadas pode ser alterado. Saiba mais: Definir e consultar dados hierárquicos relacionados e consultar dados hierárquicos
Nome do conjunto de entidades EntitySetName especifica o nome usado para identificar exclusivamente a tabela usando a API Web do Dataverse. Esse nome geralmente é o mesmo que o LogicalCollectionName, mas você não pode alterar o LogicalCollectionName. Você só deve alterar EntitySetName antes que qualquer código seja escrito usando o nome do conjunto de entidades padrão. Saiba mais sobre nomes de conjunto de entidades

Mensagens com suporte por tabelas personalizadas

As tabelas personalizadas dão suporte às mesmas mensagens base que as tabelas do sistema. O conjunto de mensagens que você pode usar depende se a tabela personalizada é de propriedade do usuário ou da organização. As tabelas de propriedade do usuário dão suporte ao compartilhamento, para que você possa usar mensagens como GrantAccess, ModifyAccesse RevokeAccess.

Consulte também

Usar a API Web com definições de tabela
Trabalhar com definições de tabela usando o SDK para .NET