Evolution 1.9.1.2
SQL Server

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, IDictionary2 valoresParametros) en c:\VH4\Infrastructure\Services\WordTemplates\WordTemplateService.cs:línea 186 en Aseinfo.Infrastructure.Services.WordTemplateService.GenerateDocument(WordTemplate template, IEnvironmentVariables variables, IDictionary2 valoresParametros) en c:VH4InfrastructureServicesWordTemplatesWordTemplateService.cs:línea 100 --- Fin del seguimiento de la pila de la excepción interna --- en Aseinfo.Infrastructure.Services.WordTemplateService.GenerateDocument(WordTemplate template, IEnvironmentVariables variables, IDictionary2 valoresParametros) en c:\VH4\Infrastructure\Services\WordTemplates\WordTemplateService.cs:línea 110 en Aseinfo.Infrastructure.Controllers.WordTemplateController.GenerateWordDocument(String id, Dictionary2 parametros, Boolean mostrandoEnDialogo) en c:VH4InfrastructureControllersWordTemplateController.cs:línea 154


La configuración del reporte se muestra en la siguiente imagen:

asked 27 Jun '16, 09:47

Henry%20Sandoval's gravatar image

Henry Sandoval
(suspended)
accept rate: 53%

edited 27 Jun '16, 14:44

Fernando%20Paz's gravatar image

Fernando Paz ♦♦
17.3k81635


El error que te da es claro:

System.ArgumentException: No se puede habilitar esta restricción ya que todos los valores no tienen los valores primarios correspondientes.

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.

link

answered 27 Jun '16, 12:42

Fernando%20Paz's gravatar image

Fernando Paz ♦♦
17.3k81635
accept rate: 51%

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 Henry%20Sandoval's gravatar image

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 ♦♦ Fernando%20Paz's gravatar image

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 Henry%20Sandoval's gravatar image
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Evolution en BitBucket

En este sitio puede acceder al código fuente, centro de descargas y reportar bugs, propuestas y mejoras para Evolution.

Evolution en JIRA

En este sitio puedes sugerir nueva funcionalidad para Evolution, o puedes votar por la funcionalidad ya propuesta por otros usuarios.

Tags:

×13
×9
×2
×1

Asked: 27 Jun '16, 09:47

Seen: 1,238 times

Last updated: 26 Aug '16, 13:53

[Acerca de] [Preguntas Frecuentes] [Privacidad] [Soporte] [Contacto]
Copyright 2013-2018. Asesores en Informática