Árvore de páginas

Versões comparadas

Chave

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

...

Produto:

Solucoes_totvs_cross
SolucaoCrossTOTVS RH

Linha de Produto:

Linhas_totvs
SegmentoDistribuição
RegionConstrução Projetos
LinhaLinha Protheus

Segmento:

Segmentos_totvs
SegmentoRH

Módulo:SIGAGPE
Função:

GPEA430

GPEA944A

GPEA944B

GPEA944C

GPEM939

GPEM939A

GPEM939B

GPEM939C

GPTABBRA

Ticket:


Requisito/Story/Issue (informe o requisito relacionado) :

DRHCALCPRT-3734

DRHCALCPRT-4009

DRHCALCPRT-4164

DRHCALCPRT-3736

DRHCALCPRT-3733

DRHCALCPRT-3735

DRHCALCPRT-3737

DRHCALCPRT-4380

DRHCALCPRT-4375

DRHCALCPRT-4452

DRHCALCPRT-4504

DRHCALCPRT-4518

DRHCALCPRT-4374

DRHCALCPRT-4376

DRHCALCPRT-4377

DRHCALCPRT-4378

DRHCALCPRT-4400

DRHCALCPRT-4381

DRHCALCPRT-4401

DRHCALCPRT-5010


02. SITUAÇÃO/REQUISITO

Criar uma rotina que fará a integração dos cadastros do Protheus com o P&M (Performance & Metas) e uma rotina que possibilite consultar as informações dos lotes de integrações com o P&M (Performance & Metas).

03. SOLUÇÃO

...

iconfalse
titleObservação

...

Para a integração de algumas informações para o P&M, foi necessário efetuar a inclusão de alguns campos em cadastros já existentes:

...

Deck of Cards
startHiddenfalse
idWIZARD
Card
defaulttrue
idwizard1
label1-Observações
titleObservações

Essa tela exibe um breve descritivo da rotina e contém um botão que direciona para esta documentação do TDN.


Card
idwizard2
label2-Configuração
titleConfiguração

Essa tela exibe cinco seis perguntas para a configuração da integração:


Image RemovedImage Added



  1. "Verificação registro ativo": essa opção tem o intuito de definir como o sistema efetuará a validação se determinado registro está ativo, uma vez que apenas registros ativos serão enviados ao P&M. Ao selecionar a opção "Somente pelo campo campo MSBLQL (se houver)", caso o campo MSLBL exista na tabela, será considerado apenas os registros ativos (MSBLQL diferente de 1); se for selecionado a opção "Campo MSBLQL (se houver) + vínculo com registro ativo da SRA", além da verificação do campo MSBLQL diferente de 1, para um registro ser considerado como ativo terá que ter vínculo com registros ativos da tabela SRA, ou seja, funcionários que não sejam demitidos ou que foram demitidos com data de demissão superior à data de corte informada na pergunta abaixo;
  2. "Data de corte demissão": define a data de corte de demissão para que um funcionário seja considerado ativo ou não, ou seja, funcionário demitidos a partir da data configurada serão considerados ativos, enquanto que funcionários demitidos antes da data serão considerados como inativos.
  3. "Verificação retorno P&M:": define se a rotina irá aguardar o retorno do processamento da integração pelo P&M ou não.
  4. "Tempo limite (em minutos):": define o tempo máximo que a rotina irá aguardar para obter o status de retorno do processamento pelo P&M.
  5. "Período de faltas": define o período de busca para a integração de faltas. Obs.: será verificado faltas para que seja efetuado busca das faltas entre os meses de Janeiro a Dezembro do período informado.. Obs.: essa parametrização apenas será utilizada na integração de faltas.
  6. "Código da visão": define o código da visão que possui a estrutura hierárquica da empresa, quando o parâmetro MV_ORGCFG está configurado com 1 ou 2. Obs.: essa parametrização apenas será utilizada na integração de líder dos funcionários..


Nota
titleObservação

Ao definir que irá aguardar o retorno do processamento da integração pelo

Nota
titleObservação

Ao definir que irá aguardar o retorno do processamento da integração pelo P&M, a rotina irá consumir uma API do P&M para verificar o status do processamento do lote, e assim que processado, irá exibir o status das integrações no log. Atente-se que a rotina irá tentar obter o status da integração até o tempo máximo estipulado; atingindo o tempo limite, a rotina irá ser encerrada exibindo o log dos status obtidos até o momento. Havendo erro no processamento do P&M, no log de ocorrências será exibido o ID do registro enviado ao P&M, contendo o código da validação e sua respectiva mensagem, conforme lista detalhada na documentação: https://tdn.totvs.com/pages/viewpage.action?pageId=676047532.

