Árvore de páginas

Versões comparadas

Chave

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

...

Produto:

TOTVS RH

Solucoes_totvs
Solucao

Solucoes_totvs_cross
SolucaoCross

Solucoes_totvs_parceiros
SolucaoParceiros

Solucoes_totvs_parceirosexptotvs
SolucaoParcsExpsTOTVS

Linha de Produto:

Linha Protheus 

Linhas_totvs

Segmento:

RH 

Segmentos_totvs
Segmento

Módulo:GESTÃO DE PESSOAS (SIGAGPE)
Função:

GPEA944A

GPEA944B

GPEA944C

GPEM939

GPEM939A

GPEM939B

GPEM939C

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

DRHCALCPRT-8181

DRHCALCPRT-8161

DRHCALCPRT-8176

DRHCALCPRT-8709

DRHCALCPRT-8710

DRHCALCPRT-9268

DRHCALCPRT-9326

DRHCALCPRT-9510


02. 
SITUAÇÃO/REQUISITO

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


03. SOLUÇÃO

Efetuado o desenvolvimento da integração com Feedz.

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 0209/06/2023 e da execução do UPDDISTR com o dicionário diferencial para os releases iguais ou superiores a versão 12.1.33033.

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

Cloak
visibletrue
idupddistr

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

SISTEMASistema
X3_ARQUIVOX3_ORDEMX3_CAMPOX3_TIPOX3_TAMANHOX3_TITULOX3_DESCRICHELP
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?

REF11REF_
TPINTC1
SistemaSistema
Tipo Int.Tipo IntegraçãoTipo da Integração


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

X6_VARX6_TIPOX6_DESCRICExemplo de preenchimento
MV_APIFEE1CURL base do ambiente de integração com a Feedz
Exemplo

Ambiente Produção: https://integrations.feedz.com.br/protheus-feedz-etl/

Ambiente Homologação:  https://integrations.feedz.dev/protheus-feedz-etl/

MV_APIFEE2CToken de autenticação para integração com a Feedz
Observação

O parâmetro MV_APIFEE1 e MV_APIFEE2 devem ser preenchidos com base na informação gerada na aplicação da Feedz.

A chave na Feedz é obtida em: Configurações > Integrações > Chave Integração (API 2.0). Caso o campo esteja vazio, clicar em Gerar Token.

Para mais informações sobre o Token e URL entre em contato com o seu Customer Sucess Feedz.

Importante: O parâmetro MV_APIFEE1  deve precisa ser configurado conforme o formato de exemplo da tabela acima.As informações a serem preenchidas devem ser solicitada ao responsável do contrato da Feedz..


Considerações importantes:

    • A integração com a Feedz é do tipo assíncrona, isto é, a Feedz 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.
    • A Feedz exige que algumas informações sejam obrigatórias:
      • 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, se houver um relacionamento com participante na tabela RDZ e caso tenha enviado previamente o cadastro das filiais, cargos, departamentos e grupos de contrato.
    • A Feedz 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 cargos ou departamentos serem de modo exclusivo, será necessário realizar um cadastro de De x Para através das rotinas 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 na Feedz. Havendo necessidade de reenvio de informações para a Feedz 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 pela Feedz retornar erros de validação, atente-se que as mensagens apresentadas na integração são as retornadas pela Feedz.
    • As rotinas mencionadas devem ser incluídas manualmente no menu, caso não existam.


Nota
titleObservação técnica

As informações enviadas para a Feedz 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
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+Q3_CC(Caso exista),

"name": Q3_DESCSUM, ou Q3_DESCSUM+M0_CODIGO+Q3_FILIAL+Q3_CARGO+Q3_CC(Caso exista), caso configurada opção de envio de descrição + código.

"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, ou Q3_DESCSUM+M0_CODIGO+QB_FILIAL+QB_DEPTO, caso configurada opção de envio de descrição + código.


  • 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.

"registration": RA_MAT

"cpf": RA_CIC


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.

Na integração de líder dos funcionários, somente será enviado o líder caso ele esteja como matricula responsável de outro departamento, ou seja, diferente do que está alocado

Exemplo: 

Departamento: 000000001[Presidência]
Matriculas alocadas: 000001
Matricula responsável: 000001

Departamento: 000000002[Diretoria]
Matriculas alocadas: 000002
Matricula responsável: 000001

Departamento: 000000003[Tecnologia]
Matriculas alocadas: 000003
Matricula responsável: 000002

Nesse cenário hierárquico, para integrar o Líder de matricula 000001 que está alocado no departamento "Presidência" e responsável do departamento "Diretoria", na integração com a Feedz caso seja realizado o filtro por matricula, deve ser selecionado alguma matricula que está alocada no departamento "Diretoria" onde a matricula 000001 é responsável e este que será enviado para Feedz como Líder na tag managerIntegrationId, o funcionário selecionado será enviado na tag personIntegrationId.

Image Added




As opções de integração irão consumir as seguintes APIs da Feedz:

OpçãoAPI Feedz
Filiais

/api/v1/auxiliary-records/facilities

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
Líder dos funcionários/api/v1/persons/bind


Após a geração e envio de um lote de registros para a Feedz, 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 pela Feedz

REF_TIPO

Tipo da API:

1=Filiais

3=Cargos

4=Departamentos

5=Funcionários

6=Grupos de contrato

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 pela Feedz
REF_USERCódigo do usuário responsável pela integração
REF_TPINT2=Feedz


04. DEMAIS INFORMAÇÕES

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

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

Integração com a Feedz.

Vídeos How To:

How To | MP - SIGAGPE integração com a Feedz Parte 1

Conector de Widget
urlhttps://www.youtube.com/watch?v=zQ9SGTHu51k

How To | MP - SIGAGPE integração com a Feedz Parte 2

Conector de Widget
urlhttps://www.youtube.com/watch?v=iHNpeQ5xwXM

How To | MP - SIGAGPE integração com a Feedz Parte 3

Conector de Widget
urlhttps://www.youtube.com/watch?v=IXVGuNN5MA0

How To | MP - SIGAGPE integração com a Feedz Parte 4

Conector de Widget
urlhttps://www.youtube.com/watch?v=_JAdcfQuvho

How To | MP - SIGAGPE integração com a Feedz Parte 5

Conector de Widget
urlhttps://www.youtube.com/watch?v=H4zHROqID6E

05. ASSUNTOS RELACIONADOS

...