Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.                                                             

  

Informações Gerais


Especificação

Produto

Protheus

Módulo

SIGAGPE

Segmento Executor

Serviços

Chamado

TVZVHZ

Release de Entrega Planejada

11.80

Réplica

 

País

( X ) Brasil  (  ) Argentina  (  ) Mexico  (  ) Chile  (  ) Paraguai  (  ) Equador

(  ) USA  (  ) Colombia   (  ) Outro _____________.

Outros

 


   Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos).
 

Objetivo

Possibilitar a geração do evento S-2299– Desligamento a partir da rotina de Rescisão conforme leiaute 2.2 do eSocial. 

 

Definição da Regra de Negócio

 

A cada demissão que ocorrer (encerramento definitivo do vínculo trabalhista) deve ser gerado o registro S-2299.

Incluindo as demissões geradas a partir da rescisão em lote.

Regra:

1 - O funcionário deve ter o registro S-2100 ou S-2200 integrado sem erros no RET:

Se o registro 2200 ou 2100 estiver em trânsito (sendo transmitido ao ret) será apresentada a mensagem:

"Registro de Admissão do Funcionário está em trânsito TAF x RET. Verifique no sistema TAF. A rescisão não será efetivada."                                                                                                                                                                                                                                                                                                                                                                                        

Se o registro tiver o status de não enviado, ou retornou com erro do RET:

"Registro de Admissão do Funcionário ainda não foi transmitido ao RET ou consta inconsistências.. Verifique no sistema TAF. A rescisão não será efetivada."                                                                                                                                                 

A Rescisão não será efetivada, pois isso pode acarretar em erros no ambiente RET

 

2 -  Para Aviso Prévio Trabalhado  ou término de contrato - enviar o evento até o 1º dia útil seguinte a data de desligamento 

Testar o motivo de desligamento, no parâmetro 32 é possível verificar se é termino de contrato (tipo 06 do eSocial) e tipo de Aviso "T"

Se não for o dia seguinte ao da demissão apresentar a mensagem: "O prazo de envio deste evento foi ultrapassado. Passível de multa", 

Logo após continuar o processamento

 

3 - Para os demais casos , Data de Desligamento não ultrapassar 10 dias, apresentar a mensagem: 

"O prazo de envio deste evento foi ultrapassado. Passível de multa", 

Logo após continuar o processamento

 

Rotina

Tipo de Operação

Opção de Menu

Regras de Negócio

GPEM040

[Alteração]

[Miscelanea -> Cálculos]

 
GPEM630[Alteração][Miscelanea -> Cálculos] 


Definições Técnicas

GPEM040 – Rescisão

Habilitar o tratamento  da variável lIntTaf, porém testando agora o parâmetro MV_RHTAF.

Inconsistentes:

1- Se tipo de desligamento 18,19,20,21,22,23,24,25  E Categoria do eSocial < 301 ou > 309Mensagem:  Mensagem: Motivos de desligamento válidos apenas para Agentes Públicos

2- Se data de desligamento for maior que a data atual + 10 dias corridos:  Mensagem: Fora do Prazo de envio

3-Numero da Certidão de óbito: Deve ser preenchido se motivo de desligamento 09 ou 10


Criar o campo: (aguarda retorno Renata E): Cumprimento Parcial Aviso Prévio

 

 

No momento da gravação da rescisão devemos controlar a existência da função IntDeslig e se o lIntTaf está como .t.

Controle das verbas:

Todas as verbas com o mesmo código devem ser agrupadas, utilizar um array auxiliar para isso.

Feito isso, ler o array e a cada verba encontrada, verificar na tabela SRV se existe código de rubrica para a verba. As que não tiverem código de rubrica devem ser levadas para um log.

Se existir alguma verba sem código de rubrica:

Apresentar a mensagem: As verbas  999, 999. 999 estão sem código de rubrica cadastrada RV_NATUREZ. Não será possível integração com o TAF e a efetivação da rescisão”

Apresentar todas as verbas com inconsistência de uma vez, e não uma a uma. Todas as verbas que estiverem no corpo da rescisão têm que ter código de rubrica equivalente.

 

Antes de Gerar a estrutura, deve-se alimentar um array com as verbas, organizando por Centro de Custo.

A cada quebra de Centro de Custo gerar nova Tag ideEstabLot