Observe que na possibilidade do P&M demorar para processar a integração, a rotina irá ficar "presa" até que toda a integração enviada seja processada pelo P&M ou até o tempo limite ser atingido.

Card
idwizard3
label3-Opções
titleOpções

Essa tela exibe a lista de opções existentes para integração com o P&M do tipo checkbox e deve ser selecionada as opções que serão integradas. 


Image RemovedImage Added

5-Processamento
Card
idwizard4
label4-Filtro
titleFiltro
idwizard5
label

Essa tela exibe botões para a definição de filtros para a integração, separados pelos registros que podem ser integrados, ou seja, há um botão de filtro para filiais, outro botão para grupos de cargo, etc..


Image RemovedImage Added


O botão de filtro de filiais sempre será exibido, independente se a opção de integração de filiais esteja ou não selecionada, pois o filtro de filial será utilizado para efetuar o filtro na integração de todas as opções. Já os outros botões serão desativados para clique caso a respectiva opção de integração não esteja selecionada.

No filtro de filial, será exibido uma MarkBrowse para seleção de filiais, enquanto que nos demais filtros será possível definir um filtro sobre qualquer campo da respectiva tabela, conforme necessidade.

Card


Nota
title
Processamento
Observação

A integração de grupos de contrato não possui botão para filtro  devido tabela genérica 1C possuir poucos registros.

Card
idwizard5
label5-Processamento
titleProcessamento

Essa tela exibe um Essa tela exibe um descritivo e um botão, que ao ser clicado iniciará a integração com o Performance & Metas.


...

Nota
titleObservação técnica

As informações enviadas para o P&M são geradas conforme o detalhamento abaixo:

Deck of Cards
startHiddenfalse
idjsons
Card
defaulttrue
idfiliais
labelFiliais
titleFiliais

Será enviado informações a partir da tabela SM0, conforme filiais selecionadas no botão "Filtro de Filiais".

As seguintes informações serão enviadas:


"integrationId": M0_CODIGO+M0_CODFIL,

"name": M0_FILIAL.

Card
idgrupos
labelGrupos de cargo
titleGrupos de cargo

Será enviado informações a partir da tabela SQ0, conforme filiais selecionadas no botão "Filtro de Filiais" e filtro realizado através do botão "Filtro de Grupos de cargo".

As seguintes informações serão enviadas:


  • Se modo de acesso compartilhado, será enviado os dados abaixo:

"integrationId": M0_CODIGO+Q0_FILIAL+Q0_GRUPO,

"name": Q0_DESCRI.


  • Se modo de acesso exclusivo, será enviado os dados abaixo (conforme cadastro do De X Para):

"integrationId": M0_CODIGO+REN_FILIAL+REN_CODIGO,

"name": REN_DESC.

Card
idcargos
labelCargos
titleCargos

Será enviado informações a partir da tabela SQ3, conforme filiais selecionadas no botão "Filtro de Filiais" e filtro realizado através do botão "Filtro de Cargos".

As seguintes informações serão enviadas:


  • Se modo de acesso compartilhado, será enviado os dados abaixo:

"integrationId": M0_CODIGO+Q3_FILIAL+Q3_CARGO,

"name": Q3_DESCSUM,

"positionGroupIntegrationId": M0_CODIGO+Q0_FILIAL+Q0_GRUPO.


  • Se modo de acesso exclusivo, será enviado os dados abaixo (conforme cadastro do De X Para):

"integrationId": M0_CODIGO+REN_FILIAL+REN_CODIGO,

"name": REN_DESC.

Card
iddepartamentos
labelDepartamentos
titleDepartamentos

Será enviado informações a partir da tabela SQB, conforme filiais selecionadas no botão "Filtro de Filiais" e filtro realizado através do botão "Filtro de Departamentos".

As seguintes informações serão enviadas:


  • Se modo de acesso compartilhado, será enviado os dados abaixo:

"integrationId": M0_CODIGO+QB_FILIAL+QB_DEPTO,

"name": QB_DESCRIC.


  • Se modo de acesso exclusivo, será enviado os dados abaixo (conforme cadastro do De X Para):

"integrationId": M0_CODIGO+REN_FILIAL+REN_CODIGO,

"name": REN_DESC.

Card
idcontratos
labelGrupos de contrato
titleGrupos de contrato

Será enviado informações a partir da tabela SX5, da tabela genérica 1C.

As seguintes informações serão enviadas:


"integrationId": M0_CODIGO+X5_FILIAL+X5_CHAVE,

"name": X5_DESCRI;

Card
idfuncionarios
labelFuncionários
titleFuncionários

Será enviado informações a partir da tabela SRA, conforme filiais selecionadas no botão "Filtro de Filiais" e filtro realizado através do botão "Filtro de Funcionários".

