Acciones
Correccion - Mejora #2477
cerradaMejoras en formato de datos para resumen ejecutivo de agentes
Estado:
Resuelta
Prioridad:
Normal
Asignado a:
Categoría:
Desarrollo
Versión prevista:
Fecha de inicio:
2016-03-01
Fecha fin:
% Realizado:
100%
Tiempo estimado:
4:00 h
Versión:
Descripción
El 01/03/16 a las 10:13, Anastasio Navarro escribió: > > Necesitaría que en los Resúmenes Ejecutivos de Oficinas (Agente//Resumen//Resumen Ejecutivo) y en el Resumen de Usuarios (Cuadro de Mando//Resumen de usuario) > que se descargan desde Gespro les hicieras algunos cambios para que los pueda procesar en Excel con más facilidad y rapidez: > > 1. Que las fechas de inicio y fin tengan formato FECHA. > 2. Que los números y porcentajes tengan formato NÚMERO. > 3. Que separes o insertes un tab entre el numero y palabra (1 proyecto) para que en Excel me salgan en celdas separadas el numero y la palabra. >
Actualizado por Santiago Ramos hace más de 8 años
- % Realizado cambiado de 0 a 50
- Tiempo estimado cambiado de 2:00 h a 4:00 h
He limpiado el código del método que generaba el resumen ejecutivo y ya se muestra correctamente en .xls : El formateo de los campos debe hacerse en el helper y no en el controlador, de esa forma cuando se muestra en html o pdf se ajusta a la presentación elegida, pero cuando se vuelca a xls se envían los datos en crudo y que sea la propia hoja la que aplique cómo se ve cada tipo de campo.
He aprovechado para tocar en el helper que formatea los campos y cambiar cómo se procesan las fechas (según locale) y los enteros (conversión directa a string):
# devuelve una cadena adecuada al tipo de contenido def celda_formateada celda, formato=nil # Las cadenas las devolvemos incluyendoles saltos de página forzados return (celda == "" ? " " : h(celda).gsub(/\n/,"<br>").html_safe) if celda.is_a? String # Las fechas las devolvemos segun los locales que estemos usando return I18n.l celda if celda.is_a? Date # Si no es ni cadena ni fecha será un número... # Para volcados con 'td_g', lo tratamos con 5 decimales if formato && formato.end_with?("_td_g") return float_a_moneda(celda,'%.5f') # Si no estamos indicando formato, o este no es td_g else # Los enteros tal cual return celda.to_s if celda.is_a? Integer # Y el resto con dos decimales return float_a_moneda(celda) unless celda.is_a? Integer end end
Actualizado por Santiago Ramos hace más de 8 años
- Estado cambiado de Asignada a Resuelta
- % Realizado cambiado de 50 a 100
Acciones