Árvore de páginas

Versões comparadas

Chave

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

...

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

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:

    • No cadastro de tipos de ausência, foi criado o campo "Tipo P&M" para definir o tipo de afastamento que será enviado ao P&M na integração de afastamentos:

Image Removed

    • Na tabela auxiliar S043 foi criado o campo "Tipo P&M" para definir o tipo de desligamento que será enviado ao P&M na integração de funcionários:

Image Removed

    • Na tabela auxiliar S049 foi criado o campo "Agrupador P&M" para definir o agrupador de contrato que será enviado ao P&M na integração de grupos de contrato e de funcionários:

Image Removed

Se o cadastro de grupos de cargo estiver com modo de acesso Exclusivo, será necessário cadastrar um De x Para através da rotina GPEA944A:

Image Removed

Em Outras Ações, foi disponibilizado a opção "Vincular grupos", onde será possível marcar quais grupos serão vinculados ao cadastro:

Image Removed

Se o cadastro de cargos estiver com modo de acesso Exclusivo, será necessário cadastrar um De x Para através da rotina GPEA944B:

Image Removed

Em Outras Ações, foi disponibilizado a opção "Vincular cargos", onde será possível marcar quais cargos serão vinculados ao cadastro:

Image Removed

Se o cadastro de departamentos estiver com modo de acesso Exclusivo, será necessário cadastrar um De x Para através da rotina GPEA944C:

Image Removed

Em Outras Ações, foi disponibilizado a opção "Vincular departamentos", onde será possível marcar quais departamentos serão vinculados ao cadastro:

Image Removed

Nota
titleObservação

Com o cadastro de De x Para, ao efetuar a integração com o P&M, todos os grupos de cargo, ou cargos ou departamentos serão enviados com o código e descrição cadastrados nesse cadastro.

Foi efetuado a criação da rotina GPEM939 para efetuar 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);
    • Grupos de contrato (tabela genérica 1C);
    • Funcionários (tabela SRA);
    • Movimentações de filiais (tabela SRE);
    • Movimentações de grupos de cargo (tabela SR7);
    • Movimentações de cargos (tabela SR7);
    • Movimentações de departamentos (tabela SRE);
    • Afastamentos (tabela SR8);
    • Faltas (tabela SRD);

A rotina é 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 seis 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 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 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 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.

...

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.

Nota
titleObservação

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

...

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

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.

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

Image Removed

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.

Image Removed

Image Removed

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

Image Removed

Image Removed

Também foi disponibilizada a rotina GPEM939C para ser possível agendar no Schedule a consulta automática dos lotes de integração.

A rotina pode ser cadastrada no Schedule do módulo SIGACFG - Configurador para efetuar a consulta automática de todos os lotes que ainda não tiveram o status retornado pelo P&M, conforme exemplo abaixo:

Image Removed

Exemplo de retorno gerado no console do appserver:

...

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_DATINT)+REF_HORINT       S
REN1REN_FILIAL+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 tabelas no dicionário SX2, conforme estrutura abaixo:

X2_CHAVEX2_NOMEX2_MODOX2_MODOUNX2_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_RETORNM10RetornoRetorno P&M

Retorno do lote pelo P&M

REF09REF_USERC6UsuárioUsuário

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

REF10REF_OKC2Selecionado?Selecionado?

Evento selecionado para consulta?

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.


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

...

Premissas para Integração P&M.

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


05. ASSUNTOS RELACIONADOS

...