Evolution 1.9.1.2 Se ha desarrollado un reporte en plantilla de Word, tipo maestro con 2 detalles. Al generar el reporte con la interfaz de Evolution para un colaborador, el reporte se genera a Word sin problemas, por lo que la configuración del reporte es correcta en cuanto a relación de llaves primarias y foráneas. Sin embargo, cuando intento generar el reporte para todos los colaboradores, se genera error. Ya validé que los 2 detalles tengan su correspondiente maestro (es decir, que no estén huérfanos). Lo que sí sucede es que un maestro no tenga al menos 1 de los detalles, pero este caso no debería dar problema. También probé generar el reporte para cada uno de los 94 colaboradores que participan en el reporte, y en cada caso individual el documento de Word se generó sin error. La otra prueba que hice fue tomar el listado de códigos alternativos que generan las fuentes de datos del reporte al ser ejecutados desde SQL Server, y luego estos códigos alternativos los puse en código fijo dentro de una consulta IN en el where de dichas fuentes de datos (es decir, where exp_codigo_alternativo in ('001', '002', ...)). Al hacerlo de esta manera, no se genera error al generar el reporte de Word para todos los colaboradores. ¿A qué podría deberse el error al generar Word maestro detalle? El error que se genera es el siguiente:
Aseinfo.Infrastructure.Base.Exceptions.WordDocumentGenerationException: Hubo un error al generar el documento de Word. Favor verificar
---> System.ArgumentException: No se puede habilitar esta restricción ya que todos los valores no tienen los valores primarios correspondientes.
en System.Data.ConstraintCollection.AddForeignKeyConstraint(ForeignKeyConstraint constraint)
en System.Data.ConstraintCollection.Add(Constraint constraint, Boolean addUniqueWhenAddingForeign)
en System.Data.DataRelationCollection.DataSetRelationCollection.AddCore(DataRelation relation)
en System.Data.DataRelationCollection.Add(DataRelation relation)
en System.Data.DataRelationCollection.Add(String name, DataColumn[] parentColumns, DataColumn[] childColumns)
en Aseinfo.Infrastructure.Services.WordTemplateService.GetWordTemplateData(WordTemplate template, IEnvironmentVariables variables, IDictionary La configuración del reporte se muestra en la siguiente imagen: asked 27 Jun '16, 09:47 Henry Sandoval Fernando Paz ♦♦ |
El error que te da es claro:
Lo que sucede es que cuando generas para todos los empleados, alguno de los detalles genera registros inconsistentes con la llave foránea, ya que esto te indica el error. answered 27 Jun '16, 12:42 Fernando Paz ♦♦ Ya extraje los datos generados por los detalles, y los comparé en Excel con los datos generados por el maestro, y no hay hijo sin padre, tampoco encontré valores nulos en la llave foránea de los detalles.
(27 Jun '16, 12:50)
Henry Sandoval
Si te creo, pero ese es el error que está dando, que no puede crear la relación porque hay elementos hijos que no tienen maestro.
(27 Jun '16, 14:42)
Fernando Paz ♦♦
Se aumentó el tiempo de espera del Sitio Web de Evolution, y entonces se pudo generar sin error el reporte de Word maestro detalle.
(26 Aug '16, 13:53)
Henry Sandoval
|