01. DADOS GERAIS
Produto: |
TOTVS RH
|
---|---|
Linha de Produto: | Linha Protheus |
Segmento: | RH |
Módulo: |
TOTVS RH (Linha Protheus) - Cargos e Salários (SIGACSA)
|
Função: | CSAA070.PRW |
País: | Brasil |
Ticket: | 14742300 |
Requisito/Story/Issue (informe o requisito relacionado) : | DRHROTPRT-6504 |
02. SITUAÇÃO/REQUISITO
Necessidade de documentação da rotina automática para a rotina de Tabela Salarial.
03. SOLUÇÃO
No exemplo abaixo estamos realizando as operações de Inclusão/Alteração/Exclusão de uma tabela de Valores Exatos com 2 níveis e 2 faixas por nível.
Alguns pontos importantes:
- A tabela a ser inserida via rotina automática sempre será do tipo INFORMADA,
- Para cada operação o array aCabec que contempla o cabeçalho deve ser enviado os campos citados no exemplo, ele sempre deverá ser enviado com os dados da tabela!,
- A operação de exclusão, excluí todos os registros da tabela (RBR/RB6),
- Campo "Tipo Valor" (RBR_TIPOVL ou RB6_TIPOVL) aceita o seguinte conteúdo:
1 // Tabela de Valores Exatos por Nível
2 // Tabela de Intervalos por Nível
3 // Tabela de Valores por Faixa
4 // Tabela de Intervalos por Faixa
Aviso
É necessário efetuar atualização no dicionário de dados a partir da execução do UPDDISTR com o dicionário liberado no pacote de expedição do módulo RH a partir de para os releases iguais ou superiores a versão 12.1.33.
O campo RB6_TIPOVL terá a seguinte estrutura no dicionário SX3:
X3_ARQUIVO | X3_CAMPO | X3_TIPO | X3_TITULO | X3_VALID |
---|---|---|---|---|
RB6 | RB6_TIPOVL | N | Tipo Valor | Pertence("1,2,3,4") |
Exemplo de ExecAuto para Cadastro de Tabela Salarial
User Function CSAA070AUT() Local aCabec := {} Local aItens := {} Local aLinha := {} Private lMsErroAuto := .F. // INCLUSÃO //Faz chamada para inclusão de Tabela Informada / Valores Exatos / 2 Níveis / 2 Faixas por Nível (opcao 3) aCabec := {} aadd(aCabec,{"RBR_FILIAL" ,"D MG 01 " , Nil }) aadd(aCabec,{"RBR_TABELA" ,"001" , Nil }) aadd(aCabec,{"RBR_DESCTA" ,"TABELA SALARIAL 001" , Nil }) aadd(aCabec,{"RBR_DTREF" ,CtoD('02/08/2022') , Nil }) aadd(aCabec,{"RBR_VLREF" ,100 , Nil }) aadd(aCabec,{"RBR_USAPTO" ,1 , Nil }) aadd(aCabec,{"RBR_APLIC" ,"2" , Nil }) aadd(aCabec,{"RBR_TIPOVL" ,3 , Nil }) // PRIMEIRO NÍVEL - PRIMEIRA FAIXA aadd(aLinha,{"RB6_FILIAL" ,"D MG 01 " , Nil }) aadd(aLinha,{"RB6_TABELA" ,"001" , Nil }) aadd(aLinha,{"RB6_DESCTA" ,"TABELA SALARIAL 001" , Nil }) aadd(aLinha,{"RB6_TIPOVL" ,3 , Nil }) aadd(aLinha,{"RB6_NIVEL" ,"01" , Nil }) aadd(aLinha,{"RB6_FAIXA" ,"01" , Nil }) aadd(aLinha,{"RB6_VALOR" , 500 , Nil }) aadd(aLinha,{"RB6_PTOMIN" , 1 , Nil }) aadd(aLinha,{"RB6_PTOMAX" , 4.99 , Nil }) aadd(aLinha,{"RB6_CLASSE" , "001" , Nil }) aadd(aLinha,{"RB6_DTREF" , CtoD('02/08/2022') , Nil }) aadd(aLinha,{"RB6_COEFIC" , 5 , Nil }) aadd(aLinha,{"RB6_ATUAL" , "1" , Nil }) aadd(aItens,aLinha) aLinha := {} // PRIMEIRO NÍVEL - SEGUNDA FAIXA aadd(aLinha,{"RB6_FILIAL" ,"D MG 01 " , Nil }) aadd(aLinha,{"RB6_TABELA" ,"001" , Nil }) aadd(aLinha,{"RB6_DESCTA" ,"TABELA SALARIAL 001" , Nil }) aadd(aLinha,{"RB6_TIPOVL" ,3 , Nil }) aadd(aLinha,{"RB6_NIVEL" ,"01" , Nil }) aadd(aLinha,{"RB6_FAIXA" ,"02" , Nil }) aadd(aLinha,{"RB6_VALOR" , 1000 , Nil }) aadd(aLinha,{"RB6_PTOMIN" , 5 , Nil }) aadd(aLinha,{"RB6_PTOMAX" , 10 , Nil }) aadd(aLinha,{"RB6_CLASSE" , "001" , Nil }) aadd(aLinha,{"RB6_DTREF" , CtoD('02/08/2022') , Nil }) aadd(aLinha,{"RB6_COEFIC" , 10 , Nil }) aadd(aLinha,{"RB6_ATUAL" , "1" , Nil }) aadd(aItens,aLinha) aLinha := {} // SEGUNDO NÍVEL - PRIMEIRA FAIXA aadd(aLinha,{"RB6_FILIAL" ,"D MG 01 " , Nil }) aadd(aLinha,{"RB6_TABELA" ,"001" , Nil }) aadd(aLinha,{"RB6_DESCTA" ,"TABELA SALARIAL 001" , Nil }) aadd(aLinha,{"RB6_TIPOVL" ,3 , Nil }) aadd(aLinha,{"RB6_NIVEL" ,"02" , Nil }) aadd(aLinha,{"RB6_FAIXA" ,"01" , Nil }) aadd(aLinha,{"RB6_VALOR" , 1000 , Nil }) aadd(aLinha,{"RB6_PTOMIN" , 11 , Nil }) aadd(aLinha,{"RB6_PTOMAX" , 14.99 , Nil }) aadd(aLinha,{"RB6_CLASSE" , "002" , Nil }) aadd(aLinha,{"RB6_DTREF" , CtoD('02/08/2022') , Nil }) aadd(aLinha,{"RB6_COEFIC" , 10 , Nil }) aadd(aLinha,{"RB6_ATUAL" , "1" , Nil }) aadd(aItens,aLinha) aLinha := {} // SEGUNDO NÍVEL - SEGUNDA FAIXA aadd(aLinha,{"RB6_FILIAL" ,"D MG 01 " , Nil }) aadd(aLinha,{"RB6_TABELA" ,"001" , Nil }) aadd(aLinha,{"RB6_DESCTA" ,"TABELA SALARIAL 001" , Nil }) aadd(aLinha,{"RB6_TIPOVL" ,3 , Nil }) aadd(aLinha,{"RB6_NIVEL" ,"02" , Nil }) aadd(aLinha,{"RB6_FAIXA" ,"02" , Nil }) aadd(aLinha,{"RB6_VALOR" , 2000 , Nil }) aadd(aLinha,{"RB6_PTOMIN" , 15 , Nil }) aadd(aLinha,{"RB6_PTOMAX" , 20 , Nil }) aadd(aLinha,{"RB6_CLASSE" , "002" , Nil }) aadd(aLinha,{"RB6_DTREF" , CtoD('02/08/2022') , Nil }) aadd(aLinha,{"RB6_COEFIC" , 20 , Nil }) aadd(aLinha,{"RB6_ATUAL" , "1" , Nil }) aadd(aItens,aLinha) aLinha := {} MSExecAuto({|x,y,k,w| CSAA070(x,y,k,w)},aCabec,aItens,3,.F.) //-- Opcao 3 - Inclui registro */ /* // ALTERAÇÃO // Faz chamada para alteração do Pontos Máximos da segunda faixa do segundo nível aCabec := {} aadd(aCabec,{"RBR_FILIAL" ,"D MG 01 " , Nil }) aadd(aCabec,{"RBR_TABELA" ,"001" , Nil }) aadd(aCabec,{"RBR_DESCTA" ,"TABELA SALARIAL 001" , Nil }) aadd(aCabec,{"RBR_DTREF" ,CtoD('02/08/2022') , Nil }) aadd(aCabec,{"RBR_VLREF" ,100 , Nil }) aadd(aCabec,{"RBR_USAPTO" ,1 , Nil }) aadd(aCabec,{"RBR_APLIC" ,"2" , Nil }) aadd(aCabec,{"RBR_TIPOVL" ,3 , Nil }) // SEGUNDO NÍVEL - PRIMEIRA FAIXA aadd(aLinha,{"RB6_FILIAL" ,"D MG 01 " , Nil }) aadd(aLinha,{"RB6_TABELA" ,"001" , Nil }) aadd(aLinha,{"RB6_NIVEL" ,"02" , Nil }) aadd(aLinha,{"RB6_FAIXA" ,"02" , Nil }) aadd(aLinha,{"RB6_PTOMAX" , 25 , Nil }) aadd(aItens,aLinha) MSExecAuto({|x,y,k,w| CSAA070(x,y,k,w)},aCabec,aItens,4,.F.) //-- Opcao 4 - Altera registro */ /* // EXCLUSÃO // Faz a exclusão da tabela salarial completa (igual opção em tela Outras Ações > Excluir) aCabec := {} aadd(aCabec,{"RBR_FILIAL" ,"D MG 01 " , Nil }) aadd(aCabec,{"RBR_TABELA" ,"001" , Nil }) aadd(aCabec,{"RBR_DESCTA" ,"TABELA SALARIAL 001" , Nil }) aadd(aCabec,{"RBR_DTREF" ,CtoD('02/08/2022') , Nil }) aadd(aCabec,{"RBR_VLREF" ,100 , Nil }) aadd(aCabec,{"RBR_USAPTO" ,1 , Nil }) aadd(aCabec,{"RBR_APLIC" ,"2" , Nil }) aadd(aCabec,{"RBR_TIPOVL" ,3 , Nil }) // SEGUNDO NÍVEL - PRIMEIRA FAIXA aadd(aLinha,{"RB6_FILIAL" ,"D MG 01 " , Nil }) aadd(aLinha,{"RB6_TABELA" ,"001" , Nil }) aadd(aLinha,{"RB6_DESCTA" ,"TABELA SALARIAL 001" , Nil }) aadd(aLinha,{"RB6_TIPOVL" ,3 , Nil }) aadd(aLinha,{"RB6_NIVEL" ,"02" , Nil }) aadd(aLinha,{"RB6_FAIXA" ,"02" , Nil }) aadd(aLinha,{"RB6_VALOR" , 2000 , Nil }) aadd(aLinha,{"RB6_PTOMIN" , 15 , Nil }) aadd(aLinha,{"RB6_PTOMAX" , 25 , Nil }) aadd(aLinha,{"RB6_CLASSE" , "002" , Nil }) aadd(aLinha,{"RB6_DTREF" , CtoD('02/08/2022') , Nil }) aadd(aLinha,{"RB6_COEFIC" , 20 , Nil }) aadd(aLinha,{"RB6_ATUAL" , "1" , Nil }) aadd(aItens,aLinha) MSExecAuto({|x,y,k,w| CSAA070(x,y,k,w)},aCabec,aItens,5,.F.) //-- Opcao 5 - Exclui registro */ //Retorno de erro na execução da rotina If lMsErroAuto Alert("Não foi possível realizar a operação!") Else Alert("Operação realizada com sucesso!") EndIf Return(.T.)
04. DEMAIS INFORMAÇÕES
N/A
05. ASSUNTOS RELACIONADOS
- N/A
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas