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: ![]() |