As seguintes informações serão enviadas:


"integrationId": M0_CODIGO+RDZ_CODRD0,

"name": RA_NOMECMP ou RA_NOME,

"socialName": RA_NSOCIAL,

"email": RA_EMAIL,

"admissionDate", RA_ADMISSA,

"lastRaiseDate": R3_DATA,

"birthDate": RA_NASC,

"demissionDate": RA_DEMISSA,

"experienceEndDate": RA_VCTEXP2 ou RA_VCTOEXP,

"dismissalType": de acordo com o campo "Tipo P&M" da tabela S043;

"hiringTypeIntegrationId": de acordo com o campo "Agrupador P&M" da tabela S049, 

"departmentIntegrationId": M0_CODIGO+QB_FILIAL+QB_DEPTO, se tabela SQB em modo compartilhado, ou M0_CODIGO+REN_FILIAL+REN_CODIGO, se tabela SQB em modo exclusivo conforme cadastro do De x Para,

"positionIntegrationId": M0_CODIGO+Q3_FILIAL+Q3_CARGO, se tabela SQ3 em modo compartilhado, ou M0_CODIGO+REN_FILIAL+REN_CODIGO, se tabela SQ3 em modo exclusivo conforme cadastro do De x Para,

"facilityIntegrationId": M0_CODIGO+RA_FILIAL.

Card
idmov_filiais
labelMovimentação de filiais
titleMovimentação de filiais

Será enviado informações a partir da tabela SRE, conforme filiais selecionadas no botão "Filtro de Filiais" e filtro realizado através do botão "Filtro de Movimentação de filiais".

As seguintes informações serão enviadas:


"integrationId":  M0_CODIGO+RE_FILIALP+RE_MATP+RE_DATA,

"personIntegrationId": M0_CODIGO+RDZ_CODRD0,

"facilityIntegrationId": M0_CODIGO+RE_FILIALP,

"changeDate": RE_DATA.


Informações
titleObservação

O histórico de movimentação de filiais será enviado ao P&M quando houver transferência de grupo de empresas e/ou de filial.

Card
idmov_grupos
labelMovimentação de grupos de cargo
titleMovimentação de grupos de cargo

Será enviado informações a partir da tabela SR7, conforme filiais selecionadas no botão "Filtro de Filiais" e filtro realizado através do botão "Filtro de Movimentação de grupos de cargo".

As seguintes informações serão enviadas:


"integrationId":  M0_CODIGO+R7_FILIAL+R7_MAT+R7_DATA+R7_SEQ,

"personIntegrationId": M0_CODIGO+RDZ_CODRD0,

"positionGroupIntegrationId": M0_CODIGO+Q0_FILIAL+Q3_GRUPO, se tabela SQ3 em modo compartilhado, ou M0_CODIGO+REN_FILIAL+REN_CODIGO, se tabela SQ3 em modo exclusivo conforme cadastro do De x Para,

"changeDate": R7_DATA.


Informações
titleObservação

O histórico de movimentação de grupo de cargo será enviado ao P&M quando houver alteração de cargo e o novo cargo estiver vinculado a um grupo de cargo diferente do anterior.

Card
idmov_cargos
labelMovimentação de cargos
titleMovimentação de cargos

Será enviado informações a partir da tabela SR7, conforme filiais selecionadas no botão "Filtro de Filiais" e filtro realizado através do botão "Filtro de Movimentação de cargos".

As seguintes informações serão enviadas:


"integrationId":  M0_CODIGO+R7_FILIAL+R7_MAT+R7_DATA+R7_SEQ,

"personIntegrationId": M0_CODIGO+RDZ_CODRD0,

"positionIntegrationId": M0_CODIGO+Q3_FILIAL+R7_CARGO, se tabela SQ3 em modo compartilhado, ou M0_CODIGO+REN_FILIAL+REN_CODIGO, se tabela SQ3 em modo exclusivo conforme cadastro do De x Para,

"changeDate": R7_DATA.


Informações
titleObservação

O histórico de movimentação de cargos será enviado ao P&M quando houver alteração de cargo.

Card
idmov_departamentos
labelMovimentação de departamentos
titleMovimentação de departamentos

Será enviado informações a partir da tabela SRE, conforme filiais selecionadas no botão "Filtro de Filiais" e filtro realizado através do botão "Filtro de Movimentação de departamentos".

As seguintes informações serão enviadas:


"integrationId":  M0_CODIGO+RE_FILIALP+RE_MATP+RE_DATA,

"personIntegrationId": M0_CODIGO+RDZ_CODRD0,

