En un cliente se tiene un problema que por tener ellos alojados el servicio de Base de datos en una zona horaria, solicitan que exista un parámetro que defina la zona horaria de cada empresa y que registre efectivamente la fecha y hora de la empresa en cuestión.

El cliente lo identificó en la fecha y hora en que se genera la planilla. Por ejemplo si se genera 14/02/02 16:30, el sistema indica que se generó a las 22:30.

alt text

Ya se cambió la zona horaria del appservice y sigue igual, por lo que se asume que evolution lo está tomando de la base de datos.

Una solución podría ser habilitar una función gen.getdate que devuelva la fecha y hora según la zona horaria, por ejemplo:

select convert(datetime, dateadd(hour, -6,GETUTCDATE()));

donde -6, sería un parámetro, según la zona horaria.

¿Es factible? ¿Qué implicaría?

A nivel de base de datos es sencillo realizar el cambio, pero ¿cómo impactaría a nivel del código fuente de evolution?

¿Que solución se le puede dar al cliente?

asked 14 Feb '23, 16:41

Juan%20Carlos%20Soria's gravatar image

Juan Carlos Soria
1.1k157172184
accept rate: 41%

edited 14 Feb '23, 16:42


Sobre este tema se dan las siguientes situaciones:

  • Se debe configurar la zona horaria en el AppService colocando WEBSITE_TIME_ZONE en las opciones del mismo en el portal de Azure

  • La máquina virtual donde esta instalado AppJob, GenPlaApi y CrystalReports debe tener la misma zona horaria que el AppService. Es decir, que hay que modificar la zona horaria del servidor en las configuraciones de Windows Server.

  • Para Azure SQL Server si está en modalidad SingleDatabase tasado en DTU's o en la modalidad Elastic Pool, no es posible modificar la zona horaria.

  • Para Azure SQL Server si está en modalidad 'Azure SQL Managed Instance' si se puede especificar, pero se tiene que hacer en el momento de la creación del recurso, porque una vez creado ya no es posible modificarlo. Entonces se tendria que respaldar la base y crear el recurso del tipo indicado, en el momento de crearlo se pone el timezone deseado y luego se restaura la base.


Para el caso de Azure SQL Server Single Database o Elastic Pool, la única manera es lo como lo describiste en la pregunta.

Crear una función que sustituya GETDATE() por una hecha a la medida permita regresar la fecha convertida a la zona horaria requerida y luego se cambia en todos los procedimientos de base.

Adjunto link con todas las consideraciones sobre este tema: https://cloud.google.com/blog/products/databases/how-to-use-local-timezone-with-cloud-sql-for-sql-server/

Adjunto la documentación correspondiente en el sitio de documentación de Microsoft. https://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/timezones-overview?view=azuresql


Finalmente, el código fuente de Evolution NO TOMA DE LA BASE DE DATOS LA FECHA Y HORA, la toma de la configuración del AppService. AppJobHost, GenPlaAPI y CrystalReportsAPI toman la fecha y hora de la configuración del Windows Server en el cual están hospedados.

link

answered 16 Feb '23, 09:23

Fernando%20Paz's gravatar image

Fernando Paz ♦♦
17.3k81635
accept rate: 51%

edited 16 Feb '23, 09:36

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Evolution en BitBucket

En este sitio puede acceder al código fuente, centro de descargas y reportar bugs, propuestas y mejoras para Evolution.

Evolution en JIRA

En este sitio puedes sugerir nueva funcionalidad para Evolution, o puedes votar por la funcionalidad ya propuesta por otros usuarios.

Tags:

×3
×1

Asked: 14 Feb '23, 16:41

Seen: 143 times

Last updated: 16 Feb '23, 09:36

[Acerca de] [Preguntas Frecuentes] [Privacidad] [Soporte] [Contacto]
Copyright 2013-2018. Asesores en Informática