Forum
See question

PHC Web – Regras no FPINTRO para controlo do saldo de férias   

14 views
0
0

Olá a todos,

Sou iniciante no PHC Web e estou a desenvolver algumas regras no ecrã FPINTRO (Introdução de Férias). Tenho duas necessidades para as quais gostava de saber qual será a abordagem recomendada em PHC Web/VB.NET.

1. Impedir marcação acima do saldo disponível

Pretendo impedir que o utilizador marque mais dias de férias do que o saldo disponível para o respetivo ano de referência.

Por exemplo, se tiver 4 dias disponíveis e tentar marcar 5, gostaria de impedir a gravação e apresentar uma mensagem ao utilizador.

Estou a trabalhar com o mainformdataset e consigo aceder à Table1 da grelha, incluindo campos como dias e fpstamp. Na tabela fp existe também o campo ano, que identifica o ano de referência das férias.

A minha dúvida principal é: qual é a forma correta de obter o ano de referência selecionado no FPINTRO e validar o total de dias marcados contra o saldo disponível?

2. Alertar para saldo de anos anteriores

Pretendo também apresentar um alerta no momento da marcação quando ainda existirem dias de férias por gozar de anos anteriores.

Por exemplo, se o utilizador estiver a marcar férias relativas a 2026, mas ainda tiver 5 dias por gozar de 2025, gostaria de alertá-lo para que seja dada prioridade à utilização desse saldo anterior.

A minha dúvida é: qual a forma recomendada de identificar no FPINTRO se existem dias de férias por gozar de anos anteriores e apresentar esse alerta antes da marcação?

Sendo iniciante em PHC Web, agradeço qualquer orientação sobre a melhor abordagem, objetos/variáveis a utilizar ou, se possível, algum exemplo de regra semelhante.

Obrigado!

Faça login para poder traduzir
CS Web 
Evolution Web
PHC
Marked as spam
Criado há 1 dia e 35 minutos jacidiniz
j
jacidiniz Jaci Diniz Iniciante
1 answers
1
Private answer

Para implementar as regras no ecrã FPINTRO – Introdução de Férias no Cegid PHC Web, seguem as orientações para as duas necessidades apresentadas:

  1. Impedir marcação acima do saldo disponível:

    Para validar o saldo disponível e impedir a marcação de mais dias do que o permitido, pode utilizar o evento AoIntroduzir ou ApósIntroduzir no FPINTRO. A lógica deve verificar o saldo disponível no ano de referência antes de permitir a gravação. Segue um exemplo de código em VB.NET:

    Dim saldoDisponivel As Integer =0Dim diasMarcados As Integer = mainformdataset.tables(0).rows(0).itemtointeger("dias")
    Dim anoReferencia As Integer = mainformdataset.tables(0).rows(0).itemtointeger("ano")
    
    ' Obter o saldo disponível para o ano de referênciasaldoDisponivel = prprocess.GetSaldoFerias(anoReferencia)
    
    ' Validar se os dias marcados excedem o saldo disponívelIf diasMarcados > saldoDisponivel Then Throw New Exception("Não é possível marcar mais dias de férias do que o saldo disponível.")
    End If 

    Certifique-se de que a função prprocess.GetSaldoFerias está implementada para retornar o saldo correto com base no ano de referência.

  2. Alertar para saldo de anos anteriores:

    Para verificar se existem dias de férias por gozar de anos anteriores e apresentar um alerta, pode implementar uma lógica semelhante no evento AoIntroduzir ou ApósIntroduzir. Segue um exemplo:

    Dim anoAtual As Integer = mainformdataset.tables(0).rows(0).itemtointeger("ano")
    Dim saldoAnosAnteriores As Integer = prprocess.GetSaldoFeriasAnosAnteriores(anoAtual)
    
    ' Verificar se existem dias de anos anteriores por gozarIf saldoAnosAnteriores >0 Then MsgBox("Existem " & saldoAnosAnteriores & " dias de férias por gozar de anos anteriores. Considere utilizá-los antes de marcar novas férias.")
    End If 

    A função prprocess.GetSaldoFeriasAnosAnteriores deve ser implementada para calcular o saldo acumulado de anos anteriores com base na tabela fp.

Adicionalmente, para ambas as necessidades, pode ser útil implementar um campo de utilizador na tabela fp para armazenar informações adicionais, como o saldo acumulado ou alertas específicos. Caso precise de adicionar campos personalizados, pode seguir a abordagem mencionada no contexto, utilizando JavaScript de utilizador e scripts SQL para manipular os dados no ecrã FPINTRO.

Se encontrar limitações nos eventos disponíveis no FPINTRO, como mencionado em outros casos, considere utilizar JavaScript de utilizador para criar validações no lado do cliente e interagir com a base de dados via AJAX para obter os saldos necessários.

Esperamos que estas orientações sejam úteis para o desenvolvimento das regras no Cegid PHC Web. Caso necessite de mais esclarecimentos, não hesite em reabrir o pedido.

Nota: Certifique-se de testar exaustivamente as implementações em um ambiente de homologação antes de aplicá-las em produção.

Esta resposta foi gerada pelo Cegid Pulse, com base na base na informação disponível em histórico.
Ajude-nos a melhorar esta funcionalidade:
• Se a resposta corresponde à sua questão, assinale-a com "Mark as best answer",
• Se a resposta estiver incorreta, dê-lhe um voto negativo e aguarde a resposta da comunidade.

Faça login para poder traduzir
Marked as spam
Criado há 1 dia e 34 minutos cegidpulse
cegidpulse Cegid Pulse Most Valuable Professional