Introdução aos atributos de entidade no Microsoft Dynamics CRM 2015

 

Publicado: novembro de 2016

Aplicável a: Dynamics CRM 2015

Entidades incluem um conjunto de atributos que representam os dados a serem incluídos em cada registro. Os desenvolvedores precisam compreender os diferentes tipos de atributos e como trabalhar com eles. Os metadados para atributos descrevem operações válidas e comportamentos de diferentes tipos de atributos. Vários tipos de atributos podem ser agrupados por comportamentos comuns.

Os desenvolvedores de conhecimento específicos terão dependências de estilo de desenvolvimento que escolherem.Para obter mais informações:Programação da entidade (early bound X late bound X extensões para desenvolvedores).

Observação

Este tópico inclui referências a muitas propriedades de metadados.Para exibir os metadados de entidade da sua organização, instale a solução Navegador dos Metadados descrita em Procurar os metadados da sua organização. Também é possível exibir os metadados de uma organização não personalizada no arquivo do Excel chamado EntityMetadata.xlsx, incluído na pasta de nível superior do download do SDK.

Neste tópico

Operações válidas em atributos

Tipos de atributos

Atributos de categorização de dados

Atributos de conjunto de dados

Atributo data e hora

Atributos de data da imagem

Atributos de dados de quantidade

Atributos de dados de referência

Atributos de data da cadeia de caracteres

Atributos de dados do identificador exclusivo

Atributos virtuais

Atributos lógicos

Operações válidas em atributos

Cada atributo tem os metadados que descrevem as operações que oferece suporte. Você precisa estar ciente das operações que são válidas para os atributos que você trabalha.

Propriedade AttributeMetadata

Descrição

IsValidForCreate

Verdadeiro se este valor de atributo for válido para ser definido quando um registro é criado, caso contrário, falso.

IsValidForRead

Verdadeiro se este valor de atributo pode ser recuperado, caso contrário, falso.

IsValidForUpdate

Verdadeiro se este valor de atributo for válido para ser definido quando um registro é atualizado, caso contrário, falso.

Tipos de atributos

Atributos são definidos nos metadados e a propriedade AttributeMetadata.AttributeTypeName contém o valor descrevendo o tipo. Os membros AttributeTypeDisplayName estáticos fornecem a lista de possíveis tipos.

Observação

A propriedade mais antiga AttributeType contém dados que estão mais alinhados com o AttributeTypeName, com exceção de que mostra os atributos ImageType como Virtual. Use a propriedade AttributeTypeName em vez da propriedade AttributeType.

A seção a seguir agrupa os tipos de atributos nas seguintes categorias para poder comparar com mais facilidade:

  • Atributos de categorização de dados

  • Atributos de conjunto de dados

  • Atributo data e hora

  • Atributos de data da imagem

  • Atributos de dados de quantidade

  • Atributos de dados de referência

  • Atributos de data da cadeia de caracteres

  • Atributos de dados do identificador exclusivo

  • Atributos virtuais

Atributos de categorização de dados

Cada um dos cinco atributos nesse grupo herdam uma classe base EnumAttributeMetadata comum e usa um conjunto predefinido de valores válidos para agrupar registros em categorias.

Definir atributos Lista de seleção, Status e Estado usando OptionSetValue com uma propriedade Value definida para um inteiro que representa uma opção válida nos metadados.

Definir atributos boolianos usando um valor booliano, mas reconhecer que essa é uma categorização limitada de apenas duas opções.

Os atributos EntityName usam um valor de cadeia de caracteres que é restrito a ser um nome lógico da entidade válida na organização.

Atributos Lista de Seleção e Booliano personalizados podem ser definidos como atributos calculados.Para obter mais informações:Atributos calculados.

Tipo de Metadados

AttributeTypeName Valor

Descrição

PicklistAttributeMetadata

PicklistType

Os valores válidos são definidos em OptionMetadata.Value para esse atributo definido dentro do OptionSetMetadata.Options.

