Sumar más de 24 horas

vForum público de la plataforma de desarrollo Velneo

Moderador: vCoaches

JOSE ANTONIO RUZ
vMate
vMate
Mensajes: 79
Registrado: 07 Dic 2005, 17:40
Ubicación: PUENTE GENIL (Cordoba) - ESPAÑA
Contactar:

Sumar más de 24 horas

Mensaje por JOSE ANTONIO RUZ » 21 Jun 2011, 18:10

Hola,

Uno de mis problemas de hoy es el siguiente:

Tengo una tabla con un campo %TIEMPO% de tipo Hora (HH:MM:SS) que me indica el tiempo empleado para determinada tarea.

Por una serie de circunstancias, he creado un proceso donde recorro los registros de esta tabla y los almaceno en el campo %TOTAL-TIEMPO% de una tabla maestra de esta (no uso actualizaciones porque hay muchas variables implicadas y lo veo mejor así, de todas formas el almacenamiento lo hace bien, por lo que no es por esto por lo que busco ayuda), sino porque cuando me suma 24:00:07, por ejemplo, me muestra 00:00:07 y como he de ordenar por el campo que contiene la suma, me da 00:00:07 menor que 23:59:59, porque ha completado un día y se queda con 00:00:07.

Mis preguntas sobre esto son:

1. ¿Dónde puedo ver si es 1, 2 o más días lo que se va acumulando en el campo %TOTAL-TIEMPO%?

2. ¿No se almacena en ninguna parte y se pierden los días?

3. ¿Si la función fComponerHora() no da horas mayores de 24, cómo puedo mostrar:

132:25:48 ó, por ejemplo: 05 días 12 h. 25 min. 48 seg.

Gracias a todos por leerme.
Saludos,

Jonatan
vAdviser
vAdviser
Mensajes: 600
Registrado: 13 Nov 2006, 17:17
Ubicación: México
Contactar:

horas

Mensaje por Jonatan » 21 Jun 2011, 18:37

Personalmente usaría 4 campos:

FechaInicial
HoraInicial
FechaFinal
HoraFinal

Con esos datos podría saber cuantos días y horas pasaron.

Saludos cordiales
Alveus Soft
México, D.F.
http://microsip.wordpress.com/
http://twitter.com/rosper
http://www.solucionesmicrosip.com
Alveus Soft. CRM y Carrito de compra web.

JOSE ANTONIO RUZ
vMate
vMate
Mensajes: 79
Registrado: 07 Dic 2005, 17:40
Ubicación: PUENTE GENIL (Cordoba) - ESPAÑA
Contactar:

Mensaje por JOSE ANTONIO RUZ » 21 Jun 2011, 18:50

Hola Jonatan,

Al margen del asunto te diré que he estado ya dos veces en Toluca, tierra linda y querida y que la primera vez me vine con lo mejor.

Verás, no soy nuevo, pero como si lo fuese... jejeje

Yo uso esos campos para saber el tiempo que ha durado un evento. Ahora bien, el problema es que se suceden varios eventos en fechas y horas distintos, todos sé cuánto duran, pero no sé cómo sumar todos los tiempos parciales, podríamos decir, para que la suma de todos ellos me la muestre en, por ejemplo: 137:52:14 para 137 horas, 52 min., 14 seg.

Gracias por tu aportación.
Saludos,

catarso
vAdviser
vAdviser
Mensajes: 688
Registrado: 09 Ene 2007, 12:32
Ubicación: San Rafael, Mendoza, Argentina

Mensaje por catarso » 21 Jun 2011, 19:07

Hola JOSE ANTONIO RUZ
Lo mejor para esto, es tener 3 campos (Horas minutos, segundos) de esta forma no tendras problemas en el momento de sumar, ya que el resultado de segundos lo divides por 60 y te da los minutos que lo añades al total de minutos y el resto de la division son segundos, el resultado de minutos lo divides por 60 y te da las horas que se lo sumas al total de horas y el resto son los minutos, el total de hotas lo divides por 24 y te da los dias y el resto son las horas
Espero te sirva
Saludos y hasta pronto
Catarso
Un dia mas, un dia menos
-------------------------------
Para cuando dice que lo quiere........................Ja Ja Ja Ja Ja

