01. DADOS GERAIS
Produto: | TOTVS RH
|
---|---|
Linha de Produto: | Linha Protheus |
Segmento: | RH |
Módulo: | GESTÃO DE PESSOAS (SIGAGPE) |
Função: | rh.sigagpe.ahgora |
Ticket: | |
Requisito/Story/Issue (informe o requisito relacionado) : | DRHCALCPRT-15142 |
02. SITUAÇÃO/REQUISITO
Criar o cadastro das localizações e envio das localização para a Ahgora.
03. SOLUÇÃO
Foi desenvolvido a possibilidade de criar a localização no app de integração para que seja incluída no envio do funcionário.
Localizações - Ahgora
A localização é uma propriedade criada no envio do funcionário.
Caso não seja definida nenhuma localização, não será enviada a propriedade 'localizacoes' no json do funcionário.
Requisitos para cadastro das localizações:
Foi efetuado a criação de tabelas no dicionário SX2, conforme estrutura abaixo:
X2_CHAVE | X2_NOME | X2_MODO | X2_MODOUN | X2_MODOEMP |
---|---|---|---|---|
RUL | Localizações Ahgora | E | E | E |
Foi efetuado a criação de campos no dicionário SX3 conforme estrutura abaixo:
X3_ARQUIVO | X3_ORDEM | X3_CAMPO | X3_TIPO | X3_TAMANHO | X3_TITULO | X3_DESCRIC |
---|---|---|---|---|---|---|
RUL | 01 | RUL_FILIAL | C | 2 | Filial | Filial |
RUL | 02 | RUL_IDLOC | C | 16 | ID Local | Id da Localização |
RUL | 03 | RUL_USAALL | C | 1 | Usa Filiais | Usado para todas filiais |
RUL | 04 | RUL_LOCALI | C | 200 | Localização | Código Localização |
RUL | 05 | RUL_USASRA | C | 1 | Usa Campos | Usa Campos Cadastro do funcionário |
RUL | 06 | RUL_DATINC | D | 8 | Dt. Inclusão | Data de Inclusão |
RUL | 07 | RUL_HORINC | C | 8 | Hr. Inclusão | Hora da Inclusão |
RUL | 08 | RUL_USER | C | 40 | Usuário | Usuário do Sitema |
Foi efetuado a criação de índices no dicionário SIX conforme estrutura abaixo:
INDICE | ORDEM | CHAVE |
---|---|---|
RUL | 01 | RUL_FILIAL+RUL_IDLOC+DTOS(RUL_DATINC)+RUL_HORINC+RUL_LOCALI |
RUL | 02 | RUL_FILIAL+RUL_LOCALI |
RUL | 03 | RUL_FILIAL+RUL_IDLOC+RUL_LOCALI |
RUL | 04 | RUL_FILIAL+RUL_USAALL+RUL_LOCALI |
RUL | 05 | RUL_IDLOC+RUL_USAALL+RUL_LOCALI |
Importante
- A criação das localizações depende da aplicação da atualização liberada no pacote de expedição do módulo RH a partir de 30/12/2024 e da execução do UPDDISTR com o dicionário diferencial para os releases iguais ou superiores a versão 12.1.033;
Funcionamento:
Ao abrir a tela da integração Ahgora, será mostrado o menu Localizações Ahgora
Ao clicar no menu, será validado se possuí a tabela RUL na base de dados, sendo assim, será mostrado a tela de cadastro de uma nova localização.
Primeiro Campo será filtrado os campos do cadastro do funcionário, tabela SRA.
Será permitido selecionar no máximo 4 campos.
Quando escolher essa opção, será gravado na tabela RUL os campos escolhidos na ordem de seleção concatenados por pipe, no envio do funcionário, será buscado essa localização, e será verificado o conteúdo dos campos escolhidos para montagem da localização.
Exemplo cadastro de localização através dos campos da SRA
Vou escolher dois campos, Filial e um outro campo customizado
Na sequencia vou definir se quero usar para todas as filiais ou se vou querer escolher as filiais específicas.
Vou usar apenas para a filial 01
Ao confirmar, o registro será salvo e a tabela recarregada.
No cadastro do funcionário tenho o seguinte conteúdo no campo RA_XLOCAL(Campo customizado), "01TESTE"
Como defini que a minha localização é a junção dos campos RA_FILIAL + RA_XLOCAL, logo, a minha localização será '0101TESTE'
No envio do funcionário será criado a localização no json de envio:
Localização Livre
Posso criar uma nova localização e utilizar o campo livre, ou seja, o conteúdo do campo será a minha localização.
Exemplo
Minha localização será 'Localização SP' e defini que ela será usada para todas as filais, ou seja, todos os funcionários integrados levarão essa localização no seu envio.
Tabela recarregada com a nova localização
Importante
Usando a opção todas as filiais, será criado um registro apenas na tabela, não será criado o mesmo registro para todas as filiais, na integração do funcionário será validado que o registro foi definido para todas as filiais e no envio será carregado a localização corretamente para todos os funcionários.
Na tela será marcado com * ao invés do código da filial e será mostrado que foi definido o uso para todas as filiais através do campo 'usado em todas as filiais'.
Opção de alteração do funcionário.
Ao utilizar essa opção na inclusão da localização com 'Sim', será verificado na tabela de integração RUM, os registros correspondentes a filial da localização, caso exista e esteja com status 6-Integrados, será criado um registro de alteração na RUM para que seja possível enviar o funcionário com a localização criada.
Caso deixe com 'Não', o fluxo seguirá com a criação da localização, porém não será criado registro de alteração para funcionários já integrados.
Integração do funcionário.
Agora temos duas localizações, uma da filial 01 e a outra para todas as filiais.
Na integração do funcionário da filial 01, agora, serão integradas duas localizações no json de envio.
Exclusão
Ao selecionar o(s) registro(s), clique em 'Excluir', e confirme.
Após confirmar, será mostrado uma pergunta se deseja criar um registro de alteração para os funcionários.
É o mesmo cenário da inclusão, porém, como se trata da exclusão da localização, será realizada uma busca na tabela de integração pelos registros já integrados com status 6. Caso o registro exista, será criada uma alteração para que seja possível enviá-lo novamente, agora sem a localização excluída.
Caso responda 'Não', o fluxo seguirá com a exclusão da localização e não será criado registro de alteração para funcionários já integrados.
Localização excluída com sucesso
Observação
- Não será permitido selecionar mais que 4 campos do cadastro do funcionário;
- Não será permitido cadastrar a localização sem preencher algum dos dois campos, ou o Livre, ou o do cadastro do funcionário;
- Não será permitido cadastrar a localização sem escolher a filial ou ticar para todas as filiais;
- Para que seja criado um registro de alteração do funcionário na RUM após criação ou exclusão da localização, o registro do funcionário precisará estar integrado, campo RUM_STATUS = 6;
04. DEMAIS INFORMAÇÕES
DT Protheus x Ahgora - Integração funcionários e afastamentos
05. ASSUNTOS RELACIONADOS
Não se aplica