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.
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 )
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 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 a chamada da função fin80167 passando o parâmetro “CDV”.
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.
- 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
.