Los tiempos dentro de los objetos… (y en todas partes)

Traducido automáticamente de Deepl

Los objetos vuelven a hacer de las suyas y siguen demostrando su utilidad para facilitarte la vida como desarrollador.

El uso de valores de tiempo (o duración) dentro de los objetos es ahora más suave e intuitivo. A partir de 4D v17, los tiempos dentro de los objetos se establecen en segundos¡y no en milisegundos!

Esto no era visible anteriormente para los usuarios porque OB SET y OB Get debían utilizarse con la constante is time, por lo que las conversiones se hacían automáticamente.

OB SET ($myObject; "miHora";$time;is time)
$time :=OB Get ($myObject; "miHora";is time)

Ahora, esta constante ya no es obligatoria. El código anterior se puede acortar, pero lo que es más importante, ¡también se puede utilizar la notación de objetos!

$myObject.myTime:=$time
$time :=$myObject.myTime

EL TIEMPO EN OTROS CONTEXTOS

CONSULTA DE LOS CAMPOS DE LOS OBJETOS

  • A partir de ahora, al consultar un campo de objeto con QUERY BY ATTRIBUTElas comparaciones entre los valores numéricos y de tiempo se realizan en segundos en lugar de en milisegundos.

He aquí dos ejemplos que producen el mismo resultado:

QUERY BY ATTRIBUTE([Table_1];[Table_1]z;"time";"=";?12:00:00?)

QUERY BY ATTRIBUTE([Table_1];[Table_1]z;"time";"=";12*60*60)

ÁREA WEB

  • Al llamar a JavaScript en un área web, la conversión a y desde una hora se realiza en segundos en lugar de milisegundos cuando se utiliza:
    • WA Evaluar JavaScript
    • WA EJECUTAR FUNCIÓN JAVASCRIPT
    • 4d puente

LA COMPATIBILIDAD PUEDE MANTENERSE FÁCILMENTE

Si es necesario para las bases de datos existentes, esta configuración por defecto se puede cambiar con el comando SET DATABASE PARAMETER y el selector Times inside objects.

Hay dos valores disponibles para este option:

  • Times in milliseconds
  • Times in seconds

Este parámetro de la base de datos se aplica a la propia base de datos, no sólo al proceso actual. Para mantener la compatibilidad o ayudar al proceso de migración, este comando puede ser llamado durante el On Startup Database Method.

Roland Lannuzel
- Propietario de Producto y Experto en 4D - Después de estudiar electrónica, Roland se dedicó a la informática industrial como desarrollador y consultor, construyendo soluciones para clientes con una variedad de bases de datos y tecnologías. A finales de los años 80 se enamoró de 4D y lo ha utilizado para escribir aplicaciones de negocio que incluyen sistemas de contabilidad, facturación y correo electrónico.Eventualmente se unió a la compañía en 1997, las valiosas contribuciones de Roland incluyen el diseño de especificaciones, herramientas de prueba, demos, así como la formación y hablar con la comunidad 4D en muchas conferencias. Continúa dando forma activamente al futuro de 4D definiendo nuevas características y herramientas de desarrollo de bases de datos.