V10 RecursosReferência
RecursosReferência
Referência
Voltar | Lista de artigos

Como efetuar alterações mensais de funcionários pela API?

Última alteração a 29/09/2021

O módulo de Recursos Humanos do ERP PRIMAVERA dispõe de funcionalidades que conferem às organizações uma gestão eficiente dos seus recursos humanos. Por exemplo, é possível gerir as alterações dos dados dos seus funcionários, como o registo de faltas, horas extra, remunerações e descontos.

Neste artigo, demonstramos como é possível criar alterações mensais através da API disponibilizada na V10 do ERP.

Alterações Mensais

O registo de faltas é um tipo de alteração mensal que pode ocorrer numa organização e tem como objetivo anotar as ausências do funcionário. Este processo é particularmente importante, se o sistema estiver configurado para considerar estes dados ao processar o vencimento do funcionário.

Para registar uma falta para um funcionário, siga os seguintes passos:

Passo 1 - Adicionar a referência ao módulo de Recursos Humanos

Criar um projeto em Visual Studio e adicionar a referência para a API de Recursos Humanos:

  • RhpBE100;
  • IRhpBS100.

Passo 2 - Acrescentar o namespace "RhpBE100"

Para facilitar a leitura do código, adicionar o namespace relativo à API de RH.

using RhpBE100;

Passo 3 - Validar se a falta existe

Apenas se podem registar faltas de um funcionário que existam na tabela de faltas. Para evitar erros de inserção, é necessário validar primeiramente se a falta existe.

RhpBEFalta absenceType = PriEngine.Engine.RecursosHumanos.Faltas.Edita(txtAbsence.Text);
if (absenceType != null)
{
  //Pode inserir a falta
}
else
  MessageBox.Show("The Absence type does not exist.");

Passo 4 - Criar o objeto do cadastro da falta com a informação necessária

RhpBECadastroFalta absenceRecords = new RhpBECadastroFalta
{
    CalculoFalta = absenceType.CalculoFaltaDias,
    Horas = absenceType.Horas,
    DescontaRem = absenceType.DescontaRemuneracoes != 0,
    Falta = txtAbsence.Text.ToUpper(),
    Data = dtDate.Value.Date,
    Observacoes = txtRemarks.Text,
    Funcionario = txtEmployee.Text.ToUpper(),
    ExcluiProc = chkExcludeProc.Checked,
    ExcluiEstat = chkExcludeStatistics.Checked,
    Tempo = (float)nupDuration.Value,
    Origem = (byte)OrigemDados.origemVBA
};

Passo 5 - Efetuar o registo do cadastro da falta

É necessário verificar se a falta associada ao funcionário já existe na data definida antes de a inserir. Se já existir, o sistema atualiza os dados da falta existente. Caso contrário, regista uma nova falta com os dados inseridos.

if (PriEngine.Engine.RecursosHumanos.CadastroFaltas.Existe(absenceRecords.Funcionario, absenceRecords.Data, absenceRecords.Falta))
{
    MessageBox.Show($"The absence {absenceRecords.Falta} already exists for Employee { absenceRecords.Funcionario} on day {absenceRecords.Data}.");
}
else
{
    PriEngine.Engine.RecursosHumanos.CadastroFaltas.Actualiza(absenceRecords);
    MessageBox.Show("Writing carried out successfully.");
    this.Close();
}
Adicionar aos favoritos ou partilhar este artigo
Esta página foi útil?
Obrigado pelo seu voto.

login para deixar a sua opinião.

Obrigado pelo seu feedback. Iremos analisá-lo para continuarmos a melhorar!
Artigos Relacionados
Características das entidades e serviços Conceito de integração Conceito de extensibilidade Como registar projetos de extensibilidade? Boas práticas de organização de projetos de integração