Se encontrar a verba com natureza de rubrica 9219, significa que o funcionário tem plano de saúde. Nesse caso faremos o controle:

Alimentar o array, lendo na tabela RHR os dados integrados, a partir do código da verba e se estiver como INTEGRADO

Se encontrar:

Alimentar um array com:

Filial + Matricula + Codigo do fornecedor + verba + dependente + valor

Onde:  Código do fornecedor: ler na tabela RHR CODFOR/ Dependente: RHR_CODIGO / 

         Ler o array e alimentar os dados da estrutura infosaudecolet, cada vez que o campo Codigo do Fornecedor for alterado


GPEM630 - RESCISÃO EM LOTE

Para a rescisão em lote o controle será o mesmo, ou seja deve ser gerado um registro a cada rescisão calculada se o fgetstat estiver igual a 1.

Porém os dados de atestado de óbito, processo, etc, nunca serão preenchidos nesta rescisão porque neste caso o usuário deve utilizar o programa normal de rescisão de contrato.

As consistencias do item regra devem ser obedecidas e também sobre as verbas terem ou não código de rubrica.

Porém no programa de rescisão em lote existe um log que é impresso ao final do processamento, neste log colocar as mensagens de inconsistencias

Somente deverá ser gerado o registro para o TAF se for o tipo de rescisão efetiva, para o tipo Simulação não gerar o registro para o TAF


 FUNÇÃO IntDeslig

Nesta função inserir os dados no XML no novo formato, conforme a seguir

mtvDeslig = Ler no parâmetro 32 o tipo de rescisão do eSocial, esta funcionalidade já foi feita através da função 
substr(fDesc("SRX","32"+cTipR+"2","RX_TXT",

regra 3

For nI := 1 To Len(aCols) 

If (PosSrv(aCols[nI, nPosPd],SRA->RA_FILIAL,"RV_CODFOL")) $ "0126"

nValor := aCols[nI, nPosValor]

EndIf
if alltrim(PosSrv(aCols[nI, nPosPd],SRA->RA_FILIAL

),1,1)
Aqui deve ser lido um código, que corresponde ao código do eSocial.

,"RV_DIRF")) $ "8/C/C1/C2/C3"

nPensao += aCols[nI, nPosValor]

EndIf

Next nI

 

if nPerPens <>0 .and. nPensao <>0
cXml += '<pensAlim>3</pensAlim>'
elseif nPerPens == 0 .and. nPensao == 0
cXml += '<pensAlim>0</pensAlim>'
elseif nPerPens <> 0 .and. nPensao == 0
cXml += '<pensAlim>1</pensAlim>'
elseif nPerPens == 0 .and. nPensao <> 0
cXml += '<pensAlim>2</pensAlim>'
Endif

 

DtDeslig = RG_DATADEM

indPagtoApi =          Se cAvPrev = “I” então “S” else “N”

dtProjFimAPI = SRG_DTPRAP

percAliment = Verificar o controle feito na impressão do termo de rescisão do campo RQ_IMPCTRE

nrCertObito: RG_OBITO

nrProcTrab = RG_NPROC

observação = RG_OBS

Para gerar as verbas, inicialmente deve acumular todas as verbas com códigos iguais.

ideRecPgto = “R”+ código do funcionário (RA_MAT)

vlrPagto = Verba com ID 126

Tipo de Inscrição,, Numero de Inscrição e Código de Lotação:  Efetuar mesmo controle que está no fonte GPEM026A, função fIntAdmiss

Entrar no loop e gravar quantas verbas existirem no SRR:

CodRubr = SRR_PD

ideTabRubr = verificar no fonte GPEM023A como é feito a gravação desta informação. Trata-se da tabela de rubricas múltiplas ou não

qtdRubri = RR_HORAS

vrRubr = RR_VALOR

 

GrauExp = Campo do Cadastro de Funcionários, aba funcionais, o campo chama-se Ocorrência

IndSimples = Informação do Parâmetro 14, só indicar aqui alguma coisa se a empresa for optante pelo SIMPLES, esta informação também está no parâmetro 14

 


Tabelas Utilizadas

  • SRG – Cabeçalho da rescisão
  • SRR – Itens.
  • SRA - Cadastro de Funcionários
  • Parametro 14
  • Parametro 32

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.