Nas ferramentas de personalização do aplicativo esses atributos são chamados de campos de Conjunto de Opções.

StatusAttributeMetadata

StatusType

Esses atributos do sistema são geralmente chamados StatusCode. Os valores válidos são definidos em StatusOptionMetadata.Value para esse atributo definido dentro do OptionSetMetadata.Options.

A propriedade StatusOptionMetadata.State para cada opção descreve o valor válido para o valor StateCode correspondente. Antes de definir StatusCode você deve verificar se é válido para o valor atual de StateCode. Use a mensagem SetStateRequest para definir os valores de atributo StatusCode e StateCode quando precisar alterar o estado do registro.

Esses atributos podem ter limitações adicionais nos valores que podem ser definidos. A propriedade StatusOptionMetadata.TransitionData pode conter informações sobre quais opções são permitidas quando o valor EntityMetadata.EnforceTransitions é true.Para obter mais informações:Definir transições de modelo de estado personalizadas.

StateAttributeMetadata

StateType

Esses atributos do sistema são geralmente chamados StatusCode. Os valores válidos são definidos em StateOptionMetadata.Value para esse atributo definido dentro do OptionSetMetadata.Options.

StateCode não é válido para atualização. Depois que o registro é criado, StateCode pode ser definido usando a mensagem SetStateRequest.

A propriedade StateOptionMetadata.DefaultStatus para cada opção descreve o StatusCode padrão que será usado quando não definido como um parâmetro no SetStateRequest.

BooleanAttributeMetadata

BooleanType

Atributos boolianos podem ser definidos diretamente usando um valor Booleano, mas como outros eles também têm uma propriedade OptionSet com propriedades FalseOption e TrueOption que correspondem às opções boolianas. Cada uma dessas propriedades define um conjunto de rótulos traduzidos que representam o que verdadeiro e falso significam para o atributo. Nas ferramentas de personalização do aplicativo, esses atributos são chamados de campos de Duas Opções porque o significado para cada opção pode ser um par de opções mutuamente exclusivas, não apenas verdadeiro e falso. Por exemplo, as opções podem ser grandes e pequenas.

EntityNameAttributeMetadata

EntityNameType

Esses atributos do sistema são geralmente emparelhados com um identificador exclusivo ou atributo de referência que seja válido para vários tipos. O valor desse atributo é um valor de cadeia de caracteres que representa o nome lógico de uma entidade. Se o atributo de referência correspondente é um EntityReference, o valor desse atributo é o mesmo que o valor da propriedade EntityReference.Name.

Atributos de conjunto de dados

Esses atributos do sistema retornam conjuntos de valores.

Valor AttributeTypeName

Descrição

CalendarRulesType

Não há um atributo real que usa o CalendarRulesType. Ao usar o estilo de associação inicial, a ferramenta de geração de código criará os dois seguintes atributos simulados que não estão presentes nos metadados. Esses atributos representam realmente uma exibição de registros de regras de calendário associados em um relacionamento um-para-muitos para a instância de entidade.

  • Relacionamento Calendar.CalendarRules: calendar_calendar_rules

  • Relacionamento Service.CalendarRules: service_calendar_rules

PartyListType

Os seguintes atributos permitem que vários EntityReference sejam definidos para vários tipos de atividades.

ActivityPointer.allparties
Appointment.OptionalAttendees
Appointment.Organizer
Appointment.requiredattendees
CampaignActivity.from
CampaignActivity.Partners
CampaignResponse.Customer
CampaignResponse.from
CampaignResponse.Partner
Email.bcc
Email.cc
Email.from
Email.to
Fax.from
Fax.to
Letter.bcc
Letter.cc
Letter.from
Letter.to
PhoneCall.from
PhoneCall.to
RecurringAppointmentMaster.OptionalAttendees
RecurringAppointmentMaster.Organizer
RecurringAppointmentMaster.RequiredAttendees
ServiceAppointment.Customers
ServiceAppointment.Resources
SocialActivity.From
SocialActivity.Resources
SocialActivity.To

