Ir para o conteúdo

Fusos Horários

Visão Geral

Suportes de Vinyl mostrando DateTime campos no fuso horário local do usuário. O Time Zone a configuração no Vinyl para uma fonte de dados deve corresponder ao fuso horário da fonte de dados. Normalmente, isso é definido da mesma forma que o fuso horário da própria máquina. Em ambos os casos, o fuso horário definido para uma fonte de dados deve corresponder ao fuso horário esperado retornado ao executar um Now() declaração no banco de dados.

Cuidado

A recomendação é que o servidor de aplicação Vinyl e os servidores de banco de dados sejam configurados com o mesmo fuso horário. Esses servidores precisam estar sincronizados. Versões futuras do Vinyl podem se recusar a executar se os relógios entre o servidor de aplicativos e o servidor de banco de dados estiverem fora de sincronia.

Configuração

Existem dois locais que Time Zone pode ser configurado:

  1. Servidor de fonte de dados
  2. Fonte de dados

O Time Zone configuração usa fusos horários da IANA (por exemplo, America/New_York).

Servidor de Fonte de Dados

Configurando um Servidor de fonte de dados Time Zone, todas as Fontes de dados recém-criadas* neste servidor serão configuradas com o mesmo Time Zone. Fontes de dados existentes não são afetadas.

Etapas de Configuração

  • Navegue até IDE > Servidores de dados
  • Localize seu Servidor de Dados e clique no botão Detalhes correspondente
  • Vá para Mais > Caso Edge
  • Clique em Editar
  • Configurar o Fuso horário da fonte de dados padrão
  • Clique em Salvar

Fonte de Dados

Ao configurar um Time Zone em uma fonte de dados, todos DateTime os campos serão renderizados de acordo com o fuso horário local do usuário.

Etapas de Configuração

  • Navegue até IDE > Servidores de dados
  • Selecione o Servidor de dados apropriado
  • Localize a Fonte de dados apropriada e clique no botão Detalhes correspondente
  • Clique no botão Configurações avançadas
  • Clique em Editar
  • Selecione o Fuso Horário apropriado
  • Clique em Salvar

Impacto

Todos DateTime os campos serão mostrados no fuso horário do usuário depois que um fuso horário for definido em uma Fonte de dados. Isso afetará o seguinte:

  • Mesa DateTime colunas.
  • Objeto de negócios DateTime colunas.
  • Regra DateTime colunas (Bridges, CRUD, Validações, Webhooks, etc).
  • Controles de página vinculados a um dos itens acima DateTime colunas.
  • Tela dinâmica de Resultados para todos os itens acima.

Para Business Objects e Rules, a Fonte de dados de destino Time Zone Será seguido.

Além disso, Auditoria Completa e Auditoria Lite DateTime campos levarão em consideração a fonte de dados Time Zone. Isto pode causar uma divergência dos dados históricos. Para lidar com isso de maneira mais simples, consulte o Migração de data recurso que migrará todos os dados existentes para o novo Time Zone.

Determinando o Fuso Horário do Usuário

O Vinyl segue estas etapas de ordem de prioridade para determinar o fuso horário do usuário:

  1. Primeiro, verifique se o perfil do usuário possui um Time Zone contexto. Se sim, use-o.
  2. Caso contrário, tente obter o navegador Time Zone contexto.
  3. Por último, tente obter o navegador Time Zone Offset contexto.

Se nenhuma das configurações acima estiver disponível, o fuso horário do usuário será padronizado como o fuso horário do servidor de aplicativos Vinyl.

Anotações Importantes

  • Definir um Time Zone não afeta nenhum dado existente em uma Fonte de dados. Se DateTime os dados precisam ser ajustados de um fuso horário para outro (por exemplo, dados de auditoria), o Date Migration o recurso deve ser usado.
  • O ajuste de DateTime dados para o fuso horário do usuário é uma mudança puramente superficial. As datas de saída para um cliente são ajustadas às necessidades do usuário Time Zone. As datas enviadas de um cliente para o servidor são ajustadas de volta para o servidor Time Zone antes de qualquer regra do Vinyl ser executada.
  • Além disso, DateTime os dados CRUD de uma fonte de dados para outra não serão ajustados de forma alguma. Novamente, esta é uma mudança puramente superficial que só impacta o DateTime visto por um cliente.
  • Tome cuidado para que a tela de Resultados Dinâmicos seja impactada pelo Time Zone contexto. Isso significa que um desenvolvedor pode ver uma visão diferente DateTime na tela Vinyl Results do que em um visualizador direto de banco de dados como o SQL Server Management Studio.