Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
Especificação | |||
Produto | Microsiga Protheus® | Módulo | SIGAGPE |
Segmento Executor | Serviços | ||
Chamado | TSOJJO | ||
País | (X) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( ) Outro _____________. | ||
Outros | Necessário implementação do campo RH_DTITENS para realização do cálculo de férias consecutivas. Consultar base de conhecimento para maiores informações. http://tdn.totvs.com/x/QJoGDg |
Atualmente o cálculo de Férias Programadas do módulo de Gestão de Pessoal está limitado aos dias de direito do período aquisitivo atual do funcionário. Caso a programação possua maior número de dias do que o disponível, esse número será ignorado e calculado apenas os dias disponíveis.
Disponibilizar forma de cálculo das Férias Programadas para particionar os dias informados em dois ou mais períodos aquisitivos.
Alterar a rotina de Programação de Férias a fim de disponibilizar a opção de cadastro de programação em Lote. A opção ficará disponível dentro da lista de Ações Relacionadas, com o título Programação em Lote.
Ao clicar na opção de programação em lote uma nova janela com um grupo de perguntas será exibido a fim de filtrar os funcionários para a gravação das férias programadas em lote.
Validações quanto ao filtro de funcionários:
Após o preenchimento e confirmação do filtro, uma nova janela é aberta exibindo os campos de Programação de Férias para preenchimento e exibindo uma lista dos funcionários selecionados.
Validações quanto ao preenchimento das programações:
Ajustar rotina de cálculo de programação de férias para quando o funcionário não possuir todos os dias de férias no período atual, calcular os dias restantes utilizando o próximo período como base.
Para realizar o cálculo partido das férias programadas é necessário guardar as seguintes informações:
A data de recibo e a data de pagamento do segundo cálculo devem ser as mesmas do primeiro cálculo.
Realizar alterações nas funções GPM060Proc() e fCProgr() a fim de tratar o cálculo das férias programadas partidas.
A rotina de processamento realiza o cálculo de férias programadas percorrendo os registros da SRA, realizando o processamento para os funcionários selecionados. Ao fim de todo o fluxo é realizado o skip na tabela. Na alteração a ser realizada, modificar o momento do skip a fim de verificar se foi calculado todos os dias das férias programadas ou apenas uma parte dos dias. Caso a quantidade de dias calculados seja menor que os dias informados e o parâmetro MV_PROFERP esteja com conteúdo maior que 0 (zero) realizar novamente o processamento sem mudar o funcionário, porém informando os novos dados para o cálculo da segunda parcela das férias.
Na rotina fCProgr() as informações sobre as férias são obtidas através da tabela SRF, porém, no cálculo da segunda parte essas informações deverão ser obtidas através do array aProFerP uma vez que os dados da SRF somente são atualizados após o fechamento mensal.
Posições do array aProFerP que deve ser atualizado no momento da validação dos dias de férias gravados:
O array aProFerP e todas as variáveis de controle do cálculo particionado devem ser zeradas a cada mudança (skip) de funcionário na lista de processamento.
Criar a função fProFerPDt() que receberá como parâmetro a data inicial da segunda partição das férias e validará o dia inicial conforme o preenchimento do parâmetro MV_PROFERP, retornando a data atualizada.
Cenários de exemplo:
Funcionário | Período Aquisitivo | Dias Antecipados | Faltas | Data Programação | Dias Programação | Data Inicial | Dias | Data Recibo | Data Pagamento |
---|---|---|---|---|---|---|---|---|---|
000001 | 08/11/2013 - 07/11/2014 | 20 | - | 16/03/2015 | 20 | 16/03/2015 | 10 | 13/02/2015 | 12/03/2015 |
08/11/2014 - 07/11/2015 | - | - | - | - | 26/03/2015 | 10 | 13/02/2015 | 12/03/2015 | |
000002 | 18/11/2013 - 17/11/2014 | 10 | - | 16/03/2015 | 20 | 16/03/2015 | 20 | 13/02/2015 | 12/03/2015 |
000003 | 18/11/2013 - 17/11/2014 | - | - | 16/03/2015 | 20 | 16/03/2015 | 20 | 13/02/2015 | 12/03/2015 |
000004 | 29/05/2014 - 28/05/2015 | 20 | - | 16/03/2015 | 20 | 16/03/2015 | 10 | 13/02/2015 | 12/03/2015 |
29/05/2015 - 28/05/2016 | - | - | - | - | 26/03/2015 | 10 | 13/02/2015 | 12/03/2015 | |
000005 | 29/01/2015 - 28/01/2016 | - | - | 16/03/2015 | 20 | 16/03/2015 | 20 | 13/02/2015 | 12/03/2015 |
000007 | 29/01/2014 - 28/01/2015 | 10 | 5 (não possui desconto) | 16/03/2015 | 20 | 16/03/2015 | 20 | 13/02/2015 | 12/03/2015 |
000008 | 29/01/2014 - 28/01/2015 | 10 | 10 (desconta 6 dias) | 16/03/2015 | 20 | 16/03/2015 | 14 | 13/02/2015 | 12/03/2015 |
29/01/2015 - 28/01/2015 | - | - | - | - | 30/03/2015 | 6 | 13/02/2015 | 12/03/2015 | |
000009 | 29/01/2015 - 28/01/2016 | 20 | 10 (desconta 6 dias) | 16/03/2015 | 20 | 16/03/2015 | 4 | 13/02/2015 | 12/03/2015 |
29/01/2016 - 28/01/2017 | - | 10 (não desconta faltas porque é férias antecipada) | - | - | 20/03/2015 | 16 | 13/02/2015 | 12/03/2015 | |
000010 | 29/01/2013 - 28/01/2014 | 20 | 20 (desconta 12 dias) | 16/03/2015 | 20 | perde período | 0 | ||
29/01/2014 - 28/01/2015 | - | - | - | - | 16/03/2015 | 20 | 13/02/2015 | 12/03/2015 |
Rotina | Tipo de Operação | Opção de Menu |
GPEA050 | Alteração | Atualizações -> Funcionário -> Programação Férias |
GPEA051 | Inclusão | Atualizações -> Funcionários -> Programação Férias -- Ações Relacionadas -> Programação em Lote |
GPEM060 | Alteração | Miscelânea -> Cálculos -> Fér. Colet./Progr. |
Tabelas Utilizadas
<Nesta etapa incluir representações gráficas que descrevam o problema a ser resolvido e o sistema a ser desenvolvido. Exemplo: Diagrama - Caso de Uso, Diagrama de Atividades, Diagrama de Classes, Diagrama de Entidade e Relacionamento e Diagrama de Sequência>.
Nome: GPEA053
X1_ORDEM | 01 |
X1_PERGUNT | Filial De ? |
X1_TIPO | C |
X1_TAMANHO | 02 |
X1_GSC | G |
X1_VAR01 | MV_PAR01 |
X1_F3 | SM0 |
X1_GRPSXG | 033 |
X1_HELP | .RHFILDE. |
X1_ORDEM | 02 |
X1_PERGUNT | Filial Até ? |
X1_TIPO | C |
X1_TAMANHO | 02 |
X1_GSC | G |
X1_VALID | NaoVazio() |
X1_VAR01 | MV_PAR02 |
X1_F3 | SM0 |
X1_GRPSXG | 033 |
X1_HELP | .RHFILAT. |
X1_ORDEM | 03 |
X1_PERGUNT | Centro de Custo De ? |
X1_TIPO | C |
X1_TAMANHO | 9 |
X1_GSC | G |
X1_VAR01 | MV_PAR03 |
X1_F3 | SI3 |
X1_GRPSXG | 004 |
X1_HELP | .RHCCDE. |
X1_ORDEM | 04 |
X1_PERGUNT | Centro de Custo Até ? |
X1_TIPO | C |
X1_TAMANHO | 9 |
X1_GSC | G |
X1_VALID | NaoVazio() |
X1_VAR01 | MV_PAR04 |
X1_F3 | SI3 |
X1_GRPSXG | 004 |
X1_HELP | .RHCCAT. |
X1_ORDEM | 05 |
X1_PERGUNT | Departamento De ? |
X1_TIPO | C |
X1_TAMANHO | 9 |
X1_GSC | G |
X1_VAR01 | MV_PAR05 |
X1_F3 | SQB |
X1_GRPSXG | 025 |
X1_HELP | .RHDPTDE. |
X1_ORDEM | 06 |
X1_PERGUNT | Departamento Até ? |
X1_TIPO | C |
X1_TAMANHO | 9 |
X1_GSC | G |
X1_VALID | NaoVazio() |
X1_VAR01 | MV_PAR06 |
X1_F3 | SQB |
X1_GRPSXG | 025 |
X1_HELP | .RHDPTAT. |
X1_ORDEM | 07 |
X1_PERGUNT | Matrícula De ? |
X1_TIPO | C |
X1_TAMANHO | 6 |
X1_GSC | G |
X1_VAR01 | MV_PAR07 |
X1_F3 | SRA |
X1_GRPSXG | 121 |
X1_HELP | .RHMATD. |
X1_ORDEM | 08 |
X1_PERGUNT | Matrícula Até ? |
X1_TIPO | C |
X1_TAMANHO | 6 |
X1_GSC | G |
X1_VALID | NaoVazio() |
X1_VAR01 | MV_PAR08 |
X1_F3 | SRA |
X1_GRPSXG | 121 |
X1_HELP | .RHMATA. |
X1_ORDEM | 09 |
X1_PERGUNT | Categorias ? |
X1_TIPO | C |
X1_TAMANHO | 15 |
X1_GSC | G |
X1_VALID | fCategoria() .AND. NaoVazio() |
X1_VAR01 | MV_PAR09 |
X1_HELP | .RHCATEG. |
X1_ORDEM | 10 |
X1_PERGUNT | Situações ? |
X1_TIPO | C |
X1_TAMANHO | 5 |
X1_GSC | G |
X1_VALID | fSituacao() .AND. NaoVazio() |
X1_VAR01 | MV_PAR10 |
X1_HELP | .RHSITUA. |
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|