Á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

02. SITUAÇÃO/REQUISITO

Criar uma rotina que fará a integração com o P&M (Performance & Metas) dos itens abaixo:

    • Filiais (tabela SM0);
    • Grupos de cargo (tabela SQ0);
    • Cargos (tabela SQ3);
    • Departamentos (tabela SQB);
    • Funcionários (tabela SRA).

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

DRHCALCPRT-6427


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 Criar uma rotina que possibilite consultar as informações dos lotes de integrações com o P&M (Performance & Metas).

03. SOLUÇÃO

...

Efetuado o desenvolvimento da integração com o P&M (Performance & Metas)

...

.


Aviso
titleObservação

A melhoria depende da aplicação da atualização liberada no pacote de expedição do módulo RH a partir de 15/07/2022 e da execução do UPDDISTR com o dicionário diferencial para os releases iguais ou superiores a versão 12.1.27.


Toggle Cloak
idupddistr
Clique aqui para exibir ou esconder o conteúdo.

Cloak
visibletrue
idupddistr

Foi efetuado a criação de índices no dicionário SIX, conforme estrutura abaixo:

INDICEORDEMCHAVESHOWPES
REF1REF_FILIAL+REF_TIPO+REF_STATUS+DTOS(REF_DATINT)+REF_HORINT       S
REF2REF_FILIAL+REF_PRCIDN
REF3REF_FILIAL+DTOS(REF_

...

    • Filiais (tabela SM0);
    • Grupos de cargo (tabela SQ0);
    • Cargos (tabela SQ3);
    • Departamentos (tabela SQB);
    • Funcionários (tabela SRA).

Foi efetuado a criação da rotina GPEM939B para permitir a visualização das informações dos lotes de integração com o P&M (Performance & Metas), bem como consultar manualmente o status de integração. Também foi disponibilizada a rotina GPEM939C para ser possível agendar no Schedule a consulta automática dos lotes de integração.

Aviso
titleObservação

A melhoria depende da aplicação da atualização liberada no pacote de expedição do módulo RH a partir de XXXX/XXXX/2022 e da execução do UPDDISTR com o dicionário diferencial para os releases iguais ou superiores a versão 12.1.27.

Foi efetuado a criação da tabela REF, conforme estrutura abaixo:

X2_CHAVEX2_NOMEX2_MODOX2_MODOUNX2_MODOEMP
REFLote de integração P&MCCC
Nota
titleObservação

O modo de acesso da tabela REF deve ser obrigatoriamente compartilhado.

Foi efetuado a criação dos índices na tabela REF, conforme estrutura abaixo:

INDICEORDEMCHAVESHOWPESREF1REF_FILIAL+REF_TIPO+REF_STATUS+DTOS(REF_
DATINT)+REF_HORINT       S
REF
REN
2
1
REF
REN_FILIAL+
REF_PRCIDNREF3REF_FILIAL+DTOS(REF_DATINT)+REF_HORINT       
REN_TIPO+REN_CODIGOS
RET1RET_FILIAL+RET_TIPO+RET_CODIGOS
RET2RET_FILIAL+RET_TIPO+RET_FILCAD+RET_CODCAD S


Foi efetuado a criação de

campos na tabela REF

tabelas no dicionário SX2, conforme estrutura abaixo:

X3
X2_
ARQUIVO
CHAVE
X3
X2_
ORDEM
NOME
X3
X2_
CAMPO
MODO
X3
X2_
TIPO
MODOUN
X3
X2_
TAMANHOX3_DECIMALX3_TITULOX3_DESCRICHELPREF01REF_FILIALC20FilialFilial

Filial do lote

REF02REF_PRCIDC1000Process IDProcess ID

Process ID do lote retornado pelo P&M

REF03REF_TIPOC10Tipo APITipo API

Tipo da API

REF04REF_DATINTD80Data Integr.Data Integr.

Data da integração

REF05REF_HORINTC80Hora Integr.Hora Integr.

Hora da integração

REF06REF_STATUSC10StatusStatus Integração

Status da integração

REF07REF_LOTEM100LoteLote Integração

JSON do lote integrado

REF08REF_RETORNM100Retorno
MODOEMP
REFLote de integração P&MCCC
RENCadastros P&MCCC
RETVínculos Cadastros P&MCCC
Observação

O modo de acesso das tabelas REF, REN e RET devem ser obrigatoriamente compartilhado.


Foi efetuado a criação de campos no dicionário SX3 conforme estrutura abaixo:

X3_ARQUIVOX3_ORDEMX3_CAMPOX3_TIPOX3_TAMANHOX3_TITULOX3_DESCRICHELP
RCMZZRCM_TIPOPMC1Tipo P&MTipo P&MInforme o tipo de afastamento para o P&M
REF01REF_FILIALC2FilialFilial

Filial do lote

REF02REF_PRCIDC100Process IDProcess ID

Process ID do lote retornado pelo P&M

REF03REF_TIPOC1Tipo APITipo API

Tipo da API

REF04REF_DATINTD8Data Integr.Data Integr.

Data da integração

REF05REF_HORINTC8Hora Integr.Hora Integr.

Hora da integração

REF06REF_STATUSC1StatusStatus Integração

Status da integração

REF07REF_LOTEM10LoteLote Integração

JSON do lote integrado

REF08REF_RETORNM10Retorno
Retorno P&M

Retorno do lote pelo P&M

REF09REF_USERC6
0
UsuárioUsuário

Usuário responsável pela geração do lote

REF10REF_
OJSelecionado
OKC2
0
Selecionado?Selecionado?

Evento selecionado para consulta?

Foi efetuado a criação de parâmetros, conforme estrutura abaixo:

X6_VARX6_TIPOX6_DESCRICX6_DESC1Exemplo de preenchimentoObservaçãoMV_APIPEM0CURL para geração do token de acesso do ambientede integração com o Performance & Metas

https://{TENANT}.rac.{ENVIRONMENT}.totvs.app/totvs.rac/connect/token

Exemplo: https://admin.rac.totvs.app/totvs.rac/connect/token

MV_APIPEM1CURL base do ambiente de integração com oPerformance & Metas

https://{NOME_EMPRESA}.performance.totvs.app/integration-general/

Exemplo: https://empresateste.performance.dev.totvs.app/integration-general/

MV_APIPEM2CClientId do ambiente de integração com oPerformance & MetasMV_APIPEM3CSecretId do ambiente de integração com oPerformance & MetasMV_APIPEM4NTipo de verificação de registro ativo naintegração com o Performance & MetasNão precisa ser configurada no módulo SIGACFG. 
Será exibida para o usuário na rotina de integração.MV_APIPEM5DData de corte da integração com oPerformance & MetasNão precisa ser configurada no módulo SIGACFG. 
Será exibida para o usuário na rotina de integração.MV_APIPEM6NDefine se espera ou não o retorno da integraçãocom o Performance & MetasNão precisa ser configurada no módulo SIGACFG. 
Será exibida para o usuário na rotina de integração.MV_APIPEM7NDefine o tempo máximo em minutos de espera paraobter o retorno do Performance & MetasNão precisa ser configurada no módulo SIGACFG. 
Será exibida para o usuário na rotina de integração.
Nota
titleObservação

Os parâmetros MV_APIPEM0 e MV_APIPEM1 precisam ser configurados conforme o formato de exemplo da tabela acima.

Nota
titleObservação

Será necessário incluir manualmente um item no menu do módulo SIGAGPE para a rotina GPEM939 e para a rotina GPEM939B. Sugere-se criá-las em um grupo separada, chamado de Performance & Metas em Miscelânea.

Além disso, para ser possível realizar a integração com o P&M, é necessário que o cadastro grupos de cargo tenha sido realizado através da rotina TRMA030, uma vez que essa informação é obrigatória para o P&M, além de vincular os grupos aos cargos cadastrados no sistema.

A rotina GPEM939 é do tipo Wizard e possui cinco passos:

...

startHiddenfalse
idWIZARD

...

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.

Image Removed

...

idwizard2
label2-Configuração
titleConfiguração

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

Image Removed

  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 ativos ou que foram demitidos com data de demissão superior à data de corte (a data é configurada 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.

...

titleObservação técnica

A verificação do registro ativo da opção "Campo MSBLQL (se houver) + vínculo com registro ativo da SRA" é diferente para cada opção de integração:

  • Filiais: uma filial será considerada como ativa se houver funcionários cujo cargo esteja vinculado a um grupo (verificação do campo Q3_GRUPO) sendo pelo menos um funcionário ativo conforme regra explicada acima (verificação dos campos RA_CARGO, RA_SITFOLH e RA_DEMISSA);
  • Grupos de cargo: um grupo será considerado como ativo se houver cargos com vínculo ao grupo (verificação do campo Q3_GRUPO) e cujo cargo esteja vinculado a pelo menos um funcionário ativo conforme regra explicada acima (verificação dos campos RA_CARGO, RA_SITFOLH e RA_DEMISSA);
  • Cargos: um cargo será considerado ativo se houver grupo preenchido e se houver pelo menos um funcionário ativo vinculado conforme regra explicada acima (verificação dos campos RA_CARGO, RA_SITFOLH e RA_DEMISSA);
  • Departamentos: um departamento será considerado ativo se houver pelo menos um funcionário ativo vinculado conforme regra explicada acima (verificação dos campos RA_DEPTO, RA_SITFOLH e RA_DEMISSA);
  • Funcionários: um funcionário será considerado ativo se possuir cargo com grupo de cargo preenchido, departamento preenchido e CPF preenchido, além da regra da situação de folha explicado acima.

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. Todas as validações e mensagens são geradas pelo P&M, sendo de responsabilidade do usuário analisar a mensagem da validação e, se necessário, tomar ação para reenviar o registro novamente.

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.

...

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 Removed

...

idwizard4
label4-Filtro
titleFiltro

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 Removed

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.

REN01REN_FILIALC2FilialFilialFilial do registro
REN02REN_TIPO  C1TipoTipoTipo do cadastro para o P&M
REN03REN_CODIGOC20CódigoCódigoCódigo do cadastro no P&M
REN04REN_DESC  C100DescriçãoDescriçãoDescrição do cadastro no P&M
RET01RET_FILIALC2FilialFilialFilial do registro
RET02RET_TIPO  C1TipoTipoTipo do cadastro para o P&M
RET03RET_CODIGOC20CódigoCódigoCódigo do cadastro no P&M
RET04RET_FILCADC2Fil. CadFilial CadastroFilial do cadastro
RET05RET_CODCADC20Cód. Cadast.Código CadastroCódigo do cadastro


Foi efetuado a criação de tabela genérica no dicionário SX5, conforme estrutura abaixo:

X5_TABELAX5_CHAVEX5_DESCRI
1C1Empregado e Trabalhador Temporário
1C2Avulso
1C3Agente Público 
1C4Cessão
1C7Contribuinte Individual 
1C9Bolsista


Foi efetuado a criação de parâmetros no dicionário SX6, conforme estrutura abaixo:

X6_VARX6_TIPOX6_DESCRICX6_DESC1Exemplo de preenchimento
MV_APIPEM0CURL para geração do token de acesso do ambientede integração com o Performance & Metas

https://{TENANT}.rac.{ENVIRONMENT}.totvs.app/totvs.rac/connect/token

Exemplo: https://admin.rac.totvs.app/totvs.rac/connect/token

MV_APIPEM1CURL base do ambiente de integração com oPerformance & Metas

https://{NOME_EMPRESA}.performance.totvs.app/integration-general/

Exemplo: https://empresateste.performance.dev.totvs.app/integration-general/

MV_APIPEM2CClientId do ambiente de integração com oPerformance & Metas
MV_APIPEM3CSecretId do ambiente de integração com oPerformance & Metas
Observação

Os parâmetros MV_APIPEM0 e MV_APIPEM1 precisam ser configurados conforme o formato de exemplo da tabela acima.

As informações a serem preenchidas conforme o exemplo acima nas variavéis {TENANT}, {ENVIRONMENT} e {NOME_EMPRESA}  devem ser solicitada ao responsável do contrato do P&M (Perfomance e Metas)


Foi efetuado a criação de relacionamentos no dicionário SX9, conforme estrutura abaixo:

X9_DOMX9_IDENTX9_CDOMX9_EXPDOMX9_EXPCDOMX9_LIGDOMX9_LIGCDOMX9_CONDSQLX9_USEFIL
REN001RETREN_TIPO+REN_CODIGORET_TIPO+RET_CODIGO1N
S
SQ0001RETQ0_FILIAL+Q0_GRUPORET_FILCAD+RET_CODCAD1N#RET_TIPO  ='1'N
SQ3001RETQ3_FILIAL+Q3_CARGORET_FILCAD+RET_CODCAD1N#RET_TIPO  ='2'N
SQB001RETQB_FILIAL+QB_DEPTORET_FILCAD+RET_CODCAD1N#RET_TIPO  ='3'N


Foi efetuado a criação de consultas padrão no dicionário SXB, conforme estrutura abaixo:

XB_ALIASXB_TIPOXB_SEQXB_COLUNAXB_DESCRIXB_CONTEM
RCMTPA101RETipo afastamento
RCMTPA20101
GP430TpA(.T.)
RCMTPA501

VAR_IXB
S04328101RETipo desligamento
S0432820101
GPS04328(.T.)
S04328501

VAR_IXB


Considerações importantes:

    • A integração com o P&M é do tipo assíncrona, isto é, o P&M fará o processamento das informações enviadas conforme a fila de processamento.
    • A integração somente envia informações da tabela do grupo de empresas em que o usuário está logado.
    • O P&M exige que algumas informações sejam obrigatoriamente enviadas. Por esse motivo, para ser possível realizar a integração com o P&M, é necessário que o cadastro grupos de cargo tenha sido realizado através da rotina TRMA030, uma vez que essa informação é obrigatória para o P&M. Algumas outras informações também serão obrigatórias:
      • Um cargo somente será enviado se for preenchido o grupo no campo Q3_GRUPO e que esse grupo seja válido na tabela SQ0;
      • Um funcionário somente será enviado se for preenchido o CPF no campo RA_CIC, e-mail no campo RA_EMAIL, se houver departamento preenchido no campo RA_DEPTO e que esse departamento seja válido na tabela SQB, se houver cargo preenchido no campo RA_CARGO e que esse cargo seja válido na tabela SQ3 e que o cargo tenha um grupo preenchido no campo Q3_GRUPO e que esse grupo seja válido na tabela SQ0 e que o funcionário tenha um relacionamento com participante na tabela RDZ.
    • O P&M não permite que determinado cadastro tenha a mesma descrição de outro enviado anteriormente, mesmo possuindo códigos diferentes. Dessa forma, se os cadastros de grupos de cargo, cargos ou departamentos serem de modo exclusivo, será necessário realizar um cadastro de De x Para através das rotinas GPEA944A, GPEA944B ou GPEA944C.
    • Apenas o envio de funcionários irá validar a restrição de acesso por filiais.
    • Atente-se que o sistema não fará controle se determinado registro foi ou não integrado com sucesso ao P&M. Havendo necessidade de reenvio de informações para o P&M por qualquer motivo, será efetuado envio dos registros de acordo com os filtros criados pelo usuário na rotina de integração, sendo possível reenviar todos os registros novamente ou apenas um ou alguns registros em específico.
    • Em caso do processamento das informações pelo P&M retornar erros de validação, atente-se que as mensagens apresentadas na integração são as retornadas pelo P&M. Para mais detalhes sobre os motivos de apresentação dos erros, deve-se consultar a documentação do P&M no link: https://tdn.totvs.com/pages/viewpage.action?pageId=676047532.
    • As rotinas mencionadas devem ser incluídas manualmente no menu.



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.



Informações
titleObservação:

No Protheus não é tratado Níveis de Cargo, desta forma, não será possível realizar o controle desta informação.

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.

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/LYx9Hghttps://tdn.totvs.com/x/dfryHQ e https://tdn.totvs.com/pages/releaseview.action?pageId=500300689.


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/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

...

idwizard5
label5-Processamento
titleProcessamento

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

Image Removed

...

titleObservação técnica

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

...

startHiddenfalse
idjsons
Card
defaulttrue
idfiliais
labelFiliais
titleFiliais

"integrationId": M0_CODIGO+M0_CODFIL,

"name": M0_FILIAL

Card
idgrupos
labelGrupos de cargo
titleGrupos de cargo

"integrationId": M0_CODIGO+Q0_FILIAL+Q0_GRUPO,

"name": Q0_DESCRI

Card
idcargos
labelCargos
titleCargos

"integrationId": M0_CODIGO+Q3_FILIAL+Q3_CARGO,

"name": Q3_DESCSUM,

"positionGroupIntegrationId": M0_CODIGO+Q0_FILIAL+Q0_GRUPO;

Card
iddepartamentos
labelDepartamentos
titleDepartamentos

"integrationId": M0_CODIGO+QB_FILIAL+QB_DEPTO,

"name": QB_DESCRIC;

...

idfuncionarios
labelFuncionários
titleFuncionários

"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,

"departmentIntegrationId": M0_CODIGO+QB_FILIAL+QB_DEPTO,

"positionIntegrationId": M0_CODIGO+Q3_FILIAL+Q3_CARGO,

"facilityIntegrationId": M0_CODIGO+RA_FILIAL,

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:

...

Sempre em branco

...

Process ID do lote retornado pelo P&M

...

Tipo da API:

1=Filiais

2=Grupos de cargo

3=Cargos

4=Departamentos

5=Funcionários

...

Data da integração

...

Hora da integração

...

Status da integração:

0=Não iniciado

1=Executando

2=Concluído

3=Houve erro de validação

X=Não encontrado

...

JSON do lote

...

  • A informação do ID será utilizada posteriormente para consultar o status de processamento do lote no P&M.
  • Atente-se que o sistema Protheus não fará controle se determinado registro foi ou não integrado com sucesso ao P&M. Havendo necessidade de reenvio de informações para o P&M, será efetuado envio dos registros de acordo com os filtros criados pelo usuário na rotina de integração, sendo possível reenviar todos os registros novamente ou apenas um ou alguns registros em específico.
  • A integração somente envia informações da tabela do grupo de empresas em que está logado.
  • Não há controle de restrição de acesso por filiais.

A rotina GPEM939B é do tipo MarkBrowse e irá exibir os registros da tabela REF:

Ao efetuar um duplo clique no registro ou ao clicar na coluna de cabeçalho, os registros com o campo REF_STATUS com 0 ou 1 serão selecionados. Ao clicar no botão "Consultar Status", será efetuado consulta do status no P&M, e ao fim será retornado um log de ocorrências com os status dos lotes, bem como eventuais erros de validação retornados pelo P&M.

Ao posicionar em um registro e clicar no botão "Visualizar" será aberto as informações detalhadas do lote. Caso o status seja 3, será exibido em "Outras Ações" o botão Consultar Inconsistências para que seja gerado um log com os erros retornados pelo P&M em um formato mais amigável.

...



04. DEMAIS INFORMAÇÕES

Atualizador de dicionário e base de dados - UPDDISTR.

...

Schedule - Como agendar a execução de rotinas.

Premissas para Integração P&M.

Integração com o P&M (Performance & Metas).


05. ASSUNTOS RELACIONADOS

...