Datas dentro de objectos!

Tradução automática de Deepl

Os objectos são óptimos! A sua flexibilidade, combinada com velocidade e elegância, fazem deles uma primeira escolha para a maioria dos criadores. A utilização de datas dentro dos objectos é agora mais fácil e mais intuitiva. A partir de agora, as datas podem ser definidas como datase não cordas dentro de objectos!

Como é que funciona?

Para usar datas dentro de objectos, basta verificar a configuração de compatibilidade, “Usar tipo de data em vez do formato de data ISO nos objectos”, nas Definições da Base de Dados.

Uma vez que isto esteja feito, OB SET e OB Get trabalhar sem exigir a data é constante.

OB SET ($myObject; "myDate";$date)
$date :=OB Get ($myObject; "myDate")

A notação de objectos também funciona! Dêem uma vista de olhos:

$myObject.myDate:=$date
$date :=$myObject.myDate

Stringify e Parse

A compatibilidade é mantida

Antes do 4D v16 R6, ao chamar o JSON Stringify os objectos contendo datas foram sistematicamente “stringified” de acordo com a norma ISO 8601 no seguinte formato “YYYY-MM-DDThhmmss.sssZ” . A operação inversa, JSON Parsenão interpretou este formato por defeito, e por isso produziu uma cadeia.

O que há de novo?

Se a opção de compatibilidade nas Configurações da Base de Dados for verificada, as datas serão simplesmente formatadas como “AAAA-MM-DD” (ainda seguindo a norma ISO 8601) ao chamar a JSON stringify comando. Ao utilizar o comando JSON ParseEsta corda será então definida como uma data (e não como uma corda) dentro do objecto!

Mudar o modo dinamicamente

Se necessário, esta configuração padrão pode ser alterada através da programação com a SET DATABASE PARAMETER e o selector Dates inside object.

Lembrete: SET DATABASE PARAMETER(Dates inside object;option) é local para o processo actual.

Os três valores possíveis para isto option são agora:

  • String type without time zone (anteriormente conhecido como ignorar o fuso horário local)
  • String type with time zone (anteriormente conhecido como ter em conta o fuso horário)
  • Date type (novo!)

Como resultado, ao importar dados JSON para 4D, tem agora uma forma de alterar dinamicamente o formato das datas.

Roland Lannuzel
- Proprietário do produto & Especialista 4D - Depois de estudar electrónica, a Roland entrou nas TI industriais como desenvolvedor e consultor, construindo soluções para clientes com uma variedade de bases de dados e tecnologias. No final dos anos 80, apaixonou-se pela 4D e utilizou-a para escrever aplicações comerciais que incluem sistemas de contabilidade, facturação e correio electrónico. Juntando-se à empresa em 1997, as valiosas contribuições de Roland incluem a concepção de especificações, ferramentas de teste, demonstrações, bem como formação e palestras para a comunidade 4D em muitas conferências. Ele continua a moldar activamente o futuro da 4D, definindo novas características e ferramentas de desenvolvimento de bases de dados.