Compartilhar via


Definições de coluna

As tabelas incluem uma coleção de colunas que representam os dados que podem ser incluídos em cada registro. Os desenvolvedores precisam entender os diferentes tipos de colunas e como trabalhar com elas.

Nomes de colunas

Assim como as tabelas, cada coluna tem um nome exclusivo definido quando é criada. Esse nome é apresentado de várias maneiras:

Nome Descrição
SchemaName Normalmente, uma versão case de Pascal do nome lógico. Por exemplo: AccountNumber
LogicalName Nome todo em letras minúsculas. Por exemplo: accountnumber

Quando você cria uma coluna personalizada, o nome escolhido é precedido pelo prefixo de personalização do editor de solução associado à solução na qual a coluna foi criada.

Você não pode alterar os nomes de uma coluna depois que ela é criada.

Cada coluna também tem duas propriedades que podem exibir valores localizados. Os valores dessas propriedades são usados para se referir às colunas em um aplicativo.

Nome Descrição
DisplayName Normalmente, o mesmo que o nome do esquema, mas pode incluir espaços. Por exemplo: Número da Conta
Description Uma frase curta que descreve a coluna ou fornece diretrizes para o usuário. Por exemplo: digite um número de ID ou código da conta para pesquisar e identificar rapidamente a conta nas exibições do sistema.
Em aplicativos controlados por modelos, essas informações são exibidas quando os usuários focalizam a coluna em um formulário.

Esses são valores localizáveis que são usados para se referir às colunas em um aplicativo. Esses valores podem ser alterados a qualquer momento. Para adicionar ou editar valores localizados , consulte Traduzir texto de tabela, formulário e coluna personalizados em outros idiomas.

Tipos de coluna

A AttributeTypeName propriedade descreve o tipo de uma coluna. Essa propriedade contém um valor de tipo AttributeTypeDisplayName, que fornece um rótulo para cada um dos diferentes tipos de colunas existentes.

Observação

Não se deixe confundir com a AttributeType propriedade. Os valores nesta propriedade mais antiga são alinhados principalmente com AttributeTypeName a exceção de que ele mostra ImageAttributeMetadata e MultiSelectPicklistAttributeMetadata como Virtual. Consulte a propriedade AttributeTypeName em vez da propriedade AttributeType.

Na tabela a seguir:

  • Esses tipos são agrupados por categoria para comparação.
  • Para cada AttributeTypeDisplayName valor, a classe derivada do assembly AttributeMetadata .NET correspondente é incluída quando disponível. Não há uma relação 1:1 entre esses tipos e o AttributeTypeDisplayName rótulo.
  • Esses tipos de coluna que podem ser criados como colunas personalizadas incluem o rótulo correspondente exibido na interface do usuário.
