Estoy generando planilla, y obtengo el siguiente mensaje de error:
[16/03/2015 11:32:04 a.m.]: Error al intentar procesar el período de planilla a generar
[16/03/2015 11:32:04 a.m.]: Generando la lista de factores, agrupadores y cursores para el período 2
[16/03/2015 11:32:04 a.m.]: Iniciando Generación: Sesion = c640f30c-04b1-41e0-a8af-f9c64c19cd26, Periodo = 2, Usuario = admin, Fecha = 3/16/2015 11:32:03 AM
Al hacer un profiler a la base de datos al iniciar el proceso de generación, veo el error "Non-static method requires a target", obtenido del siguiente detalle:
exec sp_execute 1,@log_date='2015-03-16 11:15:09.463',@thread=N'12',@log_level=N'FATAL',@logger=N'd9bcaa60-5aa2-43ef-89e7-652aa9f2eba1',@message=N'Error al intentar procesar el período de planilla a generar',@exception=N'System.Reflection.TargetException: Non-static method requires a target.
at System.Reflection.RuntimeMethodInfo.CheckConsistency(Object target)
at System.Reflection.RuntimeMethodInfo.InvokeArgumentsCheck(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.RuntimePropertyInfo.GetValue(Object obj, BindingFlags invokeAttr, Binder binder, Object[] index, CultureInfo culture)
at System.Reflection.RuntimePropertyInfo.GetValue(Object obj, Object[] index)
at System.Data.Objects.ELinq.QueryParameterExpression.TryGetFieldOrPropertyValue(MemberExpression me, Object instance, Object& memberValue)
at System.Data.Objects.ELinq.QueryParameterExpression.TryEvaluatePath(Expression expression, ConstantExpression& constantExpression)
at System.Data.Objects.ELinq.QueryParameterExpression.EvaluateParameter(Object[] arguments)
at System.Data.Objects.ELinq.ELinqQueryState.GetExecutionPlan(Nullable`1 forMergeOption)
at System.Data.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption)
at System.Data.Objects.ObjectQuery`1.System.Collections.Generic.IEnumerable<t>.GetEnumerator()
at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
at Aseinfo.VH4.WindowsServices.Salarios.Ejecutores.EjecutorFormulacionBase.EjecutarGeneracion() in c:\BuildAgent\work\608d469cc106b504\VH4\WindowsServices\GeneraPlanillaWindowsService\Salarios\Ejecutores\EjecutorFormulacionBase.cs:line 538
at Aseinfo.VH4.WindowsServices.Salarios.Ejecutores.EjecutorFormulacionBase.GenerarPlanilla(IGenericEntityRepository entityRepository, PeriodoPlanillaEnGeneracion periodoPlanillaEnGeneracion, ThreadsData threadsData) in c:\BuildAgent\work\608d469cc106b504\VH4\WindowsServices\GeneraPlanillaWindowsService\Salarios\Ejecutores\EjecutorFormulacionBase.cs:line 276'
Ya revisé los cursores y todos funcionan. Ya revisé el Elmah y no tiene registros de este error.
¿Qué alternativas de revisión tengo que no sea depurar uno a uno los factores?
Evolution Versión 1.8.2.3
SQL Server 2008 R2
Puedo entender que el problema puede estar en algún cambio que apliqué en la formulación, el problema es que no puedo determinar cuál es el cambio que debe ser corregido, y el mensaje de error no me dice mucho. Inicialmente, tenía el mismo mensaje de error, y puede encontrar un error en el proceso pa.GenPla_Inicializacion (un procedimiento recibía menos parámetros), pero ya validé los procesos de inicialización y finalización, así como los cursores, pero sigo teniendo el mensaje de error.

2015-03-18 08:49:44,838 [15] INFO Aseinfo.VH4.WindowsServices.Salarios.GenPlaWinService - Finalizando el WCF de generación de planilla ...
2015-03-18 08:49:44,877 [15] INFO Aseinfo.VH4.WindowsServices.Salarios.GenPlaHostWcf - Deteniendo el Host WCF
2015-03-18 08:49:45,042 [15] INFO Aseinfo.VH4.WindowsServices.Salarios.GenPlaHostWcf - Host WCF detenido
2015-03-18 08:49:45,047 [15] INFO Aseinfo.VH4.WindowsServices.Salarios.GenPlaHostWcf - Deteniendo el gesto de cola
2015-03-18 08:49:45,678 [ThreadGestorCola] INFO Aseinfo.VH4.WindowsServices.Salarios.GenPlaHostWcf - ThreadAbortException - Solicitando terminar el servicio
2015-03-18 08:49:45,849 [15] INFO Aseinfo.VH4.WindowsServices.Salarios.GenPlaHostWcf - Gestor de cola detenido
2015-03-18 08:49:45,854 [15] INFO Aseinfo.VH4.WindowsServices.Salarios.GenPlaWinService - Servicio WCF de generación de planilla finalizado correctamente ...
2015-03-18 08:49:48,233 [1] INFO Aseinfo.VH4.WindowsServices.Salarios.GenPlaWinService - Iniciando la configuración del CryptographyService...
2015-03-18 08:49:48,356 [1] INFO GenPlaWinService - Verificando que el archivo C:\Program Files (x86)\ASEINFO\Evolution Tools 1.8.2.0\SymmetricKey.key exista ...
2015-03-18 08:49:48,369 [1] INFO GenPlaWinService - Revisando la ruta del archivo SymmetricKey.key en la configuración del servicio de windows ...
2015-03-18 08:49:48,560 [1] INFO Aseinfo.VH4.WindowsServices.Salarios.GenPlaWinService - CryptographyService iniciado correctamente ...
2015-03-18 08:49:48,564 [5] INFO Aseinfo.VH4.WindowsServices.Salarios.GenPlaWinService - Iniciando el WCF de generación de planilla ...
2015-03-18 08:49:48,753 [5] INFO Aseinfo.VH4.WindowsServices.Salarios.GenPlaHostWcf - Iniciando el EventLog del Windows Service...
2015-03-18 08:49:48,780 [5] INFO Aseinfo.VH4.WindowsServices.Salarios.GenPlaHostWcf - Creando el host para el WCF de generación de planilla
2015-03-18 08:49:50,892 [5] INFO Aseinfo.VH4.WindowsServices.Salarios.GenPlaHostWcf - Host creado y abierto exitósamente
2015-03-18 08:49:50,898 [5] INFO Aseinfo.VH4.WindowsServices.Salarios.GenPlaHostWcf - Iniciando el gestor de cola de períodos de generación de planilla
2015-03-18 08:49:50,904 [5] INFO Aseinfo.VH4.WindowsServices.Salarios.GenPlaHostWcf - Gestor de cola iniciado exitósamente
2015-03-18 08:49:50,910 [5] INFO Aseinfo.VH4.WindowsServices.Salarios.GenPlaHostWcf - Servicio iniciado exitósamente
2015-03-18 08:49:50,915 [5] INFO Aseinfo.VH4.WindowsServices.Salarios.GenPlaWinService - Servicio WCF de generación de planilla iniciado correctamente ...
2015-03-18 08:49:51,063 [ThreadGestorCola] INFO Aseinfo.VH4.WindowsServices.Salarios.GenPlaHostWcf - Iniciando Gestor de Cola de Períodos a Generar
2015-03-18 08:49:51,712 [ThreadGestorCola] INFO Aseinfo.VH4.WindowsServices.Salarios.GenPlaHostWcf - Gestor de la Cola de Períodos iniciado exitósamente
2015-03-18 08:49:51,718 [ThreadGestorCola] INFO Aseinfo.VH4.WindowsServices.Salarios.GenPlaHostWcf - Cancelando periodos que quedaron en estado [EnGeneracion], de una ejecución anterior de este servicio que posiblemente terminó de manera abrupta
2015-03-18 08:49:51,723 [ThreadGestorCola] INFO Aseinfo.VH4.WindowsServices.Salarios.GenPlaHostWcf - Períodos inconsistentes cancelados exitósamente
2015-03-18 09:35:31,051 [ThreadGestorCola] INFO Aseinfo.VH4.WindowsServices.Salarios.GenPlaHostWcf - Iniciando periodo a generar: ID de Sesión = ec56975c-5341-4251-bcf5-9b6f3a9c7746 - Fecha = 3/18/2015 9:35:31 AM
2015-03-18 09:35:32,666 [ThreadGestorCola] INFO Aseinfo.VH4.WindowsServices.Salarios.GeneraPeriodoPlanillaWcfService - Thread creado y listo para iniciar - SessionId = ec56975c-5341-4251-bcf5-9b6f3a9c7746 Codigo = 2 Usuario = admin Fecha = 03/18/2015 09:35:27
2015-03-18 09:35:32,669 [ThreadGestorCola] INFO Aseinfo.VH4.WindowsServices.Salarios.GenPlaHostWcf - Finalizado procesamiento del Periodo: ID de Sesión = ec56975c-5341-4251-bcf5-9b6f3a9c7746 - Fecha = 3/18/2015 9:35:32 AM
2015-03-18 09:35:32,728 [9] INFO GetAdoNetAppender - bufferSize = 1
2015-03-18 09:35:32,731 [9] INFO GetAdoNetAppender - connectionType = System.Data.SqlClient.SqlConnection, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
2015-03-18 09:35:32,733 [9] INFO GetAdoNetAppender - commandText = INSERT INTO sal.bcp_bitacora_calculo_planilla ([bcp_fecha],[bcp_thread],[bcp_severidad],[bcp_id_sesion],[bcp_mensaje],[bcp_excepcion]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)
2015-03-18 09:35:32,735 [9] INFO GetAdoNetAppender - commandType = Text
2015-03-18 09:35:32,737 [9] INFO GetAdoNetAppender - -------------------------------------------
2015-03-18 09:35:32,740 [9] INFO GetAdoNetAppender - parameterName = @log_date
2015-03-18 09:35:32,742 [9] INFO GetAdoNetAppender - DbType = DateTime
2015-03-18 09:35:32,744 [9] INFO GetAdoNetAppender - layout = log4net.Layout.RawTimeStampLayout
2015-03-18 09:35:32,746 [9] INFO GetAdoNetAppender - -------------------------------------------
2015-03-18 09:35:32,748 [9] INFO GetAdoNetAppender - parameterName = @thread
2015-03-18 09:35:32,750 [9] INFO GetAdoNetAppender - size = 255
2015-03-18 09:35:32,752 [9] INFO GetAdoNetAppender - DbType = String
2015-03-18 09:35:32,754 [9] INFO GetAdoNetAppender - layout = log4net.Layout.PatternLayout
2015-03-18 09:35:32,757 [9] INFO GetAdoNetAppender - conversionPattern = %thread
2015-03-18 09:35:32,760 [9] INFO GetAdoNetAppender - -------------------------------------------
2015-03-18 09:35:32,762 [9] INFO GetAdoNetAppender - parameterName = @log_level
2015-03-18 09:35:32,764 [9] INFO GetAdoNetAppender - size = 50
2015-03-18 09:35:32,766 [9] INFO GetAdoNetAppender - DbType = String
2015-03-18 09:35:32,768 [9] INFO GetAdoNetAppender - layout = log4net.Layout.PatternLayout
2015-03-18 09:35:32,770 [9] INFO GetAdoNetAppender - conversionPattern = %level
2015-03-18 09:35:32,772 [9] INFO GetAdoNetAppender - -------------------------------------------
2015-03-18 09:35:32,774 [9] INFO GetAdoNetAppender - parameterName = @logger
2015-03-18 09:35:32,776 [9] INFO GetAdoNetAppender - size = 255
2015-03-18 09:35:32,779 [9] INFO GetAdoNetAppender - DbType = String
2015-03-18 09:35:32,781 [9] INFO GetAdoNetAppender - layout = log4net.Layout.PatternLayout
2015-03-18 09:35:32,784 [9] INFO GetAdoNetAppender - conversionPattern = %logger
2015-03-18 09:35:32,786 [9] INFO GetAdoNetAppender - -------------------------------------------
2015-03-18 09:35:32,788 [9] INFO GetAdoNetAppender - parameterName = @message
2015-03-18 09:35:32,790 [9] INFO GetAdoNetAppender - size = 4000
2015-03-18 09:35:32,792 [9] INFO GetAdoNetAppender - DbType = String
2015-03-18 09:35:32,794 [9] INFO GetAdoNetAppender - layout = log4net.Layout.PatternLayout
2015-03-18 09:35:32,796 [9] INFO GetAdoNetAppender - conversionPattern = %message
2015-03-18 09:35:32,799 [9] INFO GetAdoNetAppender - -------------------------------------------
2015-03-18 09:35:32,801 [9] INFO GetAdoNetAppender - parameterName = @exception
2015-03-18 09:35:32,803 [9] INFO GetAdoNetAppender - size = 4000
2015-03-18 09:35:32,805 [9] INFO GetAdoNetAppender - DbType = String
2015-03-18 09:35:32,807 [9] INFO GetAdoNetAppender - layout = log4net.Layout.ExceptionLayout
2015-03-18 09:35:32,813 [9] INFO ec56975c-5341-4251-bcf5-9b6f3a9c7746 - Iniciando Generación: Sesion = ec56975c-5341-4251-bcf5-9b6f3a9c7746, Periodo = 2, Usuario = admin, Fecha = 3/18/2015 9:35:27 AM
2015-03-18 09:35:33,708 [9] INFO ec56975c-5341-4251-bcf5-9b6f3a9c7746 - Generando la lista de factores, agrupadores y cursores para el período 2
2015-03-18 09:35:33,794 [9] FATAL ec56975c-5341-4251-bcf5-9b6f3a9c7746 - Error al intentar procesar el período de planilla a generar
System.Reflection.TargetException: Non-static method requires a target.
at System.Reflection.RuntimeMethodInfo.CheckConsistency(Object target)
at System.Reflection.RuntimeMethodInfo.InvokeArgumentsCheck(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.RuntimePropertyInfo.GetValue(Object obj, BindingFlags invokeAttr, Binder binder, Object[] index, CultureInfo culture)
at System.Reflection.RuntimePropertyInfo.GetValue(Object obj, Object[] index)
at System.Data.Objects.ELinq.QueryParameterExpression.TryGetFieldOrPropertyValue(MemberExpression me, Object instance, Object& memberValue)
at System.Data.Objects.ELinq.QueryParameterExpression.TryEvaluatePath(Expression expression, ConstantExpression& constantExpression)
at System.Data.Objects.ELinq.QueryParameterExpression.EvaluateParameter(Object[] arguments)
at System.Data.Objects.ELinq.ELinqQueryState.GetExecutionPlan(Nullable`1 forMergeOption)
at System.Data.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption)
at System.Data.Objects.ObjectQuery`1.System.Collections.Generic.IEnumerable<t>.GetEnumerator()
at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
at Aseinfo.VH4.WindowsServices.Salarios.Ejecutores.EjecutorFormulacionBase.EjecutarGeneracion() in c:\BuildAgent\work\608d469cc106b504\VH4\WindowsServices\GeneraPlanillaWindowsService\Salarios\Ejecutores\EjecutorFormulacionBase.cs:line 538
at Aseinfo.VH4.WindowsServices.Salarios.Ejecutores.EjecutorFormulacionBase.GenerarPlanilla(IGenericEntityRepository entityRepository, PeriodoPlanillaEnGeneracion periodoPlanillaEnGeneracion, ThreadsData threadsData) in c:\BuildAgent\work\608d469cc106b504\VH4\WindowsServices\GeneraPlanillaWindowsService\Salarios\Ejecutores\EjecutorFormulacionBase.cs:line 276