- style
Solución de problemas
Cuando se trabaja con la Generación de informes avanzados, se pueden encontrar las siguientes incidencias:
El dominio está dañado
Síntoma
El módulo de generación de informes avanzados no funciona del modo previsto cuando se agregan campos personalizados al dominio. Los problemas incluyen que no se puedan abrir los cuadros de mandos y los informes existentes.
Solución
- Restaure los archivos de diseño de dominio y de la seguridad de la copia de seguridad. Para obtener más información, consulte la sección Restauración de los archivos del dominio en Sincronización de los campos personalizados con el dominio.
- Si no se ha realizado la copia de seguridad de los archivos de diseño del dominio y de la seguridad, póngase en contacto con Soporte de ServiceAide para restaurar la configuración predeterminada. Se perderán todos los datos como los campos personalizados y las vistas adhoc que se han creado cuando se restauren los valores de configuración predeterminados.
Error al agregar campos a la vista adhoc
Síntoma
Al agregar campos a una vista adhoc, se produce uno de los siguientes errores:
- Se muestra un mensaje de error.
- La barra de progreso aparece continuamente sin ninguna acción en la página.
Soluciones
Este error se puede producir en uno o en todos los campos. Utilice una de las resoluciones siguientes según el requisito:
- Si el problema está relacionado con un campo específico, realice las siguientes acciones:
- Asegúrese de que el campo que se agrega a una vista adhoc se convierte correctamente en el tipo de datos real en el dominio. Para obtener más información acerca de la expresión de transformación, consulte el paso 8.c de Sincronizar campos personalizados al dominio.
- Asegúrese de que el esquema se ha diseñado correctamente como por ejemplo que las uniones son correctas, que las tablas derivadas tienen sugerencias de tablas y que no se ejecutan consultas.
- Si el problema está relacionado con todos los campos, póngase en contacto con Soporte de ServiceAide.
- Si el problema está relacionado con un campo específico, realice las siguientes acciones:
Se ha producido un error al guardar el informe o la vista adhoc
Síntoma
Al guardar la vista o el informe adhoc con un nombre largo, se mostrarán los siguientes errores:
- Para la vista adhoc: Server Error: We apologize but something's gone wrong (Error del servidor: lo sentimos pero algo va mal).
- Para los informes: An unexpected error prevented JasperReports from saving the report (Un error inesperado no ha dejado a JasperReports guardar el informe). Póngase en contacto con el administrador.
Solución
Asegúrese de que el nombre del informe o vista adhoc no exceda los 94 caracteres.
Se produce un fallo al abrir el informe
Síntoma
Al abrir un informe que se ha creado con campos personalizados, se produce un fallo.
Solución
Asegúrese de que los campos personalizados se han sincronizado correctamente con el dominio que se utiliza para crear informes. Para obtener más información, consulte Sincronización de los campos personalizados con el dominio.
El archivo de seguridad del dominio no es válido
Síntoma
Cuando se hace clic en Enviar en la página Editar dominio después de actualizar el dominio, se recibe un error que indica que el archivo de seguridad del dominio no es válido.
Solución
Este error se produce debido a la falta de coincidencia de los nombres del conjunto de datos con sus árboles de unión correspondiente en el archivo de seguridad y en el dominio. En el dominio, los conjuntos de datos están disponibles en Visualización, Recursos, Árboles de unión.
Para solucionar esta incidencia, descargue y abra el archivo de seguridad en el equipo local. Compare el conjunto de datos que se encuentra Árboles de unión entre el archivo de seguridad y el panel Recursos. Si los conjuntos de datos no coinciden con Árboles de unión, actualice Árboles de unión en el archivo de seguridad para que coincidan con el panel Recursos.
Siga los pasos siguientes:
- Haga clic y descargue al equipo local el archivo custom_cloud_sm_security.xml desde Editar dominio, Información opcional, Archivo de seguridad.
- Haga clic en Editar con el diseñador del dominio y acceda al Diseñador del dominio, ficha Visualización. La ficha Visualización se abre con la lista de árboles de unión en el panel izquierdo debajo de Recursos.
- Abra el archivo de seguridad descargado en un editor de texto como WordPad.
Expanda los árboles de unión en el panel Recursos. Verifique que los nombres de tabla en la sección Árboles de unión y en el archivo de seguridad sean los mismos.
Por ejemplo, tenga en cuenta el siguiente código del archivo de seguridad:<resourceAccessGrantList id="Tasks_FilterList" label="Tasks Filter List" resourceId="JoinTree_1"> <resourceAccessGrants> <resourceAccessGrant id="TaskSliceFilter"><principalExpression>(authentication.getPrincipal().getAttributes().any{ it.getAttrName() in ['nsd_slice']})</principalExpression> <filterExpression>(testProfileAttribute(dbo_VITPM_PROJECT_TASKS.slice,'nsd_slice'))</filterExpression> </resourceAccessGrant> <resourceAccessGrant id="TaskMemberFilter"> <principalExpression>(authentication.getPrincipal().getAttributes().any{it.getAttrName() in ['nsd_UserId']})</principalExpression> <filterExpression>((groovy('authentication.getPrincipal().getRoles().any{it.getRoleName()=="ROLE_CSM_ADMINISTRATOR"}') == 'true') or CHARINDEX(dbo_VITPM_PROJECT_TASKS.members,(groovy('authentication.getPrincipal().getAttributes().find{it.getAttrName()=="nsd_UserId"}.attrValue')))>=0)</filterExpression> </resourceAccessGrant> <resourceAccessGrant id="Task_OBSFilter"> <principalExpression> <![CDATA[authentication.getPrincipal().getAttributes().any{it.getAttrName() in ['nsd_OBSEnabled'] && it.getAttrValue() in ['True']}]]> </principalExpression> <filterExpression>(OBS_PRJ_TASKS.org_id in (dbo_VITPM_PROJECT_TASKS.org_id) and testProfileAttribute(OBS_PRJ_TASKS.user_id,'nsd_UserId'))</filterExpression> </resourceAccessGrant> </resourceAccessGrants> </resourceAccessGrantList>
resourceId especifica el nombre del Árbol de unión JoinTree_1 y filterExpression especifica el nombre de la tabla dbo_VITPM_PROJECT_TASKS. Verifique que el nombre de tabla dbo_VITPM_PROJECT_TASKS coincide con el nombre de tabla que se encuentra en JointTree_1 debajo del panel Recursos.
Si los nombres de tabla del archivo de seguridad no coinciden con los Árboles de unión que se encuentran en el panel Recurso, edite el archivo de seguridad en consecuencia.
Por ejemplo, considere que el nombre de tabla dbo_VITPM_PROJECT_TASKS está en JoinTree_1 del archivo de seguridad. En el panel Recursos de la ficha Visualización, la tabla dbo_VITPM_PROJECT_TASKS está disponible en JoinTree_2. Para que coincida la información, edite el archivo de seguridad y cambie el nombre del valor resourceId de JoinTree_1 a JoinTree_2.
Cambie todos los valores de resourceId en el archivo de seguridad en consecuencia.Guarde los cambios y cierre el archivo de seguridad.
Haga clic en Cancelar para volver a la página Editar dominio.
En la página Editar dominio, haga clic en Cambiar que se corresponde con el archivo de seguridad. Busque y seleccione el archivo de seguridad en el equipo local.
Haga clic en Enviar. El archivo de seguridad antiguo se reemplaza con el archivo actualizado y se resuelve la incidencia del archivo de seguridad de dominio no válido.
El campo Organización del solicitante no muestra datos
Síntoma
Cuando se agrega el campo Organización del solicitante a un informe, el informe generado posteriormente no muestra datos en el campo Organización del solicitante.
Solución
Este error se produce si el campo Organización del solicitante no está asignado correctamente al esquema de dominio personalizado que se suministra con una versión anterior. Para resolver este error, realice los siguientes pasos:
- Desde el espacio de trabajo Informes avanzados, haga clic en Acciones, Editar dominio.
Se abrirá la página Editar dominio en una nueva página. - Haga clic en Editar con el diseñador de dominio.
- Suprima el campo Organización del solicitante existente del conjunto de visualización:
- Vaya a la ficha Mostrar y expanda los Tickets establecidos en el panel Conjuntos y elementos.
- Seleccione el campo Organización del solicitante y haga clic en el botón Suprimir elemento.
Si este campo ya está en uso, aparecerá un mensaje de confirmación. - Haga clic en Aceptar.
El campo Organización del solicitante se ha suprimido correctamente del conjunto de visualización.
- Agregue el campo Organización del solicitante adecuado en el conjunto de visualización:
- En el panel Recursos, expanda el árbol de unión con la tabla dbo_VAPP_ITEM.
- Seleccione y mueva el campo person1_org_name en los Tickets establecidos en el panel Conjuntos y elementos.
- Seleccione el campo agregado y haga clic en Editar en el panel Propiedades.
- Introduzca la siguiente información y haga clic en Guardar.
- Etiqueta: Organización del solicitante
- ID: person1_lvl1_org_name
- Descripción: Organización del solicitante
- Etiqueta de clave: set_person1_lvl1_org_name_lbl
- Clave de descripción: set_person1_lvl1_org_name_desc
- Haga clic en Aceptar y, a continuación, haga clic en Enviar.
El campo actualizado Organización del solicitante se ha agregado al conjunto de visualización. Las vistas adhoc y los informes que ya están utilizando este campo mostrarán los datos adecuados.
Se ha producido un fallo al convertir el tipo de datos de fecha
Síntoma
Cuando crea una vista adhoc, se muestra un error al agregar la columna DateTime personalizada.
Solución
Los campos personalizados se guardan como una cadena en la base de datos mientras la expresión EPOCH_TO_UTC_DATETIME toma la entrada como un número entero. Utilice la siguiente expresión para convertir el campo DateTime personalizado:
EPOCH_TO_UTC_DATETIME (str2int(dbo_VAPP_SERVICE_REQUEST_ATTRIBUTES_PIVOT.scheduling_date))
No se pueden agregar campos personalizados a las vistas adhoc
Síntoma
Se muestra un error al agregar campos personalizados que contienen caracteres acentuados a las vistas adhoc.
Solución
Realice los siguientes pasos para solucionar este problema:
- Desde el espacio de trabajo Informes avanzados, haga clic en Acciones, Editar dominio.
Se abrirá la página Editar dominio en una nueva página. - Haga clic en Editar con el diseñador de dominio. Se abrirá la ventana Diseñador de dominio.
- Haga clic en la ficha Mostrar. En el panel Conjuntos y elementos, expanda los conjuntos y seleccione el campo con caracteres con acentos.
Los detalles de los campos se muestran en el panel Propiedades. - En el panel Propiedades, haga clic en Editar y elimine los caracteres acentuados del campo ID.
- Guarde los cambios realizados. El campo está listo para su uso en un informe o vista.
Se muestra una duplicación de datos en los informes para los analistas
Síntoma
Se muestran registros duplicados en el informe cuando se activa la seguridad basada en la organización para el usuario analista.
Solución
Para solucionar este problema, elimine las uniones con vistas de la organización agregando una consulta de filtro en el archivo de seguridad.
Siga los pasos siguientes:
- Haga clic en Editar dominio, Información opcional, Archivo de seguridad y descargue el archivo de seguridad custom_cloud_sm_security.xml al equipo local.
- Abra el archivo de seguridad descargado en un editor de texto o XML como WordPad XML Editor.
- Realice los siguientes pasos en el archivo de seguridad:
Nota: Si alguno de los elementos de búsqueda como Project_OBSFilter y TimeLog_OBSFilter no están disponibles en el archivo, pase al siguiente elemento de la búsqueda.Busque Ticket_OBSFilter. Vaya a la etiqueta FilterExpression y reemplace el código con el código siguiente:
Code Block<filterExpression>AddSqlTemplateFunction('Exists(select 1 from vorg_contact_group_derived_relations v where v.org_id in (dbo_VAPP_ITEM.PERSON1_ORG_ID,dbo_VAPP_ITEM.PERSON2_ORG_ID) and v.user_id = LOGGED_IN_USER_ID)','authentication.getPrincipal().getAttributes().find{it.getAttrName()== "nsd_UserId"}.attrValue')</filterExpression>
Busque CI_OBSFilter. Vaya a la etiqueta FilterExpression y reemplace el código con el código siguiente:
Code Block<filterExpression>AddSqlTemplateFunction('Exists(select 1 from vorg_contact_group_derived_relations v where v.org_id = dbo_VSCR_CI.org_id and v.user_id = LOGGED_IN_USER_ID)','authentication.getPrincipal().getAttributes().find{it.getAttrName()== "nsd_UserId"}.attrValue')</filterExpression>
Busque Asset_OBSFilter. Vaya a la etiqueta FilterExpression y reemplace el código con el código siguiente:
Code Block<filterExpression>AddSqlTemplateFunction('Exists(select 1 from vorg_contact_group_derived_relations v where v.org_id = dbo_VAM_ASSET_LIST.ORGANIZATION_ID and v.user_id = LOGGED_IN_USER_ID)','authentication.getPrincipal().getAttributes().find{it.getAttrName()== "nsd_UserId"}.attrValue')</filterExpression>
Busque Project_OBSFilter. Vaya a la etiqueta FilterExpression y reemplace el código con el código siguiente:
Code Block<filterExpression>AddSqlTemplateFunction('Exists(select 1 from vorg_contact_group_derived_relations v where v.org_id = dbo_VITPM_PROJECTS.org_id and v.user_id = LOGGED_IN_USER_ID)','authentication.getPrincipal().getAttributes().find{it.getAttrName()== "nsd_UserId"}.attrValue')</filterExpression>
Busque Task_OBSFilter. Vaya a la etiqueta FilterExpression y reemplace el código con el código siguiente:
Code Block<filterExpression>AddSqlTemplateFunction('Exists(select 1 from vorg_contact_group_derived_relations v where v.org_id = dbo_VITPM_PROJECT_TASKS.org_id and v.user_id = LOGGED_IN_USER_ID)','authentication.getPrincipal().getAttributes().find{it.getAttrName()== "nsd_UserId"}.attrValue')</filterExpression>
Busque PA_OBSFilter. Vaya a la etiqueta FilterExpression y reemplace el código con el código siguiente:
Code Block<filterExpression>AddSqlTemplateFunction('Exists(select 1 from vorg_contact_group_derived_relations v where v.org_id = dbo_VITPM_ASSOCIATIONS.org_id and v.user_id = LOGGED_IN_USER_ID)','authentication.getPrincipal().getAttributes().find{it.getAttrName()== "nsd_UserId"}.attrValue')</filterExpression>
Busque TimeLog_OBSFilter. Vaya a la etiqueta FilterExpression y reemplace el código con el código siguiente:
Code Block<filterExpression>AddSqlTemplateFunction('Exists(select 1 from vorg_contact_group_derived_relations v where v.org_id = dbo_VITPM_TASK_TIMELOG.org_id and v.user_id = LOGGED_IN_USER_ID)','authentication.getPrincipal().getAttributes().find{it.getAttrName()== "nsd_UserId"}.attrValue')</filterExpression>
- Guarde los cambios y cierre el archivo de seguridad.
- En la página Editar dominio, haga clic en Cambiar que se corresponde con el archivo de seguridad. Busque y seleccione el archivo de seguridad en el equipo local.
- Haga clic en Enviar.
El archivo de seguridad antiguo se reemplaza con el archivo actualizado y se elimina la incidencia de los registros duplicados para el usuario analista.
© 2017 ServiceAide 1-650-206-8988 http://www.serviceaide.com info@serviceaide.com