Categoria Nome de Exibição do Tipo de Atributo
Tipo AttributeMetadata
Pode Criar/
Etiqueta
Descrição
Categorização BooleanType
BooleanAttributeMetadata
Sim
Duas Opções
Contém o valor selecionado de Sim/Não que geralmente indica um valor verdadeiro ou falso.
Mais informações: Escolha
Categorização EntityNameType
EntityNameAttributeMetadata
No Contém um valor que corresponde a uma tabela no sistema. Somente para uso interno.
Categorização MultiSelectPicklistType
MultiSelectPicklistAttributeMetadata
Sim
Conjunto de opções multiSelect
Contém vários valores selecionados em que vários valores podem ser selecionados.
Mais informações:
Escolha
Colunas de opções
Categorização PicklistType
PicklistAttributeMetadata
Sim
Conjunto de Opções
Contém o valor selecionado em que uma opção pode ser selecionada.
Mais informações: Escolha
Categorização StateType
StateAttributeMetadata
No Contém o valor que descreve o status de um registro de tabela.
Mais informações: Escolha
Categorização StatusType
StatusAttributeMetadata
No Contém o valor que descreve o motivo do status de um registro de tabela.
Mais informações: Escolha
Collection CalendarRulesType No Contém uma coleção de registros da tabela CalendarRules.
Não há colunas que usem esse tipo. Ao gerar um proxy, a ferramenta de geração de código cria duas colunas simuladas que não estão presentes na definição. Essas colunas representam uma exibição dos registros de regras de calendário associados em uma relação um-para-muitos com o registro da tabela.
Collection PartyListType No Contém uma coleção de registros de tabela ActivityParty.
Mais informações: tabela ActivityParty
Data e hora DateTimeType
DateTimeAttributeMetadata
Sim
Data e Hora
Contém um valor de data e hora.
Todas as colunas de data e hora dão suporte a valores desde 1/1/1753 12:00 AM.
Arquivo FileType
FileAttributeMetadata
Sim
Arquivo
Contém dados para dar suporte à recuperação de dados binários para um registro de tabela.
Mais informações: Trabalhar com definições de coluna de arquivo usando código
Imagem ImageType
ImageAttributeMetadata
Sim
Imagem
Contém dados para auxiliar na obtenção de dados de imagem para um registro de tabela.
Mais informações: Imagens de entidade
Propriedade Gerenciada ManagedPropertyType
ManagedPropertyAttributeMetadata
No Contém dados que descrevem se o componente da solução armazenado no registro da tabela pode ser personalizado quando incluído em uma solução gerenciada.
Mais informações: Propriedades Gerenciadas
Quantidade BigIntType
BigIntAttributeMetadata
Sim Contém um BigInt valor.
Quantidade DecimalType
DecimalAttributeMetadata
Sim
Número Decimal
Contém um Decimal valor. A Precision propriedade define o nível de precisão.
Quantidade DoubleType
DoubleAttributeMetadata
Sim
Número de Ponto Flutuante
Contém um Double valor. A Precision propriedade define o nível de precisão.
Quantidade IntegerType
IntegerAttributeMetadata
Sim
Número Inteiro
Contém um Int valor
Quantidade MoneyType
MoneyAttributeMetadata
Sim
Moeda
Contém um Decimal valor. A PrecisionSource propriedade determina onde o nível de precisão é definido.
0: A Precision propriedade
1: A Organization.PricingDecimalPrecision coluna
2: A TransactionCurrency.CurrencyPrecision coluna no registro da tabela
Referência CustomerType
LookupAttributeMetadata
Sim
Cliente
Contém uma referência a uma conta ou registro de tabela de contatos.
Referência LookupType
LookupAttributeMetadata
Sim
Pesquisar
Contém uma referência a um registro de tabela. Os nomes lógicos dos registros válidos geralmente são armazenados na Targets propriedade da coluna.
Referência OwnerType
LookupAttributeMetadata
No Contém uma referência a um registro de tabela de usuário ou de equipe.
String MemoType
MemoAttributeMetadata
Sim
Várias Linhas de Texto
Contém um valor de cadeia de caracteres destinado a ser exibido em uma caixa de texto de várias linhas.
String StringType
StringAttributeMetadata
Sim
Linha Única de Texto
Contém um valor de cadeia de caracteres destinado a ser exibido em uma caixa de texto de linha única.
Identificador exclusivo UniqueidentifierType
UniqueIdentifierAttributeMetadata
No Contém um valor de identificador exclusivo do GUID.
Virtual VirtualType No Essas colunas não podem ser usadas no código e geralmente podem ser ignoradas.

Operações suportadas e uso de formulários para colunas

Cada coluna inclui propriedades boolianas que descrevem os tipos de operações em que ela pode participar e como ela pode estar em um formulário.

Propriedade Descrição
IsRequiredForForm Se a coluna deve ser incluída em um formulário
IsValidForCreate Se o valor da coluna pode ser definido em uma operação de criação
IsValidForForm Se a coluna pode ser incluída como uma coluna em um formulário
IsValidForRead Se o valor da coluna pode ser recuperado
IsValidForUpdate Se o valor da coluna pode ser definido em uma operação de atualização

