none
que unidad uso para guardar en un campo decimal expresiones de horas RRS feed

  • Pregunta

  • tengo la necesidad de crear un sistema para cargar las horas de trabajo de los empleados, o sea se carga el empleado, la fecha, el trabajo y la cantidad de horas dedicadas

    guardaria la cantidad de horas en un campo decimal por ejemplo pero no se en que expresion guardar las horas, si es mejor guardar la cantidad expresada en horas, o en minutos o en alguna otra forma, a mi particularmente se me ocurrio guardar en minutos y trabajar todo con minutos, si pido al usuario qeu me ingrese cuantas horas trabajo lo haria en minutos, luego en mis reportes podria convertir a horas si quisiera ver en horas, pero la idea mia es trabajar con minutos como las empresas que facturan telefonia, me parece que es al unidad mas adecuada pero me gustaria recibir algun consejo para saber si estoy bien orientado o hay una opcion mejor

    mi pregunta es una pregunta de analisis, pero como no tenemos un foro de analis, cosa que seria buena, lo hago aca, si alguien me reta, desde ya mil disculpas, pero a esta pregunta la hago aca porque aca hay gente picante y con experiencia

    saludos

    saludos


    programador
    viernes, 24 de diciembre de 2010 13:53

Todas las respuestas

  • Saludo Rodrigo Feliz Navidad, puede crearte un tabla con la sigte. estructura:

    TiempoTrabajado(Tabla)
    TimeId     // Clave Primaria
    TotalTime   // Un entero que reflejara el tiempo
    unidad     // Unidad de medida: hora, minuto, segundo
    Date      // Fecha de trabajo
    EmployeeID   // Tecla foranea que señala al empleado que trabajo
    JobID     // Tecla foranea que señala el tipo de trabajo que realizo

    Opcionalmente puede agregar una columna de fecha Luego puede realizar operaciones de suma y reta en esta columna de acuerdo con el valor de la columna de unidad

    IF (Unidad = H)
    BEGIN
      Realiza la operacion de Suma o Resta a la parte de la hora de una columna de Fecha
    END
    ELSE
    BEGIN
      Realiza la operacion de Suma o Resta a la parte de la Minuto de una columna de Fecha
    END

    Funciones de Fecha y Hora integrada del SQL

     


    Si la informacion te fue de Utilidad marcala como util

    Angel R. Jimenez G.
    Software Development
    Santo Domingo Republica Dominicana
    sábado, 25 de diciembre de 2010 21:58
  • Saludo de nuevo Rodrigo Feliz Navidad, opcionalmente puede crear dos columnas de fecha(HoraInicio, HoraFinal) y en una tercera columna de Time, extrae la parte de la hora para calcula la direferncia entre la dos fechas(TiempoTotal)
    Si la informacion te fue de Utilidad marcala como util

    Angel R. Jimenez G.
    Software Development
    Santo Domingo Republica Dominicana
    domingo, 26 de diciembre de 2010 15:24
  • Hola Angel, Feliz Navidad!!!, yo he visto sistemas que piden la carga de horas
    en formato hora y minutos, asi si trabajaste 40 minutos tenes que cargar 0.40, si
    trabajaste una hora y media tenes que ingresar 1.3 y no lo vi comodo porque a la hora de
    los informes tenes que convertir y calcular entre la suma de las horas

    0.40 + 1.3= 1.7 y no podes mostrar directamente esto expresado en horas, sino que hay que mostrar
     2 horas, 10 minutos

    por eso tenia la idea de pedir siempre minutos y en los calculos sumar todos los minutos
    y al final en los reportes trasformar de minutos a horas oi a horas y minutos si es necesario mostrar
    pero es mas facil el calculo, porque he visto que si lo tenes expresado en horas y minutos
    tenes que convertir en cada sumatoria

    no tomare entre dos fechas la hora que seria otra opcion, por ahi no interesa tanto la hora de inicio
    y fin, sino mas bien el total trabajado

    entonces mi pregunta era si es conveniente trabajar todo en minutos como base para grabar mis datos
    en las tabals de las horas trabajadas y a partir de esto convertir a lo que desee

    yo lo veo mas conveniente que grabar directaemnte en horas y minutos en la tabla, aunque de todos modos tendre conversiones en mis reportes sera un solo calculo final

    saludos y gracias

     


    programador
    lunes, 27 de diciembre de 2010 14:09