Exemplo: converter comportamento de data e hora
Publicado: janeiro de 2017
Aplicável a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Este exemplo demonstra como usar a mensagem ConvertDateAndTimeBehaviorRequest para converter o valor UTC do valor DateOnly do atributo de data e hora em Dynamics 365 que existe no sistema antes de alterar o comportamento do atributo de UserLocal para DateOnly.Para obter mais informações:Converter o comportamento de valores existentes de data e hora no banco de dados.
Este exemplo é para o Atualização 1 do Microsoft Dynamics CRM Online 2015 e o Microsoft Dynamics 365 (no local). Essa opção está disponível para download de Converter comportamento de data e hora.
Pré-requisitos
Tenha acesso a uma organização do Atualização 1 do Microsoft Dynamics CRM Online 2015 ou do Microsoft Dynamics 365.
Permita que a função Administrador do Sistema da organização do Dynamics 365 use a mensagem ConvertDateAndTimeBehaviorRequest que é demonstrada neste exemplo. Caso contrário, este exemplo falhará.
Baixe o projeto DateTimeAttributeBehaviorVisual Studio.
Abra o projeto DateTimeAttributeBehavior do Visual Studio e instale o Pacote NuGet do Microsoft.CrmSdk.CoreAssemblies versão 7.1.0-preview. Consulte Instalar pacotes NuGet mais tarde para obter instruções.
Depois de instalar os pacotes NuGet, consulte Executar o exemplo para obter instruções sobre como executar o exemplo e o que esperar.
Neste tópico
O que este exemplo faz
O método ConvertDateandTimeBehavior da classe Run verifica se você está executando a versão apropriada do Dynamics 365 para o exemplo.
O método CreateRequiredRecords cria os registros necessários para o exemplo:
Cria um atributo de data e hora de exemplo para a entidade Account com o comportamento UserLocal.
Cria um registro de conta de exemplo com o valor March 31, 2015 11:00 PM UTC no novo atributo de data e hora.
Altera o comportamento do atributo de data e hora para DateOnly.
Cria outro registro de conta de exemplo com o valor March 31, 2015 11:00 PM UTC no novo atributo de data e hora. Como o atributo agora é DateOnly, a parte de hora é ignorada e armazenada no sistema como March 31, 2015 00:00:00.
Recupera o valor do atributo de data e hora nos dois registros de conta. Como o comportamento foi alterado, os dois valores são exibidos como March 31, 2015 00:00:00. No entanto, o valor no primeiro registro de conta permanece no UTC (March 31, 2015 11:00 PM) no banco de dados.
Executa a mensagem SDK ConvertDateAndTimeBehaviorRequest para criar um trabalho assíncrono para converter os valores UTC no atributo de data e hora em um valor DateOnly. A regra de conversão na mensagem SDK converte o valor por código de fuso horário de IST (Hora Padrão da Índica) em Dynamics 365 (190).
ConvertDateAndTimeBehaviorRequest request = new ConvertDateAndTimeBehaviorRequest() { Attributes = new EntityAttributeCollection() { new KeyValuePair<string, StringCollection>("account", new StringCollection() { "new_sampledatetimeattribute" }) }, ConversionRule = DateTimeBehaviorConversionRule.SpecificTimeZone.Value, TimeZoneCode = 190, // Time zone code for India Standard Time (IST) in CRM AutoConvert = false // Conversion must be done using ConversionRule }; // Execute the request ConvertDateAndTimeBehaviorResponse response = (ConvertDateAndTimeBehaviorResponse)_serviceProxy.Execute(request);
Recupera o valor do atributo de data e hora nos dois registros de conta após a conversão. O valor UTC no primeiro registro de conta é convertido em 1º de abril, em vez de 31 de março porque a conversão ocorreu de acordo com o fuso horário de IST. O valor no segundo registro de conta não é afetado pois ele já foi um valor DateOnly.
Por fim, o método DeleteRequiredRecords solicita que você exclua os registros de entidade e o atributo personalizado de data e hora criados durante a execução de exemplo:
Digite y e pressione ENTER para excluir os registros de entidade e o atributo personalizado da sua organização.
Digite n e pressione ENTER para manter os registros de entidade e o atributo personalizado na sua organização. Você precisará excluí-los manualmente se desejar retornar ao estado original.
Instalar pacotes NuGet
Use as etapas a seguir para instalar os assemblies necessários para este exemplo:
Baixe este exemplo e extraia os arquivos.
Navegue até a pasta C# e abra o arquivo DateTimeAttributeBehavior.sln usando o Visual Studio.
No Visual Studio, clique com o botão da direito no projeto DateTimeAttributeBehavior e escolha Gerenciar pacotes NuGet.
Para a versão de visualização, selecione Incluir Pré-lançamento em vez de Somente Estável nos critérios da pesquisa. Em seguida, procure "Microsoft Dynamics CRM 2015 SDK core assemblies". Selecione a versão 7.1.0-preview.
Clique em Instalar. Você precisará aceitar os termos de licença para concluir a instalação desse pacote.
Executar o exemplo
No Visual Studio, com a solução aberta e os pacotes NuGet necessários instalados, pressione F5.
Caso você não tenha executado antes um dos exemplos de código gerenciado do Microsoft Dynamics 365, será necessário inserir informações para executar o código; caso contrário, insira o número para um dos servidores do Dynamics 365 configurado anteriormente.
Solicitar
Descrição
Insira um nome de servidor do Dynamics 365 e uma porta [crm.dynamics.com]
Digite o nome do seu servidor do Microsoft Dynamics 365. O padrão é Microsoft Dynamics 365 (online) (crm.dynamics.com) na América do Norte.
Exemplo:
crm5.dynamics.comEsta organização foi provisionada nos serviços online da Microsoft (y/n) [n]
Digite y caso seja uma organização provisionada pelos serviços online da Microsoft. Caso contrário, digite n.
Insira domínio\nome de usuário
Digite sua conta da Microsoft.
Insira a senha
Digite sua senha. Os caracteres serão mostrados como "*" na janela. Sua senha é salva com segurança no Microsoft Credential Manager para reutilização posterior.
Especificar um número da organização (1-n) [1]
Na lista de organizações mostradas que você participa, digite o número correspondente. O padrão é 1, indicando a primeira organização na lista.
O exemplo executará as operações descritas em O que este exemplo faz e pode solicitar a você opções adicionais.
Quando o exemplo for concluída, pressione ENTER para fechar a janela do console.
Confira Também
ConvertDateAndTimeBehaviorRequest
Comportamento e formato do atributo de data e hora
Personalizar metadados do atributo de entidades
Microsoft Dynamics 365
© 2017 Microsoft. Todos os direitos reservados. Direitos autorais