Situação:
Ao calcular Rescisão é exibida a seguinte mensagem de erro em tela:
Solução:
1. Para conseguir identificar qual o erro, copie a mensagem que aparece na tela e cole em uma página em branco:
System.NullReferenceException: Object reference not set to an instance of an object.
at Dados.Calculos.FolhaDePagamento.Escalas.Consultas.ConsultaDeHistoricoDeEscalaParaCalculo.ObterParaPeriodo(Int32 mestre, DateTime dataInicioDoperiodo, DateTime dataFimDoPeriodo) in D:\DarwinGitPub\FrameworkNetCore\Aplicacao\Dados\Dados\FolhaDePagamento\Calculos\FolhaDePagamento\Escalas\Consultas\ConsultaDeHistoricoDeEscalaParaCalculo.cs:line 31
at Dados.Calculos.FolhaDePagamento.Escalas.Consultas.ConsultaDeEscalaParaCalculo.Obter(ICollection1 ids, DateTime inicioPeriodo, DateTime fimPeriodo) in D:\\DarwinGitPub\\FrameworkNetCore\\Aplicacao\\Dados\\Dados\\FolhaDePagamento\\Calculos\\FolhaDePagamento\\Escalas\\Consultas\\ConsultaDeEscalaParaCalculo.cs:line 32 at FolhaDePagamento.Calculos.Processamento.CargaDeValores.Iniciar(ICollection
1 contratos, InformacoesDaFolha informacoesDaFolha) in D:\DarwinGitPub\FrameworkNetCore\Aplicacao\Crosscutting\FolhaDePagamento\FolhaDePagamento.Calculos\Processamento\CargaDeValores.cs:line 422
at FolhaDePagamento.Calculos.Processamento.RecalculoDasMedias.Calcular(ICollection`1 contratos, DateTime inicioDoRecalculo, DateTime terminoDoRecalculo) in D:\DarwinGitPub\FrameworkNetCore\Aplicacao\Crosscutting\FolhaDePagamento\FolhaDePagamento.Calculos\Processamento\RecalculoDasMedias.cs:line 95
at FolhaDePagamento.ServicosCRUD.Rescisoes.RescisaoCRUD.CalcularRescisao(DTODeRescisao dto)
at Apresentacao.Controllers.FolhaDePagamento.Rescisoes.RescisaoController.CalcularRescisao(DTODeRescisao dto) in D:\DarwinGitPub\FrameworkNetCore\Aplicacao\Apresentacao\Metadados\Controllers\FolhaDePagamento\Rescisoes\RescisaoController.cs:line 50
at lambdamethod(Closure , Object , Object[] ) at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.SyncActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync() at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync() --- End of stack trace from previous location where exception was thrown --- at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync() --- End of stack trace from previous location where exception was thrown --- at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.gAwaited|250(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
2. Nas primeiras linhas do erro irá mencionar onde precisa ser realizado o ajuste:
3. Nessa situação, o erro está na validade dos históricos da escala do contrato que está sendo calculado.
Para corrigir verifique qual a escala do contrato, no Módulo Cadastros, acesse o Menu: Pessoas e Contratuais > Tabelas Contratuais > Escalas.
Selecione a escala e clique no botão Editar:
4. Clique na aba Históricos e em seguida no botão Novo a Partir de.
Inclua uma validade com a data da admissão do contrato.
5. Faça o cálculo novamente da Rescisão.