Compañeros,

Al momento de ingresar a: Portal>Acciones>Evaluaciones de Desempeño y seleccionar el periodo, me muestra el siguiente error:

System.NullReferenceException: Referencia a objeto no establecida como instancia de un objeto.
 en Aseinfo.VH4.EvaluacionDesempenio.Controllers.EvaluacionDesempenioController.<>c__DisplayClass25.<ObtenerEvaluacionesDeUsuarioAutenticado>b__17(AsignacionEvaluador asigEva) en c:BuildAgentwork89066541112bb801VH4EvaluacionDesempenioControllersEvaluacionDesempenioController.cs:línea 854
 en System.Collections.Generic.List`1.ForEach(Action`1 action) en Aseinfo.VH4.EvaluacionDesempenio.Controllers.EvaluacionDesempenioController.ObtenerEvaluacionesDeUsuarioAutenticado(Nullable`1 codigoPeriodo, GridCommand command) en c:BuildAgentwork89066541112bb801VH4EvaluacionDesempenioControllersEvaluacionDesempenioController.cs:línea 854 en lambda_method(Closure , ControllerBase , Object[] )
 en System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
 en System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
 en System.Web.Mvc.Async.AsyncControllerActionInvoker.<BeginInvokeSynchronousActionMethod>b__39(IAsyncResult asyncResult, ActionInvocation innerInvokeState)
 en System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult)
 en System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3d()
 en System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f()
 en System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f()
 en System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f()
 en System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f()
 en System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f()
 en System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f()
 en System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass33.<BeginInvokeActionMethodWithFilters>b__32(IAsyncResult asyncResult)
 en System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass21.<>c__DisplayClass2b.<BeginInvokeAction>b__1c() en System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass21.<BeginInvokeAction>b__1e(IAsyncResult asyncResult)

Este error unicamente se esta presentando con un usuario, ya he probado con otros usuario y no muestra el error.

Lo que logro detectar es que el problema puede ser a que un dato viene nulo pero no encuentro dicho valor ya que el error no me dice muy claro el problema.

Ya revise la tabla eva.ase_asigna_evaluadores y si muestra datos.

Les agradeceré sus comentarios.

asked 11 Oct '16, 13:00

jdelcid's gravatar image

jdelcid
(suspended)
accept rate: 16%

edited 11 Oct '16, 14:16

Fernando%20Paz's gravatar image

Fernando Paz ♦♦
17.3k81635

¿Que versión de Evolution estas usando?

(11 Oct '16, 14:13) Fernando Paz ♦♦ Fernando%20Paz's gravatar image

es la version 1.10.0.6, SQL

(11 Oct '16, 14:25) jdelcid jdelcid's gravatar image

Mi recomendación es que actives el Profiler de Evolution o el el trace de SQLProfile, para ver las instrucciones select que ejecuta, ya que el error claramente dice donde sucede.

La línea de código que genera el error es:

asignacionesEvaluador.ForEach(asigEva => asigEva.PlazaEvaluada.Empleos .Where(emp => emp.Estado == EstadoEmpleo.Activo && (asigEva.DireccionEvaluacion.ReglaAplicaGeneracionPorEstructura != ReglaAplicacionDireccionEvaluacion.AutoEvaluacion || (empleos.Any(empleo => empleo.Codigo == emp.Codigo) && asigEva.DireccionEvaluacion.ReglaAplicaGeneracionPorEstructura == ReglaAplicacionDireccionEvaluacion.AutoEvaluacion)) && !evaluacionesRealizadas.Any(s => s.EvaluacionConsolidada.Empleo.Codigo == emp.Codigo && s.EvaluacionConsolidada.Empleo.Plaza.Codigo == emp.Plaza.Codigo)).ToList() .ForEach(emp => evaluaciones.Add(new EvaluacionDesempenioModel { Codigo = 0, CodigoEmpleo = emp.Codigo, CodigoEmpleoEvaluador = empleoEvaluador.Codigo, CodigoDireccion = asigEva.DireccionEvaluacion.Codigo, CodigoPeriodo = asigEva.Periodo.Codigo, Direccion = asigEva.DireccionEvaluacion.Descripcion, Estado = this.GetLocalized("EstadoEvaluacionDesempenioPendiente"), Fecha = null, NombreCompania = emp.Plaza.Compania.Descripcion, NombreEmpleado = emp.Expediente.ApellidosNombres, NombrePlaza = emp.Plaza.Nombre, NombreUnidad = emp.Plaza.Unidad.Descripcion })));

Sin embargo es muy dificil intuir cual de todos los datos que Evolution espera, le está retornando NULL.

Entonces tendrías que verificar cada utilización de Propiedades o Clases hijas que se da sobre la instrucción anterior.

Las condiciones principales que verifica son:

  • La plaza del Evaluado tiene empleos
  • Los empleos que tiene están activos
  • Si la dirección de la evaluación es 'autoevaluación' verifica que el evaluado y el evaluador sean el mismo empleo y que la evaluación no exista previamente.
  • Para otras direcciones, no verifica nada, sino que confía en la asignación de evaluador/evaluado.

Con esta validaciones, crea una nueva evaluación con la siguiente información:

  1. El codigo de empleo del evaluado y del evaluador
  2. El código y la descripción de la dirección
  3. El código del período
  4. El nombre de la empresa dle evaluado
  5. El nombre del evaluado
  6. El nombre de la plaza del evaluado
  7. La descripción de la unidad a la que pertenece el evaludo.

Con esta información inicia el registro de la evaluación.

link

answered 11 Oct '16, 14:35

Fernando%20Paz's gravatar image

Fernando Paz ♦♦
17.3k81635
accept rate: 51%

edited 11 Oct '16, 14:36

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:

×51

Asked: 11 Oct '16, 13:00

Seen: 681 times

Last updated: 11 Oct '16, 14:36

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