Atributo data e hora

Atributos no valor de AttributeTypeName de metadados de DateTimeType. Defina esses atributos usando o System.DateTime.

A propriedade DateTimeAttributeMetadata.Format pode ser um dos seguintes valores DateTimeFormat:

  • DateAndTime: Exibe a data e hora.

  • DateOnly: Exibir somente a data

Atributos Data e hora personalizados podem ser definidos como atributos calculados ou de acúmulo.Para obter mais informações:Atributos calculados e de acúmulo.

Atributos de data da imagem

Para as entidades que suportam atributos de imagem, o SchemaName do atributo de imagem da entidade será sempre EntityImage.

Para obter mais informações:Atributos de imagem, Imagens de entidade e Exemplo: Definir e recuperar imagens de entidade.

Atributos de dados de quantidade

Atributos nessa categoria usam dados numéricos. Cada um desses atributos tem uma de metadados de MaxValue e MinValue para definir um intervalo de valores válidos.

Atributos Decimal, Inteiro e Moeda personalizados podem ser definidos como atributos calculados ou de acúmulo.Para obter mais informações:Atributos calculados e de acúmulo.

Tipo de Metadados

Valor AttributeTypeName

Descrição

BigIntAttributeMetadata

BigIntType

Atributos BigInt são apenas para uso interno.

DecimalAttributeMetadata

DecimalType

Use valores decimais.

A propriedade de metadados Precision define a precisão a ser usada para o atributo.

DoubleAttributeMetadata

DoubleType

Use valores duplos.

A propriedade de metadados Precision define a precisão a ser usada para o atributo.

IntegerAttributeMetadata

IntegerType

Use valores inteiros.

MoneyAttributeMetadata

MoneyType

Use Money que tem uma propriedade de decimalValue.

Cada atributo Monetário correspondente é um atributo monetário de moeda base calculado que é usado para calcular o valor na moeda base da organização onde várias moedas foram habilitadas para a organização. A propriedade IsBaseCurrency identifica se um atributo monetário representa a moeda base.Para obter mais informações:Entidade da moeda de transação (moeda).

O atributo monetário também têm uma propriedade de metadados PrecisionSource que pode especificar o nível de precisão a ser usado. O valor inteiro nesta propriedade determina se:

  • 0: A precisão é determinada pela propriedade de metadados Precision.

  • 1: O valor Organization.PricingDecimalPrecision.

  • 2: O TransactionCurrency.CurrencyPrecision associado com o registro atual.

Atributos de dados de referência

Esses atributos são geralmente referenciados como atributos de pesquisa e cada um deles contêm um valor EntityReference. A diferença entre esses atributos é os tipos de entidades que podem associar. A propriedade de metadados Targets contém um String[] de nomes lógicos de entidades válidas que representam destinos válidos para a pesquisa. Os atributos de pesquisa personalizados só podem ter um único tipo de propriedade Targets.

O PartyListType também representa um tipo de atributo de dados de referência, mas como contém uma coleção de referências, são incluídos no Atributos de conjunto de dados.

Tipo de Metadados

Valor AttributeTypeName

Descrição

LookupAttributeMetadata

CustomerType

Esses atributos de pesquisa do sistema pode vincular uma registros de entidade Conta ou Contato.

Contact.ParentCustomerId
Contract.BillingCustomerId
Contract.CustomerId
ContractDetail.CustomerId
CustomerOpportunityRole.CustomerId
CustomerRelationship.CustomerId
CustomerRelationship.PartnerId
Entitlement.CustomerId
Incident.CustomerId
Invoice.CustomerId
Lead.CustomerId
Opportunity.CustomerId
Quote.CustomerId
SalesOrder.CustomerId
SocialActivity.PostAuthor
SocialActivity.PostAuthorAccount
SocialProfile.CustomerId

LookupType

Esses atributos de pesquisa podem ser usados para definir referências a um registro do tipo indicado pela propriedade de metadados .