Se você tentar definir um valor em uma operação de criação ou atualização para uma coluna que não seja válida para essa operação, o valor será ignorado. Se você tentar recuperar uma coluna que não é válida para leitura, um valor nulo será retornado.

Nível de requisito de coluna

A RequiredLevel propriedade é uma propriedade gerenciada booliana que descreve se um valor de coluna é necessário.

Essa propriedade pode ter os seguintes valores definidos:

Nome Valor Rótulo da interface do usuário Descrição
None 0 Opcional Nenhum requisito é especificado.
SystemRequired 1 Sistema necessário O Dataverse requer que a coluna tenha um valor.
ApplicationRequired 2 Requisitos Empresariais O aplicativo requer que a coluna tenha um valor.
Recommended 3 Negócios recomendados É recomendável que a coluna tenha um valor.

O Dataverse impõe apenas a opção SystemRequired para colunas criadas pelo sistema. Colunas personalizadas não podem ser definidas para usar a opção SystemRequired . O Dataverse não retorna um erro quando uma coluna com ApplicationRequired aplicado não tem um valor.

Aplicativos controlados por modelo impõem a opção ApplicationRequired e usam uma apresentação diferente para a opção Recommended . Os criadores de clientes personalizados podem usar essas informações para exigir opções de validação ou apresentação semelhantes.

Como RequiredLevel é uma propriedade gerenciada, enquanto editor de uma solução gerenciada, você pode decidir se os consumidores da sua solução são capazes de alterar essas configurações nas colunas da sua solução.

Mais informações: Propriedades Gerenciadas

Colunas especializadas

Fórmulas, agregações e colunas de cálculo liberam o usuário de realizar cálculos manualmente, permitindo que se concentre em seu trabalho. Os administradores do sistema podem definir uma coluna para conter o valor de muitos cálculos comuns sem precisar trabalhar com um desenvolvedor. Os desenvolvedores também podem usar os recursos da plataforma para executar esses cálculos em vez de dentro de seu próprio código.

Uma coluna de prompt é um tipo de dado alimentado por IA no Microsoft Dataverse que permite definir prompts de linguagem natural vinculados a outras colunas na tabela.

Mais informações:

Formato de coluna

Os valores de formato da coluna controlam como ela é exibida em aplicativos controlados por modelos. O desenvolvedor de aplicativos personalizados pode usar essas informações para criar experiências semelhantes.

Formatos inteiros

, Use a propriedade Format com colunas inteiras para exibir experiências alternativas para este tipo.

Opção Descrição
None Exibe uma caixa de texto para editar um valor numérico
Duration Exibe uma lista suspensa que contém intervalos de tempo. Um usuário pode selecionar um valor da lista ou digitar um valor inteiro que representa o número de minutos.
TimeZone Exibe uma lista suspensa que contém uma lista de fusos horários.
Language Exibe um menu suspenso que contém os idiomas ativados para a organização. Se nenhum outro idioma tiver sido habilitado, o idioma base será a única opção. O valor salvo é o valor LCID do idioma.

Formatos de cadeia de caracteres

Use a FormatName propriedade com colunas de texto para definir valores a partir do StringFormatName para controlar como a coluna de texto é formatada.

Nome Descrição
Email A coluna de formulário valida o valor de texto como um endereço de e-mail e cria um link mailto na coluna.
PhoneNumber A coluna de formulário contém um link para iniciar uma chamada telefônica usando o Skype.
PhoneticGuide Somente para uso interno.
Text O formulário exibe uma caixa de texto.
TextArea O formulário exibe uma coluna de área de texto.
TickerSymbol O formulário exibe um link que, ao ser aberto, mostra uma cotação para o símbolo do ticker das ações.
URL O formulário exibe um link para abrir a URL.
VersionNumber Somente para uso interno.

Formatos de data e hora

A DateTimeBehavior propriedade controla o comportamento das colunas Data e Hora. Existem três opções:

Opção Descrição curta
UserLocal Armazena o valor de data e hora como valor UTC no sistema.
DateOnly Armazena o valor real da data com o valor de hora como 00:00:00 no sistema.
TimeZoneIndependent Armazena os valores reais de data e hora no sistema, independentemente do fuso horário do usuário.

