Histórico da Página
Informações Gerais
Especificação | |||
Produto | Logix | Módulo | Financeiro |
Segmento Executor | Manufatura | ||
Projeto1 | MANFIN01 | IRM1 | MANFIN01-559 Story - Integrar Logix x RH RM - Fase 2 |
Requisito1 |
| Subtarefa1 | MANFIN01-561 Gerar Especificação - Integrar Logix x RH RM - Fase 2 |
Chamado2 |
| ||
País | ( X ) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( ) Outro _____________. | ||
Outros | <Caso necessário informe outras referências que sejam pertinentes a esta especificação. Exemplo: links de outros documentos ou subtarefas relacionadas>. |
Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos).
Objetivo
Integrar o sistema de recursos humanos RM Labore com os módulos financeiro e contábil do Logix. Esta é a segunda fase do projeto, e visa a integração do cadastro de funções/cargos, lançamentos de pagamentos a autônomos para constar na SEFIP, integração de comissão de representante e acerto de saldo de viagens para a folha de pagamento.
A integração se dará utilizando Mensagem Única/EAI2.
Contexto
A Totvs ofertará aos clientes do ERP Logix mais uma opção de gestão de RH, trata-se do produto “RM Labore”.
O RM Labore é uma solução que se aplica a qualquer empresa que possui um departamento de pessoal ou a empresas que controlam a folha de pagamento de outras organizações. O sistema facilita quaisquer atividades ligadas ao controle de uma folha de pagamento como: admissão de funcionários, controle de férias e rescisão, etc. Também possibilita a emissão de relatórios, planilhas, gráficos e cubos.
A integração possibilitará a realização de todos os processos de uma folha de pagamento de forma simples e segura, gerando os compromissos a pagar diretamente no financeiro do Logix, assim também os lançamentos contábeis diretamente no módulo contábil do ERP.
Escopo
- Cadastro de funções;
- Integração dos lançamentos de pagamentos a autônomos (SEFIP);
- Lançamentos de comissões e acerto de viagens.
Definição da Regra de Negócio
Cadastro de cargos
O cadastro de cargos é de responsabilidade do RH, portanto trata-se de um cadastro que será mantido pelo RM Labore, porém módulos do ERP Logix, como o CDV, efetuam leitura da tabela de cargos em processamentos de algumas funcionalidades. Para manter as informações de cargos atualizadas utilizaremos a mensagem única “Role” na versão 1.000.
O sentido da integração é do RM para o Logix. Atualmente usamos esta mensagem na integração com o RH Protheus. Portanto, a alteração consiste em preparar o adapter para atender ao RM também.
Para o RH obter o de-para de empresas somente do cadastro do EAI10000. Para a integração com o Protheus era observado também o cadastro da empresa no LOG00083.
Revisar o adapter e isolar os tratamentos específicos da integração com o Protheus colocando-os em uma condicional a ser executada de acordo o “ProductName” do aplicativo de origem.
Os produtos possuem códigos de cargo com tipo e tamanho distintos, para manter a compatibilidade será utilizado o campo internalid.
Ao receber um cadastro novo de cargo o Logix deverá gerar um código sequencial e atribuir ao cargo na gravação do registro no banco de dados. Utilizando o comando SQL a seguir para obter o menor código vago:
SELECT MIN(a.cod_cargo) + 1
INTO l_cargo_lgx
FROM cargo a
WHERE a.cod_cargo < 99999
AND a.cod_empresa = m_cod_empr_tabela
AND NOT EXISTS (SELECT 1
FROM cargo b
WHERE a.cod_empresa = b.cod_empresa
AND b.cod_cargo = a.cod_cargo + 1 )
Demais regas atuais do adapter permanecem inalteradas.
Integração de comissão de representantes e devolução de adiantamento de viagens
Será utilizada a mensagem MonthlyPayroll na versão 1, atualmente o Logix já utiliza esta mensagem para integrar com o RH Protheus.
Para a integração com o RM Labore serão necessárias algumas alterações:
Fin80167 – Integração de movimentos para folha de pagamento
- O objetivo é centralizar a preparação da mensagem MonthlyPayroll nesta função, para isso deverá receber um novo parâmetro que indicará a origem do movimento, onde:
- "CRE": indica que a origem é o módulo de contas a receber, então trata-se de comissão de representante;
- “CDV”: que indica que é devolução de adiantamento de viagem.
A obtenção do código da verba, pela seleção do campo "parametro_texto" da tabela "cap_par_compl" deve levar em função a origem:“CDV” parâmetro = "acerto_adiant_folha";“CRE” parâmetro = "provento_comis_folha".'
O centro de custo também será obtido do log2250 conforme a origem:“CDV” parâmetro = "centro_custo_adiant_folha";“CRE” parâmetro = "centro_custo_comis_folha".
Demais regras continuam inalteradas.
- Fin10036 – Integração de comissões A A alteração consiste substituir a lógica atual da montagem da mensagem "MonthlyPayRoll" pela chamada da função fin80167_envia_mov_folha_eai(), evitando duplicidade de código.
A obrigatoriedade do representante ser cadastrado como fornecedor deixará de existir, pois para a integração com o RH basta ter o número da matrícula cadastrada no fin10020 (cadastro de representantes). - Fin80140 – Geração de evento referente a acerto de viagemAlterar viagemAlterar a chamada da função fin80167 passando o parâmetro “CDV”.
.
Opcional
Protótipo de Tela
<Caso necessário inclua protótipos de telas com o objetivo de facilitar o entendimento do requisito, apresentar conceitos e funcionalidades do software>.
Protótipo 01
Opcional
Fluxo do Processo
<Nesta etapa incluir representações gráficas que descrevam o problema a ser resolvido e o sistema a ser desenvolvido. Exemplo: Diagrama - Caso de Uso, Diagrama de Atividades, Diagrama de Classes, Diagrama de Entidade e Relacionamento e Diagrama de Sequência>.
Opcional
Dicionário de Dados
Arquivo ou Código do Script: AAA – Negociação Financeira / *Versao=CP.2014.12_03*/
Índice | Chave |
01 | <FI9_FILIAL+FI9_IDDARF+FI9_STATUS> |
02 | <FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_EMISS+FI9_IDDARF> |
03 | <FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_PREFIX+FI9_NUM+FI9_PARCEL+FI9_TIPO> |
Campo | <AAA_PERESP> |
Tipo | <N> |
Tamanho | <6> |
Valor Inicial | <Varia de acordo com o tipo informado. Por exemplo, quando o campo “tipo” for date, neste campo pode ser informado uma data>. |
Mandatório | Sim ( ) Não ( ) |
Descrição | <Referência Mínima para Cálculo> |
Título | <Ref.Calc.> |
Picture | <@E999.99> |
Help de Campo | <Informar o % que o aluno pagará em dinheiro. Esse % poderá ser alterado durante a negociação> |
(Opcional)
Grupo de Perguntas
<Informações utilizadas na linha Protheus>.
Nome: FINSRF2
X1_ORDEM | 01 |
X1_PERGUNT | Emissão De |
X1_TIPO | D |
X1_TAMANHO | 8 |
X1_GSC | G |
X1_VAR01 | MV_PAR01 |
X1_DEF01 | Comum |
X1_CNT01 | '01/01/08' |
X1_HELP | Data inicial do intervalo de emissões das guias de DARF a serem consideradas na seleção dos dados para o relatório |
(Opcional)
Consulta Padrão
<Informações utilizadas na linha Protheus>
Consulta: AMB
Descrição | Configurações de Planejamento |
Tipo | Consulta Padrão |
Tabela | “AMB” |
Índice | “Código” |
Campo | “Código”; ”Descrição” |
Retorno | AMB->AMB_CODIGO |
Integração de dados de pagamentos a autônomos para compor a SEFIP
Objetivo: Efetuar a integração das informações de INSS referentes aos pagamentos realizados a fornecedores autônomos no CAP.
O RM utilizará estes dados para compor o arquivo da SEFIP juntamente com informações da folha de pagamento.
Não haverá mudança no processo de pagamento de autônomos no financeiro, ou seja, a geração das guias e pagamento dos impostos continuam sendo realizados no financeiro, o RM apenas consolidará as informações para a SEFIP.
Nesta integração será utilizada a mensagem ExternalAutonomousPayment na versão 1.000, a tabela a seguir apresenta o detalhamento de cada TAG do XML:
ExternalAutonomousPayment | Descrição | Observações | Tabela.campo Logix |
CompanyId | Empresa |
| inss_auton.cod_empresa |
BranchId | Nulo | O RM solicita que seja enviado o código da empresa nesta TAG, trata-se de um controle de coligada-filial do produto. | inss_auton.cod_empresa |
CompanyInternalId | Empresa |
| inss_auton.cod_empresa |
InternalId |
| Utilizar a chave da tabela inss_autom para controle. | chave inss_auton |
TakerId | CNPJ DO TOMADOR DO SERVIÇO | CNPJ da empresa tomadora do serviço. | empresa.num_cgc |
TakerSpecificId | CEI do Tomador de serviços, quando o tipo do tomador for Construção Civil |
| par_cap_pad.cod_parametro='num_matricula_inss' (se par_cap_pad.cod_parametro='ies_tip_iden_inss' = '2') |
TakerType | O serviço foi executado para o segmento 1 = Cessão Mão de Obra ou 2 = Construção Civil |
| se possuir CEI = 2 senão = 1 |
AutonomousName | Nome do fornecedor |
| fornecedor.raz_social |
DateOfBirth | Data de nascimento |
| sup_par_fornecedor.parametro ='dat_nascimento' |
AutonomousId | CPF do autonomo |
| fornecedor.num_cgc_cpf |
RegistrationNumber | Número de Inscrição do Trabalhador (NIT) |
| fornec_auton.num_inscr_inss |
AutonomousOcupationNationalCode | CBO - Código Brasileiro de Ocupação do Autônomo |
| fornec_auton.num_cbo |
AutonomousCategory | Categoria autonomo |
| sup_par_fornecedor.parametro='categoria_sefip' |
SefipEventCode | Código Ocorrência Sefip | sup_par_fornecedor, parametro = "grau_risco" | trata-se exposição do autonomo. |
IssueDate | Data de emissão do pagamento |
| ad_mestre ou nf sup frete_sup* |
DueDate | Data de vencimento do pagamento |
| enviar o vencimento da primeira AP. |
InitiationDate | Primeiro dia de prestação de serviço do autônomo | Data de cadastramento do fornecedor no Logix | fornecedor.dat_cadast |
ServiceNature | Natureza do serviço (Atividade Rural ou Urbana) | nulo | verificar se tem cadastro como produtor rural. |
DependentsNumber | Quantidade de Dependentes Salário família |
| cap_forn_dep_sped_social (salario familia) -fornec_depen (verificar se continua gravando) |
IRRFDependentsNumber | Quantidade de Dependentes IRRF |
| cap_forn_dep_sped_social (deduz irrf) -fornec_depen (verificar se continua gravando) |
PaymentValue | Valor bruto do pagamento |
| ad_mestre.val_tot_nf ou nf_sup.val_tot_nf_d e frete_sup.val_conhec |
INSSValue | Valor do INSS |
| cap_ret_inss_auton.val_inss |
Envio da mensagem ExternalAutonomousPayment
A integração do INSS de autônomos deve ser realizada mensalmente, para isso vamos construir um programa que fará a extração das informações contidas na tabela cap_ret_inss_auton.
Código: fin30166
Descrição: Exportação dados de INSS para sistemas de RH.
Opções de menu: Informar, Processar, Profile e Sair.
Campos: Empresa, multi-valorado, obrigatório, com zoom e descrição. Data de referência, campo obrigatório, data com o formato MM/YYYY.
Validações: Código da empresa precisa estar cadastrado na tabela de empresa do Logix. A data de referência precisa ser anterior ao mês e ano atual.
Processamento: o processamento será baseado no fin30158 processa informações para o RH protheus.
- Verificar os parâmetros de desoneração: "rhu_desoneracao_periodo_inicia" e "rhu_desoneracao_periodo_final" para cada empresa, se o período informado na tela estiver entre as datas inicial e final deve-se buscar o índice de desoneração da seguinte forma:
SELECT SUM(receita_bruta_ti_tic),
SUM(receita_bruta_outras)
INTO l_receita_ti_tic,
l_receita_outras
FROM rhu_inss_faturamento
WHERE dat_refer = mr_tela.periodo
AND empresa = l_cod_empresa
Onde o índice é: l_receita_outras / (l_receita_outras + l_receita_ti_tic)
- Caso exista índice de desoneração a função cap8882_atualiza_inss_mp563 deve ser executada para atualizar os dados baseados no índice calculado.
- Os dados para a composição da mensagem serão selecionados das tabelas "cap_ret_inss_auton" e "inss_auton", conforme o cursor:
- O arquivo xml terá uma lista contendo cada registro das tabelas "inss_auton" e "cap_ret_inss_auton".
- O valor da retenção e data de movimento será obtido da tabela "cap_ret_inss_auton":
- Vide a tabela da mensagem "ExternalAutonomousPayment" para detalhes da busca de chaves estrangeiras.
- Criaremos uma nova tabela denominada "cap_integracao_inss_auton" com a finalidade de armazenar a empresa, período e chave primaria da tabela "inss_auton" dos registros processados. Os detalhes da tabela estão na seção "Dicionário de dados" deste documento.
- Após o envio do registro para o adapter, deve-se gravar a tabela "cap_integracao_inss_auton" com a emperesa, período da tela e a chave primaria da tabela "inss_auton" (campos separados por "|").
- No retorno da mensagem o de-para do eai_deve ser gravado com o "ID" "ExternalAutonomousPaymentInternalId".
- No processamento deve-se verificar se já houve integração para a empresa e período informando na tela, através da tabela "cap_integracao_inss_auton".
Não havendo dados continuar o processo normalmente pois trata-se do primeiro processamento para o período;
Se encontrar registro, significa que já houve uma integração anteriormente. Então deve ser exibida a seguinte mensagem, com as opções SIM e NÃO , para que o usuário tome a decisão.
SIM: Os registros enviados anteriormente serão excluídos, então deve ser montada uma mensagem com o evento "DELETE" onde devem constar todos os registros da tabela "cap_integracao_inss_auton" para o período e empresa. Posteriormente enviar uma nova mensagem com o evento "UPSERT" com todos os registros selecionados da tabela "inss_auton" para o período e empresa (processo normal).
A exclusão se faz necessária para manter a integridade das bases de dados do Logix e RM.
NÃO: Finalizar o processamento, apresentando mensagem "processamento cancelado pelo usuário"
Pequenas alterações
Alteração de parâmetro:
Alterar a descrição do parâmetro: "ult_num_nf_exportacao" do log00087, atualmente a descrição indica que o parâmetro é usado somente para o processo de exportação, a ideia é deixa-lo mais genérico.
Descrição: Último número de nota fiscal para integração de títulos por EAI.
Help: Armazena o último número de nota fiscal gerado automaticamente para títulos originados de sistemas externos e integrados ao Logix através do EAI.
O incremento deste parâmetro ocorre de forma automática, portanto não é deve ser alterado.
FIn30159
Alterar a descrição do fin30159 para "Parametrização de verbas para integração com RH" retirando a palavra "Protheus" pois o programa será utilizado, também na integração com a folha RM.
O programa correspondente ao fin30159 na versão 10.02 não será alterado.
CON6067
O con6067 é responsável pela montagem dos centros de custos que serão integrados pelo EAI. Para a mensagem ListOfCostCenter deve montar o internal ID sem espaços em branco entre a empresa e o código do centro de custo.
Para isso carregar o código em uma variável char, conforme abaixo:
LET l_internalid = mr_dados.cod_empresa CLIPPED,'|',l_cc_char
.
Protótipo de Tela
Tela do fin30166 - Exportação de dados de INSS para sistemas de RH.
Dicionário de Dados
Criar uma nova tabela denominada cap_integracao_inss_auton.
Índice | Chave |
01 | cap_integracao_inss_auton.empresa + cap_integracao_inss_auton.periodo + cap_integracao_inss_auton.valor_interno |
Campo | empresa |
Tipo | CHAR |
Tamanho | 2 |
Valor Inicial | Nulo |
Mandatório | Sim (X) Não ( ) |
Descrição | Empresa |
Título | Empresa |
Picture | XX |
Help de Campo | Código da empresa para o processamento |
Campo | periodo |
Tipo | Date |
Tamanho |
|
Valor Inicial | Nulo |
Mandatório | Sim (X) Não ( ) |
Descrição | Período |
Título | Período |
Picture | dd/mm/yyyy |
Help de Campo | Período para seleção dos dados. |
Campo | Valor_interno |
Tipo | CHAR |
Tamanho | 200 |
Valor Inicial | Nulo |
Mandatório | Sim (X) Não ( ) |
Descrição | Valor interno
|
Título | Valor interno |
Picture |
|
Help de Campo | Chave da integração no Logix.
|
(Opcional)
Estrutura de Menu
<Informações utilizadas na linha Datasul>.
Procedimentos
Procedimento |
|
|
|
Descrição | (Max 40 posições) | (Max 40 posições) | (Max 40 posições) |
Módulo |
|
|
|
Programa base |
|
|
|
Nome Menu | (Max 32 posições) | (Max 32 posições) | (Max 32 posições) |
Interface | GUI/WEB/ChUI/Flex | GUI/WEB/ChUI/Flex | GUI/WEB/ChUI/Flex |
Registro padrão | Sim | Sim | Sim |
Visualiza Menu | Sim/Não | Sim/Não | Sim/Não |
Release de Liberação |
|
|
|
Programas
Programa |
|
|
|
Descrição | (Max 40 posições) | (Max 40 posições) | (Max 40 posições) |
Nome Externo |
|
|
|
Nome Menu/Programa | (Max 32 posições) | (Max 32 posições) | (Max 32 posições) |
Nome Verbalizado[1] | (Max 254 posições) | (Max 254 posições) | (Max 254 posições) |
Procedimento |
|
|
|
Template | (Verificar lista de opções no man01211) | (Verificar lista de opções no man01211) | (Verificar lista de opções no man01211) |
Tipo[2] | Consulta/Manutenção/ Relatório/Tarefas | Consulta/Manutenção/ Relatório/Tarefas | Consulta/Manutenção/ Relatório/Tarefas |
Interface | GUI/WEB/ChUI/Flex | GUI/WEB/ChUI/Flex | GUI/WEB/ChUI/Flex |
Categoria[3] |
|
|
|
Executa via RPC | Sim/Não | Sim/Não | Sim/Não |
Registro padrão | Sim | Sim | Sim |
Outro Produto | Não | Não | Não |
Visualiza Menu | Sim/Não | Sim/Não | Sim/Não |
Query on-line | Sim/Não | Sim/Não | Sim/Não |
Log Exec. | Sim/Não | Sim/Não | Sim/Não |
Rotina (EMS) |
|
|
|
Sub-Rotina (EMS) |
|
|
|
Localização dentro da Sub Rotina (EMS) |
|
|
|
Compact[4] | Sim/Não | Sim/Não | Sim/Não |
Home[5] | Sim/Não | Sim/Não | Sim/Não |
Posição do Portlet[6] | 0 – Top Left 1 – Top Right 2 – Bottom Left 3 – Bottom Right | 0 – Top Left 1 – Top Right 2 – Bottom Left 3 – Bottom Right | 0 – Top Left 1 – Top Right 2 – Bottom Left 3 – Bottom Right |
Informar os papeis com os quais o programa deve ser vinculado |
|
|
|
Cadastro de Papéis
<O cadastro de papéis é obrigatório para os projetos de desenvolvimento FLEX a partir do Datasul 10>.
<Lembrete: o nome dos papeis em inglês descrito neste ponto do documento, devem ser homologados pela equipe de tradução>.
Código Papel | (máx 3 posições) |
Descrição em Português* |
|
Descrição em Inglês* |
|
[1] Nome Verbalizado é obrigatório para desenvolvimentos no Datasul 10 em diante.
[2] Tipo é obrigatório para desenvolvimento no Datasul 10 em diante
[3] Categorias são obrigatórias para os programas FLEX.
[4] Obrigatório quando o projeto for FLEX
[5] Obrigatório quando o projeto for FLEX
[6] Obrigatório quando o projeto for FLEX