Algumas pesquisas do sistema não tem um valor definido para a propriedade Targets, mas a entidade pretendida deve estar aparente com base no relacionamento de entidades associado para a pesquisa.

OwnerType

Essas pesquisas do sistema são sempre chamadas OwnerId e cada entidade de propriedade do usuário terá uma. Eles podem fazer referência aos registros SystemUser ou Team.

Atributos de data da cadeia de caracteres

Existem dois tipos de atributos que utilizam dados da cadeia de caracteres.

Tipo de Metadados

Valor AttributeTypeName

Descrição

StringAttributeMetadata

StringType

Um atributo para um valor de cadeia da caracteres no qual um formato pode ser aplicado.Para obter mais informações:Formatos StringAttributeMetadata.

Atributos de Cadeia de caracteres personalizados podem ser definidos como atributos calculados.Para obter mais informações:Atributos calculados.

MemoAttributeMetadata

MemoType

Um atributo para um valor de cadeia de caracteres destinado a anotações. Esses atributos são equivalentes aos atributos Cadeia de caracteres com o valor de propriedade FormatName definido para TextArea.

Atributos de dados do identificador exclusivo

Atributos com o valor de metadados AttributeTypeName de UniqueidentifierType contêm valores System.Guid nulos.

Cada instância de entidade contém um atributo que representa o identificador exclusivo do registro. Este atributo tem um nome de esquema que acompanha a convenção nomenclatura <nome do esquema de entidade>+Id. Por exemplo, o nome de esquema da entidade Conta para o atributo que representa o identificador exclusivo é de AccountId. Esse valor também está disponível diretamente usando a propriedade Entity.Id. Esse atributo será sempre retornado quando você recupera uma entidade, mesmo que não inclua no ColumnSet de uma consulta. Esse valor é nulo para uma entidade recentemente instanciada. Embora seja válido definir um valor de GUID para definir o identificador exclusivo quando você cria um novo registro, para melhor desempenho, recomendamos deixar nulo e permitir que o sistema atribua um valor quando o registro é criado. Depois que um registro é salvo, esse valor se torna somente leitura.

As entidades podem incluir outros atributos de identificador exclusivo dependendo dos recursos da entidade. Por exemplo, entidades que estejam habilitadas para processos empresariais conterão atributos de identificador exclusivo para ProcessId e StageId para acompanhar o processo empresarial atual associado ao registro. Certas relacionamentos do sistema que geralmente podem usar um valor EntityReference usará um identificador exclusivo. Por exemplo, as entidades Conta e Contato têm dois atributos de identificador exclusivos (Address1_AddressId e Address2_AddressId) que correspondem aos registros de CustomerAddress criados quando uma Conta ou Contato é criado.

Atributos virtuais

Os metadados para uma entidade incluirão alguns atributos com o valor de metadados AttributeTypeName de VirtualType. Esses não podem ser usados no código.

Atributos lógicos

Atributos lógicos contêm valores que são armazenados em tabelas do banco de dados diferentes dos outros atributos da entidade. Na maioria dos casos, essa implementação interna não é relevante para o trabalho com o Microsoft Dynamics CRM. Ao usar atributos lógicos 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.

A maioria dos atributos lógicos são comuns para aqueles que armazenam informações de endereço de várias entidades especiais: CompetitorAddress, CustomerAddress, InternalAddress, LeadAddress e PublisherAddress. Há 8 entidades do sistema que incluem um conjunto completo de atributos para dois endereços usando atributos lógicos. Cada um desses atributos é iniciado com "Address", como Address1_City ou Address2_Latitude.

Confira Também

Introdução às entidades no Microsoft Dynamics CRM 2015
Atributos de imagem
Atributos calculados e de acúmulo
Exemplo: Recuperar transições de status válidos
Exemplo: Definir e recuperar imagens de entidade

© 2017 Microsoft. Todos os direitos reservados. Direitos autorais