Use a propriedade Format para controlar como o valor deve ser exibido em um aplicativo controlado por modelo, independentemente do DateTimeBehavior.

Opção Descrição
Data e Hora Exibir a data e a hora completas
DateOnly Exiba apenas a data.

Mais informações: Comportamento e formato da coluna de data e hora

Colunas de numeração automática

Você pode adicionar uma coluna de número automático para qualquer tabela. Atualmente, você pode adicionar a coluna programaticamente. Não há nenhuma interface do usuário para adicionar esse tipo de coluna. Mais informações: Criar colunas de numeração automática

Opção

As colunas que exibem um conjunto de opções podem referenciar um conjunto de opções definido pela coluna ou podem referenciar um conjunto separado de opções que podem ser compartilhadas por mais de uma coluna. Isso é útil quando os valores em uma coluna também se aplicam a outras colunas. Ao referenciar um conjunto comum de opções, as opções podem ser mantidas em um só lugar. Essas opções que podem ser compartilhadas são escolhas globais. Aqueles definidos na coluna são de opção local .

Recuperar dados de opções

O SDK para .NET fornece classes de solicitação que você pode usar para recuperar as opções usadas por uma coluna.

Usar o SDK para .NET para recuperar opções

Cada uma das colunas com opções que herdam de EnumAttributeMetadata inclui uma Propriedade OptionSet. Esta propriedade contém o OptionSetMetadata que inclui as opções dentro da propriedade Options.

Com o SDK para .NET, você pode usar as seguintes classes de solicitação para recuperar informações sobre a escolha:

Classe Request Descrição
RetrieveAllOptionSetsRequest Recupera dados sobre todas as opções globais
RetrieveAttributeRequest Recupera dados sobre uma coluna, incluindo qualquer opção
RetrieveMetadataChangesRequest Recupera metadados com base em uma consulta que pode incluir a opção
Mais informações: Definições de esquema de consulta
RetrieveOptionSetRequest Recupera dados sobre uma escolha global .

Mais informações:

Usar a API Web para recuperar valores de escolha

A API Web fornece um estilo RESTful para consultar valores de escolha. Você pode recuperar a opção local ou global recuperando a coluna dentro de uma tabela. O exemplo a seguir retorna o OptionSetMetadata correspondente à escolha incluída na propriedade Account.AccountCategoryCode.

GET <organization url>/api/data/v9.2/EntityDefinitions(LogicalName='account')/Attributes(LogicalName='accountcategorycode')/Microsoft.Dynamics.CRM.PicklistAttributeMetadata?$select=LogicalName&$expand=OptionSet

Com a API Web, você também pode usar a função RetrieveMetadataChanges.

Mais informações: Consultar definições de tabela usando a API da Web para recuperar atributos>

Mapeamento de coluna

Ao criar um novo registro de tabela no contexto de um registro de tabela existente, você pode transferir automaticamente determinados valores do registro de tabela existente como valores padrão para o novo registro de tabela. Isso simplifica a entrada de dados para pessoas que usam aplicativos controlados por modelos. Os usuários do aplicativo veem os valores mapeados e podem editá-los antes de salvar a entidade.

Para desenvolvedores que criam clientes personalizados, o mesmo comportamento pode ser alcançado usando a InitializeFrom mensagem (classe SDK InitializeFromRequest ou função API Web InitializeFrom) para obter os dados da entidade com os valores padrão configurados definidos.

Mais informações

Colunas lógicas

As colunas lógicas contêm valores armazenados em tabelas de banco de dados diferentes de outras colunas na tabela. Na maioria dos casos, essa implementação interna não é relevante para trabalhar com o Dataverse. Quando você usa colunas lógicas como fontes para um campo calculado, os valores no campo calculado não podem ser classificados. Use a propriedade AttributeMetadata.IsLogical para detectar se um atributo é um atributo lógico.

Consulte também

Tabelas do Dataverse