Jonatan
vAdviser
vAdviser
Mensajes: 600
Registrado: 13 Nov 2006, 17:17
Ubicación: México
Contactar:

horas

Mensaje por Jonatan » 21 Jun 2011, 19:24

Hola José Antonio, que bueno que hayas estado por estas tierras, espero que todo haya salido bien :D

Lo que comenta catarso es una buena idea, incluso yo lo manejaría solamente con segundos. De los segundos puedes obtener los minutos, horas y días.

Saludos cordiales
Alveus Soft
México, D.F.
http://microsip.wordpress.com/
http://twitter.com/rosper
http://www.solucionesmicrosip.com
Alveus Soft. CRM y Carrito de compra web.

JOSE ANTONIO RUZ
vMate
vMate
Mensajes: 79
Registrado: 07 Dic 2005, 17:40
Ubicación: PUENTE GENIL (Cordoba) - ESPAÑA
Contactar:

Mensaje por JOSE ANTONIO RUZ » 21 Jun 2011, 19:43

Hola Catarso y Jonatan,

Para Jonatan: Todo me ha salido muy bien, gracias.

Respecto del asunto en cuestión, voy a crear 4 campos fórmula numérica en la tabla histórica que usaré para alimentar otros tantos campos numéricos en la tabla maestra.

El tiempo formateado lo voy a implementar en una función que será llamada desde el mismo control de informe, así me servirá para retornar diversos formatos en función del requerido e, incluso, retornar una cadena vacía.

Muchas gracias a todos.
Saludos,

Avatar de Usuario
carlosfi
vAdviser
vAdviser
Mensajes: 431
Registrado: 02 May 2008, 20:39

Mensaje por carlosfi » 21 Jun 2011, 20:11

Jonatan, quisiera me explicaras como se hace para sacar segundos, minutos, horas, dias, a partir de los segundos. Te estaria muy agradecido.


Muchas Gracias

Jonatan
vAdviser
vAdviser
Mensajes: 600
Registrado: 13 Nov 2006, 17:17
Ubicación: México
Contactar:

datos

Mensaje por Jonatan » 21 Jun 2011, 22:38

Pues solo es necesario dividir los segundos que tenemos entre los de cada elemento que deseamos:

set SegundosTotales = 560,000
set Dias = fEntero( 560,000 / 86,400 )
set SegHoras = 560000 r 86400
set Horas = fEntero( SegHoras / 3,600)
set SegMinutos = SegHoras r 3600
set Minutos = fEntero(SegMinutos / 60 )
set Segundos = SegMinutos r 60

La constante "r" en velneo extrae el resto de una división.
Las variables Dias,Horas,Minutos y Segundos contendrían los valores.

Saludos cordiales
Alveus Soft
México, D.F.
http://microsip.wordpress.com/
http://twitter.com/rosper
http://www.solucionesmicrosip.com
Alveus Soft. CRM y Carrito de compra web.

Avatar de Usuario
carlosfi
vAdviser
vAdviser
Mensajes: 431
Registrado: 02 May 2008, 20:39

Mensaje por carlosfi » 22 Jun 2011, 21:59

Me salioooooooooooooo que idolo este Jonatan,,,,, levanto mapa para que los vean.

Esta dentro de un mapa levantado en otro hilo, pero se ven los calculos.

Espero ayude a alguien.
Adjuntos
Precio por seleccion.map
(219.54 KiB) Descargado 141 veces

Avatar de Usuario
carlosfi
vAdviser
vAdviser
Mensajes: 431
Registrado: 02 May 2008, 20:39

Mensaje por carlosfi » 22 Jun 2011, 22:01

Este ejemplo se puede utilizar bien en presupuetos con un periodo de tiempo valido, una vez que se llega a cierto tiempo se bloquea y queda sin validez, o directamente se elimina.
Desde ya muchas Gracias.

Carlos Figari
Luque-Paraguay

Responder