"positionIntegrationId": M0_CODIGO+QB_FILIAL+RE_DEPTOP, se tabela SQB em modo compartilhado, ou M0_CODIGO+REN_FILIAL+REN_CODIGO, se tabela SQB em modo exclusivo conforme cadastro do De x Para,

"changeDate": RE_DATA.


Informações
titleObservação

O histórico de movimentação de departamentos será enviado ao P&M quando houver transferência de departamento.

Card
idafastamentos
labelAfastamentos
titleAfastamentos

Será enviado informações a partir da tabela SR8, conforme filiais selecionadas no botão "Filtro de Filiais" e filtro realizado através do botão "Filtro de Afastamentos".

As seguintes informações serão enviadas:


"integrationId":  M0_CODIGO+R8_FILIAL+R8_MAT+R8_DATAINI,

"personIntegrationId": M0_CODIGO+RDZ_CODRD0,

"type": RCM_TIPOPM,

"startDate": R8_DATAINI,

"endDate": RE_DATAFIM.

Card
idfaltas
labelFaltas
titleFaltas

Será enviado informações a partir da tabela SRD, conforme filiais selecionadas no botão "Filtro de Filiais" e filtro realizado através do botão "Filtro de Faltas" para as verbas dos IDs de cálculo 0054, 0055, 0203, 0242 ou 0243.

As seguintes informações serão enviadas:


"integrationId":  M0_CODIGO+RD_FILIAL+RD_MAT+RD_DATARQ,

"personIntegrationId": M0_CODIGO+RDZ_CODRD0,

"year": RD_DATARQ,

"month": RD_DATARQ,

"daysNotWorked": RD_HORAS.


Informações
titleObservação

As verbas do histórico que estejam em horas serão convertidas para dias conforme a configuração do campo RA_HRSDIA.

A quantidade de faltas enviada ao P&M será a quantidade inteira. Por exemplo, se houver 5,5 dias de faltas, será integrado ao P&M 5 dias.

As opções de integração irão consumir as seguintes APIs do P&M:

Card
idlíder
labelLíder
titleLíder

Será enviado informações a partir da tabela SRA, conforme filiais selecionadas no botão "Filtro de Filiais" e filtro realizado através do botão "Filtro de Funcionários".

As seguintes informações serão enviadas:


"personIntegrationId": M0_CODIGO+RDZ_CODRD0,

"managerIntegrationId": M0_CODIGO+RDZ_CODRD0.


Informações
titleObservação

A estrutura hierárquica possui a mesma configuração que é utilizada no Portal de Gestão de Capital Humano e no Meu RH, através da configuração de departamentos, postos e visão.

Para mais informações, consulte as documentações a seguir: https://tdn.totvs.com/x/LYx9Hg e https://tdn.totvs.com/x/dfryHQ.


As opções de integração irão consumir as seguintes APIs do P&M:

OpçãoAPI P&M
Filiais

/api/v1/auxiliary-records/facilities

Grupos de cargo/api
OpçãoAPI P&M
Filiais

/api/v1/auxiliary-records/facilities

Grupos de cargo/api/v1/auxiliary-records/position-groups
Cargos/api/v1/auxiliary-records/positions
Departamentos/api/v1/auxiliary-records/departments
Grupos de contrato/api/v1/auxiliary-records/hiring-types
Funcionários/api/v2/persons
Movimentação de filiais/api/v1/facility-history
Movimentação de grupos de cargo/api/v1/position-group-history
Movimentação de cargos/api/v1/position-history
Movimentação de departamentos/api/v1/department-history
Afastamentos/api/v1/absences
Faltas/api/v1/days-not-worked
Líder dos funcionários/api/v1/persons/bind


Após a geração e envio de um lote de registros para o P&M, será retornado para o Protheus um UUIID de identificação do lote de processamento e esse ID será salvo na tabela REF conforme exemplo abaixo:

CampoConteúdo
REF_FILIAL

Sempre em branco

REF_PRCID

Process ID do lote retornado pelo P&M

REF_TIPO

Tipo da API:

1=Filiais

2=Grupos de cargo

3=Cargos

4=Departamentos

5=Funcionários

6=Grupos de contrato

7=Movimentação de cargos

8=Movimentação de departamentos

9=Movimentação de filiais

A=Movimentação de grupos de cargo

B=Afastamentos

C=Faltas

D=Líder dos funcionários

REF_DATINT

Data da integração

REF_HORINT

Hora da integração

REF_STATUS

Status da integração:

0=Não iniciado

1=Executando

2=Concluído

3=Houve erro de validação

X=Não encontrado

REF_LOTE

JSON do lote

REF_RETORNRetorno do processamento realizado pelo P&M
REF_USERCódigo do usuário responsável pela integração

...