Evolution 1.11.0.0 Si la generación de planilla genera una excepción, el estado de la planilla no se establece como Fallida, sino que permanece en estado En Espera. Por lo que un técnico debe cambiar el estado manualmente en el registro de la tabla de periodos generados, y luego el Usuario debe resolver la situación que generó la excepción. ¿Podrían considerar revisar el proceso de generación de planilla para que ponga el estado en Fallida sin ocurrió una excepción? El caso en el que se me presentó esta situación, fue un expediente que tenía 2 estructuras salariales del mismo rubro salarial pero con diferente tipo de ingreso. La excepción generada en este caso fue el siguiente: System.Data.Entity.Core.UpdateException: An error occurred while updating the entries. See the inner exception for details. ---> System.Data.SqlClient.SqlException: Violation of PRIMARY KEY constraint 'pk_sal_pge'. Cannot insert duplicate key in object 'sal.pge_per_planilla_generado_emps'. The duplicate key value is (e43a48b6-56ee-41a3-adf8-180616d00df2, 1538). The statement has been terminated |
Es importante que el problema se corriga en el Cursor Principal de la formulación. Ya que la inserción de estos registros se hace evaluando el resultado de dicho cursor. Entonces, la formulación ejecutará dos veces para el mismo empleado. Lo que puede provocar problemas en el cálculo de los ingresos y descuentos legales. De todas formas, se creo un Issue EVO-3397 para evitar que se genere la duplicación de llave primaria. Con esto se evita el error al momento de inicializar el cálculo. Pero no se van a evitar errores posteriores cuando se ejecute el cálculo. |
Me podrías enviar el error completo con el Stack Trace. Porque creo que este error en particular se puede evitar en el código fuente y corregir el manejo del estado.