Pessoas, vínculo e histórico salarial — Pro
Ficha profissional, organização e remuneração atual, com histórico salarial da pessoa a pedido.
NÃO OFICIAL — NÃO VALIDADA EM UMA INSTALAÇÃO ERP REAL. Nomes físicos documentados e testes sintéticos; não é execução em RM, SQL Server ou iOS reais.
Para profissionais autorizados de RH e gestores: escolha a coligada e a situação cadastral nos filtros nativos de abertura. A consulta-base não depende de parâmetros ainda não escolhidos; o Cifru aplica os valores selecionados antes do limite da leitura final. As opções disponíveis dependem da projeção SQL autorizada e da descoberta limitada da fonte; não são um catálogo universal. Consulte pessoas, matrícula, função, seção e admissão. Abra uma ficha organizada com vínculo, organização atual, salário cadastrado, tipo de recebimento, jornada mensal e contato. O botão Histórico salarial carrega somente as alterações da pessoa escolhida, com remuneração, motivo, datas distintas e referências de evento, tabela, faixa e nível salarial.
Por que Cifru? Adapte as configurações à sua forma de trabalhar. Escolha os campos, filtros e detalhes de que precisa e leve para o celular informações que talvez não estejam disponíveis no aplicativo móvel do seu sistema de gestão. As possibilidades dependem dos dados acessíveis na fonte autorizada e do seu plano Cifru.
Pro: uma fonte autorizada, um botão Home, duas listas com Detalhes e um sub-botão a pedido. SQL somente SELECT, sem processos nativos, DDL, escrita ou atualização periódica. Até 2.000 pessoas e 500 alterações por leitura. Busca e filtros locais abrangem apenas registros carregados. Sem totais salariais, contracheques, férias, cálculo de folha ou promessa de rapidez; verifique índices, plano de execução e timeout. A identidade conserva coligada, matrícula textual com zeros, data/hora com precisão de até sete casas e número do salário. Confira tipos e chaves não nulas/únicas antes de usar. Registros sem identidade completa não entram na lista; isso não comprova ausência de histórico.
A = ativo é situação cadastral, não validação jurídica de contrato de trabalho. Outras situações e tipos de funcionário são mostrados como cadastrados, sem legenda inventada. M/Q/S/H/D/T correspondem a mensalista, quinzenalista, semanalista, horista, diarista e tarefeiro; o tipo atual não prova a base do salário histórico. Salário do cadastro não é automaticamente líquido, pago, mensal ou em BRL. Confirme moeda e composição/base com o RH; não há símbolo monetário nem conversão. Valores preservam a representação da fonte, inclusive zero e precisão, e NULL continua ausente.
Data da mudança, processamento/referência e inclusão não se confundem. O histórico não é ordenado pelo valor para inventar salário anterior, não é somado e não usa propostas futuras como salário atual. JORNADAMENSAL atual é documentada em minutos; JORNADA histórica permanece no formato da fonte, sem conversão em horas. Percentual aplicado é informação registrada, não cálculo de variação. Função, cargo, seção, centro e departamento são contextos atuais, não sua situação na data da alteração. Referências nativas são preservadas sem inventar tabelas de descrição. Master ausente ou ambíguo não elimina a pessoa: a correspondência fica sinalizada e nenhum join amplia seus registros.
Requer os cinco objetos dbo informados: dbo é requisito deste adaptador, não owner comprovado do fornecedor. Confirme edição, schema, colunas, tipos, timestamps, unicidade e projeção autorizada na instalação. SQL Server 2012+ com CONVERT datetime2(7) e CONCAT. Não cria objetos, concede permissões ou procura outro owner. Remapeie e teste para outra schema. A documentação reúne contextos de versões diferentes, não certifica uma edição instalada ou integração oficial.
DADOS SALARIAIS E PESSOAIS: conecte somente uma projeção aprovada pelo responsável de RH com conta SQL separada e SELECT mínimo. SQL externo não herda perfis, hierarquia, cutoff salarial ou auditoria do Meu RH/Portal; filtros de coligada e situação não são controle de acesso. O e-mail cadastrado pode ser pessoal. Não inclui CPF, PIS, bancos, dados médicos ou dependentes. O pacote não contém credenciais, servidores ou pessoas reais. As imagens são capturas reais do Cifru Android com pessoas e valores DEMO inteiramente fictícios; não são dados ou conexão TOTVS RM reais.
Documentação: https://tdn.totvs.com/display/LRM/Entidades ; https://tdn.totvs.com/pages/viewpage.action?pageId=452719225 ; https://tdn-homolog.totvs.com/pages/releaseview.action?pageId=452719363 ; https://tdn-homolog.totvs.com/pages/releaseview.action?pageId=802003513
Cobertura da galeria: Sete imagens nativas complementares mostram o card completo, a ficha profissional em três posições, a lista realmente aberta pelo sub-botão e os Detalhes de uma alteração salarial em duas posições. As 21 posições profissionais e 17 do histórico são verificadas; 37 têm valores fictícios, e a data de demissão vazia não é exibida. O histórico mostrado pertence à mesma coligada/matrícula, não a outra empresa. Salário atual não é salário líquido; moeda/base e jornada histórica exigem confirmação. Home, lista adicional, takes antigos e vídeo bruto ficam privados. Dados e transporte são sintéticos; não é teste em ERP, SQL Server, iOS ou compra Pro.
Screenshots
What this package creates
- Home: Pessoas e vínculo profissional
- Details: Histórico salarial
- Sub-button: Histórico salarial da pessoa
Sources are mapped locally and verified before applying.
Custom queriesPRO2 SQL
Custom queries are a PRO feature. Cifru repeats read-only validation against the local source before execution.
$.components.workspaceSelection.datasets.0.sqlQuerySELECT CONCAT(CAST(N'' AS nvarchar(max)), DATALENGTH(CAST(e.CODCOLIGADA AS nvarchar(max))), N':', CAST(e.CODCOLIGADA AS nvarchar(max)), N'|', DATALENGTH(CAST(e.CHAPA AS nvarchar(max))), N':', CAST(e.CHAPA AS nvarchar(max)), N'|') AS PersonKey, e.CODPESSOA AS PersonCode, e.CODCOLIGADA AS Company, e.CHAPA AS Employee, e.NOME AS EmployeeName, e.CODSITUACAO AS Status, e.CODTIPO AS EmployeeType, e.DATAADMISSAO AS Admission, e.DATADEMISSAO AS Termination, f.NOME AS FunctionName, s.DESCRICAO AS SectionName, e.CODFUNCAO AS FunctionReference, e.CODSECAO AS SectionReference, f.CARGO AS Cargo, s.NROCENCUSTOCONT AS CostCentre, s.CODDEPTO AS Department, e.SALARIO AS CurrentSalary, e.CODRECEBIMENTO AS Receipt, e.JORNADAMENSAL AS MonthlyMinutes, p.EMAIL AS BusinessEmail, CASE WHEN f.CODIGO IS NULL THEN N'Sem correspondência única autorizada' ELSE N'Correspondência única atual' END AS FunctionMatch, CASE WHEN s.CODIGO IS NULL THEN N'Sem correspondência única autorizada' ELSE N'Correspondência única atual' END AS SectionMatch, CASE WHEN p.CODIGO IS NULL THEN N'Sem correspondência única autorizada' ELSE N'Correspondência única atual' END AS PersonMatch FROM dbo.PFUNC e LEFT JOIN dbo.PFUNCAO f ON f.CODCOLIGADA=e.CODCOLIGADA AND f.CODIGO=e.CODFUNCAO AND 1=(SELECT COUNT(*) FROM dbo.PFUNCAO q WHERE q.CODCOLIGADA=e.CODCOLIGADA AND q.CODIGO=e.CODFUNCAO) LEFT JOIN dbo.PSECAO s ON s.CODCOLIGADA=e.CODCOLIGADA AND s.CODIGO=e.CODSECAO AND 1=(SELECT COUNT(*) FROM dbo.PSECAO r WHERE r.CODCOLIGADA=e.CODCOLIGADA AND r.CODIGO=e.CODSECAO) LEFT JOIN dbo.PPESSOA p ON p.CODIGO=e.CODPESSOA AND 1=(SELECT COUNT(*) FROM dbo.PPESSOA v WHERE v.CODIGO=e.CODPESSOA) WHERE e.CODCOLIGADA IS NOT NULL AND e.CHAPA IS NOT NULL
static read-only checks passed
$.components.workspaceSelection.datasets.1.sqlQuerySELECT CONCAT(CAST(N'' AS nvarchar(max)), DATALENGTH(CAST(h.CODCOLIGADA AS nvarchar(max))), N':', CAST(h.CODCOLIGADA AS nvarchar(max)), N'|', DATALENGTH(CAST(h.CHAPA AS nvarchar(max))), N':', CAST(h.CHAPA AS nvarchar(max)), N'|', DATALENGTH(CONVERT(nvarchar(40), CAST(h.DTMUDANCA AS datetime2(7)), 126)), N':', CONVERT(nvarchar(40), CAST(h.DTMUDANCA AS datetime2(7)), 126), N'|', DATALENGTH(CAST(h.NROSALARIO AS nvarchar(max))), N':', CAST(h.NROSALARIO AS nvarchar(max)), N'|') AS HistoryKey, CONCAT(CAST(N'' AS nvarchar(max)), DATALENGTH(CAST(h.CODCOLIGADA AS nvarchar(max))), N':', CAST(h.CODCOLIGADA AS nvarchar(max)), N'|', DATALENGTH(CAST(h.CHAPA AS nvarchar(max))), N':', CAST(h.CHAPA AS nvarchar(max)), N'|') AS PersonKey, h.CODCOLIGADA AS Company, h.CHAPA AS Employee, e.NOME AS EmployeeName, CONVERT(nvarchar(40), CAST(h.DTMUDANCA AS datetime2(7)), 126) AS ChangeAt, h.NROSALARIO AS SalaryNumber, h.SALARIO AS HistoricSalary, h.MOTIVO AS Reason, h.JORNADA AS HistoricSchedule, h.DATADEREFERENCIA AS ProcessingDate, h.DATADEINCLUSAO AS IncludedAt, h.CODEVENTO AS EventReference, h.ALTERACAOJORNADA AS ScheduleChange, h.PERCENTAPLICADO AS AppliedPercent, h.HISTORICOTABELASALARIAL AS SalaryTable, h.HISTORICODEFAIXA AS SalaryBand, h.HISTORICODENIVEL AS SalaryLevel, h.REFERENCIA AS HistoricReference FROM dbo.PFHSTSAL h INNER JOIN dbo.PFUNC e ON e.CODCOLIGADA=h.CODCOLIGADA AND e.CHAPA=h.CHAPA WHERE h.CODCOLIGADA=:company AND h.CHAPA=:employee AND e.CODSITUACAO=:status AND h.DTMUDANCA IS NOT NULL AND h.NROSALARIO IS NOT NULL
static read-only checks passed
View the JSON being importedcollapsed by default
{
"components": {
"sourceSlots": [
{
"displayName": "TOTVS RM — SQL Server autorizado para RH",
"id": "31996EA1-0E43-56F3-86E8-DE09070FFABE",
"kind": "sqlServer",
"requiredObjects": [
"dbo.PFUNC",
"dbo.PFUNCAO",
"dbo.PSECAO",
"dbo.PPESSOA",
"dbo.PFHSTSAL"
],
"requiresCustomSQL": true
}
],
"workspaceSelection": {
"commonFields": [],
"datasets": [
{
"cacheMode": "live",
"calculatedFields": [],
"customQueryIntegrationName": "TOTVS RM",
"endpointPath": "",
"fetchSortRules": [
{
"direction": "ascending",
"id": "18C53591-0054-5D21-8C48-05EA34808F1D",
"key": "EmployeeName",
"type": "text"
},
{
"direction": "ascending",
"id": "F28B2E59-C00E-53DE-B79E-F9D48AA34365",
"key": "PersonKey",
"type": "text"
}
],
"id": "CD2F4E0F-7E00-5E88-A1BE-6782C91BF7DC",
"mappings": [
{
"commonFieldKey": "",
"key": "PersonKey",
"label": "Chave técnica da pessoa",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "PersonKey",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "PersonCode",
"label": "Chave técnica da pessoa física",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "PersonCode",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Company",
"label": "Coligada (código da empresa)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Company",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Employee",
"label": "Matrícula (chapa)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Employee",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "EmployeeName",
"label": "Pessoa",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "EmployeeName",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Status",
"label": "Situação cadastrada (A = ativo)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Status",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "EmployeeType",
"label": "Tipo de funcionário (valor cadastrado)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "EmployeeType",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Admission",
"label": "Data de admissão",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Admission",
"type": "date",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "Termination",
"label": "Data de demissão cadastrada",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Termination",
"type": "date",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "FunctionName",
"label": "Função atual",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "FunctionName",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "SectionName",
"label": "Seção atual",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "SectionName",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "FunctionReference",
"label": "Referência da função atual",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "FunctionReference",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "SectionReference",
"label": "Referência da seção atual",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "SectionReference",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Cargo",
"label": "Referência do cargo atual",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Cargo",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "CostCentre",
"label": "Referência do centro de custo atual",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "CostCentre",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Department",
"label": "Referência do departamento atual",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Department",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "CurrentSalary",
"label": "Salário atual — moeda e base a confirmar",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "CurrentSalary",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Receipt",
"label": "Tipo de recebimento",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Receipt",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "MonthlyMinutes",
"label": "Jornada mensal cadastrada (minutos)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "MonthlyMinutes",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "BusinessEmail",
"label": "E-mail cadastrado (pode ser pessoal)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "BusinessEmail",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "FunctionMatch",
"label": "Resolução da função atual",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "FunctionMatch",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "SectionMatch",
"label": "Resolução da seção atual",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "SectionMatch",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "PersonMatch",
"label": "Resolução do contato",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "PersonMatch",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
}
],
"maxRows": 2000,
"name": "Pessoas e vínculo profissional",
"primaryKey": "PersonKey",
"queryParameters": [],
"refreshPolicy": {
"enabled": false,
"intervalMinutes": 60
},
"rootArrayPath": "",
"rowLimitEnabled": true,
"searchKeys": [
"Company",
"Employee",
"EmployeeName",
"Status",
"EmployeeType",
"FunctionName",
"SectionName",
"FunctionReference",
"SectionReference",
"Cargo",
"CostCentre",
"Department",
"CurrentSalary",
"Receipt",
"MonthlyMinutes",
"BusinessEmail",
"FunctionMatch",
"SectionMatch",
"PersonMatch"
],
"sourceID": "31996EA1-0E43-56F3-86E8-DE09070FFABE",
"sqlQuery": "SELECT CONCAT(CAST(N'' AS nvarchar(max)), DATALENGTH(CAST(e.CODCOLIGADA AS nvarchar(max))), N':', CAST(e.CODCOLIGADA AS nvarchar(max)), N'|', DATALENGTH(CAST(e.CHAPA AS nvarchar(max))), N':', CAST(e.CHAPA AS nvarchar(max)), N'|') AS PersonKey, e.CODPESSOA AS PersonCode, e.CODCOLIGADA AS Company, e.CHAPA AS Employee, e.NOME AS EmployeeName, e.CODSITUACAO AS Status, e.CODTIPO AS EmployeeType, e.DATAADMISSAO AS Admission, e.DATADEMISSAO AS Termination, f.NOME AS FunctionName, s.DESCRICAO AS SectionName, e.CODFUNCAO AS FunctionReference, e.CODSECAO AS SectionReference, f.CARGO AS Cargo, s.NROCENCUSTOCONT AS CostCentre, s.CODDEPTO AS Department, e.SALARIO AS CurrentSalary, e.CODRECEBIMENTO AS Receipt, e.JORNADAMENSAL AS MonthlyMinutes, p.EMAIL AS BusinessEmail, CASE WHEN f.CODIGO IS NULL THEN N'Sem correspondência única autorizada' ELSE N'Correspondência única atual' END AS FunctionMatch, CASE WHEN s.CODIGO IS NULL THEN N'Sem correspondência única autorizada' ELSE N'Correspondência única atual' END AS SectionMatch, CASE WHEN p.CODIGO IS NULL THEN N'Sem correspondência única autorizada' ELSE N'Correspondência única atual' END AS PersonMatch FROM dbo.PFUNC e LEFT JOIN dbo.PFUNCAO f ON f.CODCOLIGADA=e.CODCOLIGADA AND f.CODIGO=e.CODFUNCAO AND 1=(SELECT COUNT(*) FROM dbo.PFUNCAO q WHERE q.CODCOLIGADA=e.CODCOLIGADA AND q.CODIGO=e.CODFUNCAO) LEFT JOIN dbo.PSECAO s ON s.CODCOLIGADA=e.CODCOLIGADA AND s.CODIGO=e.CODSECAO AND 1=(SELECT COUNT(*) FROM dbo.PSECAO r WHERE r.CODCOLIGADA=e.CODCOLIGADA AND r.CODIGO=e.CODSECAO) LEFT JOIN dbo.PPESSOA p ON p.CODIGO=e.CODPESSOA AND 1=(SELECT COUNT(*) FROM dbo.PPESSOA v WHERE v.CODIGO=e.CODPESSOA) WHERE e.CODCOLIGADA IS NOT NULL AND e.CHAPA IS NOT NULL",
"tableName": ""
},
{
"cacheMode": "live",
"calculatedFields": [],
"customQueryIntegrationName": "TOTVS RM",
"endpointPath": "",
"fetchSortRules": [
{
"direction": "descending",
"id": "31318D4D-8708-532F-AD6A-C9946705498D",
"key": "ChangeAt",
"type": "text"
},
{
"direction": "ascending",
"id": "71C7DD37-F757-5B50-BFA9-D8069AA3F833",
"key": "HistoryKey",
"type": "text"
}
],
"id": "AECF1D88-A2F6-506C-AC37-3A4ECCEDC50E",
"mappings": [
{
"commonFieldKey": "",
"key": "HistoryKey",
"label": "Chave técnica da alteração",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "HistoryKey",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "PersonKey",
"label": "Chave técnica da pessoa",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "PersonKey",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Company",
"label": "Coligada (código da empresa)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Company",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Employee",
"label": "Matrícula (chapa)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Employee",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "EmployeeName",
"label": "Pessoa",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "EmployeeName",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "ChangeAt",
"label": "Data e hora da mudança",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "ChangeAt",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "SalaryNumber",
"label": "Número do salário no histórico",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "SalaryNumber",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "HistoricSalary",
"label": "Salário histórico",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "HistoricSalary",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "Reason",
"label": "Motivo da alteração",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Reason",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "HistoricSchedule",
"label": "Jornada no histórico",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "HistoricSchedule",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "ProcessingDate",
"label": "Processamento / ref.",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "ProcessingDate",
"type": "date",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "IncludedAt",
"label": "Data de inclusão",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "IncludedAt",
"type": "date",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "EventReference",
"label": "Referência do evento",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "EventReference",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "ScheduleChange",
"label": "Alteração de jornada (valor cadastrado)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "ScheduleChange",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "AppliedPercent",
"label": "Percentual registrado",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "AppliedPercent",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "SalaryTable",
"label": "Referência da tabela salarial",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "SalaryTable",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "SalaryBand",
"label": "Referência da faixa salarial",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "SalaryBand",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "SalaryLevel",
"label": "Referência do nível salarial",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "SalaryLevel",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "HistoricReference",
"label": "Referência salarial registrada",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "HistoricReference",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
}
],
"maxRows": 500,
"name": "Histórico salarial da pessoa",
"primaryKey": "HistoryKey",
"queryParameters": [
{
"constantValue": "",
"dayOffset": 0,
"fieldKey": "Company",
"id": "E43193D2-E64C-532E-BDBE-900223C7CC7B",
"name": "company",
"source": "parentField",
"type": "text"
},
{
"constantValue": "",
"dayOffset": 0,
"fieldKey": "Employee",
"id": "7F7ADC57-8382-5444-84C0-43C6A9FA3EF0",
"name": "employee",
"source": "parentField",
"type": "text"
},
{
"constantValue": "",
"dayOffset": 0,
"fieldKey": "Status",
"id": "C0B0BE65-B499-5E8B-8835-C2613CBFA077",
"name": "status",
"source": "parentField",
"type": "text"
}
],
"refreshPolicy": {
"enabled": false,
"intervalMinutes": 60
},
"rootArrayPath": "",
"rowLimitEnabled": true,
"searchKeys": [
"Company",
"Employee",
"EmployeeName",
"ChangeAt",
"SalaryNumber",
"HistoricSalary",
"Reason",
"HistoricSchedule",
"EventReference",
"ScheduleChange",
"AppliedPercent",
"SalaryTable",
"SalaryBand",
"SalaryLevel",
"HistoricReference"
],
"sourceID": "31996EA1-0E43-56F3-86E8-DE09070FFABE",
"sqlQuery": "SELECT CONCAT(CAST(N'' AS nvarchar(max)), DATALENGTH(CAST(h.CODCOLIGADA AS nvarchar(max))), N':', CAST(h.CODCOLIGADA AS nvarchar(max)), N'|', DATALENGTH(CAST(h.CHAPA AS nvarchar(max))), N':', CAST(h.CHAPA AS nvarchar(max)), N'|', DATALENGTH(CONVERT(nvarchar(40), CAST(h.DTMUDANCA AS datetime2(7)), 126)), N':', CONVERT(nvarchar(40), CAST(h.DTMUDANCA AS datetime2(7)), 126), N'|', DATALENGTH(CAST(h.NROSALARIO AS nvarchar(max))), N':', CAST(h.NROSALARIO AS nvarchar(max)), N'|') AS HistoryKey, CONCAT(CAST(N'' AS nvarchar(max)), DATALENGTH(CAST(h.CODCOLIGADA AS nvarchar(max))), N':', CAST(h.CODCOLIGADA AS nvarchar(max)), N'|', DATALENGTH(CAST(h.CHAPA AS nvarchar(max))), N':', CAST(h.CHAPA AS nvarchar(max)), N'|') AS PersonKey, h.CODCOLIGADA AS Company, h.CHAPA AS Employee, e.NOME AS EmployeeName, CONVERT(nvarchar(40), CAST(h.DTMUDANCA AS datetime2(7)), 126) AS ChangeAt, h.NROSALARIO AS SalaryNumber, h.SALARIO AS HistoricSalary, h.MOTIVO AS Reason, h.JORNADA AS HistoricSchedule, h.DATADEREFERENCIA AS ProcessingDate, h.DATADEINCLUSAO AS IncludedAt, h.CODEVENTO AS EventReference, h.ALTERACAOJORNADA AS ScheduleChange, h.PERCENTAPLICADO AS AppliedPercent, h.HISTORICOTABELASALARIAL AS SalaryTable, h.HISTORICODEFAIXA AS SalaryBand, h.HISTORICODENIVEL AS SalaryLevel, h.REFERENCIA AS HistoricReference FROM dbo.PFHSTSAL h INNER JOIN dbo.PFUNC e ON e.CODCOLIGADA=h.CODCOLIGADA AND e.CHAPA=h.CHAPA WHERE h.CODCOLIGADA=:company AND h.CHAPA=:employee AND e.CODSITUACAO=:status AND h.DTMUDANCA IS NOT NULL AND h.NROSALARIO IS NOT NULL",
"tableName": ""
}
],
"pages": [
{
"actions": [
{
"id": "5443183F-8945-5774-89D3-F8C71BBC3E29",
"kind": "showRelated",
"relatedInitiallyExpanded": false,
"relatedPresentation": "separate",
"relatedPreviewLimit": 12,
"relatedRowStyle": "cards",
"relatedShowsCount": true,
"relationID": "91602F6E-3B73-51C6-BF28-0544D868C626",
"systemImage": "list.bullet.rectangle",
"targetDatasetID": "AECF1D88-A2F6-506C-AC37-3A4ECCEDC50E",
"title": "Histórico salarial",
"urlKey": ""
}
],
"badgeKey": "Status",
"cardEnrichments": [],
"cardFieldLayout": [
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "Admission",
"label": "Data de admissão",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "FunctionName",
"label": "Função atual",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "SectionName",
"label": "Seção atual",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "Receipt",
"label": "Tipo de recebimento",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
}
],
"datasetID": "CD2F4E0F-7E00-5E88-A1BE-6782C91BF7DC",
"dateFilterKey": "",
"dateFilterLastDays": 7,
"dateFilterPreset": "none",
"detailFieldLayout": [
{
"detailGroup": "Identificação e vínculo",
"detailRole": "information",
"isVisible": true,
"key": "Company",
"label": "Coligada (código da empresa)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Identificação e vínculo",
"detailRole": "information",
"isVisible": true,
"key": "Employee",
"label": "Matrícula (chapa)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Identificação e vínculo",
"detailRole": "information",
"isVisible": true,
"key": "EmployeeName",
"label": "Pessoa",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Identificação e vínculo",
"detailRole": "information",
"isVisible": true,
"key": "Status",
"label": "Situação cadastrada (A = ativo)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Identificação e vínculo",
"detailRole": "information",
"isVisible": true,
"key": "EmployeeType",
"label": "Tipo de funcionário (valor cadastrado)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Identificação e vínculo",
"detailRole": "information",
"isVisible": true,
"key": "Admission",
"label": "Data de admissão",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Identificação e vínculo",
"detailRole": "information",
"isVisible": true,
"key": "Termination",
"label": "Data de demissão cadastrada",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Organização atual — não histórica",
"detailRole": "information",
"isVisible": true,
"key": "FunctionName",
"label": "Função atual",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Organização atual — não histórica",
"detailRole": "information",
"isVisible": true,
"key": "SectionName",
"label": "Seção atual",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Organização atual — não histórica",
"detailRole": "information",
"isVisible": true,
"key": "FunctionReference",
"label": "Referência da função atual",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Organização atual — não histórica",
"detailRole": "information",
"isVisible": true,
"key": "SectionReference",
"label": "Referência da seção atual",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Organização atual — não histórica",
"detailRole": "information",
"isVisible": true,
"key": "Cargo",
"label": "Referência do cargo atual",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Organização atual — não histórica",
"detailRole": "information",
"isVisible": true,
"key": "CostCentre",
"label": "Referência do centro de custo atual",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Organização atual — não histórica",
"detailRole": "information",
"isVisible": true,
"key": "Department",
"label": "Referência do departamento atual",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Remuneração atual — não salário líquido",
"detailRole": "information",
"isVisible": true,
"key": "CurrentSalary",
"label": "Salário atual — moeda e base a confirmar",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Remuneração atual — não salário líquido",
"detailRole": "information",
"isVisible": true,
"key": "Receipt",
"label": "Tipo de recebimento",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Remuneração atual — não salário líquido",
"detailRole": "information",
"isVisible": true,
"key": "MonthlyMinutes",
"label": "Jornada mensal cadastrada (minutos)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Contato cadastrado",
"detailRole": "information",
"isVisible": true,
"key": "BusinessEmail",
"label": "E-mail cadastrado (pode ser pessoal)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Organização atual — não histórica",
"detailRole": "information",
"isVisible": true,
"key": "FunctionMatch",
"label": "Resolução da função atual",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Organização atual — não histórica",
"detailRole": "information",
"isVisible": true,
"key": "SectionMatch",
"label": "Resolução da seção atual",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Contato cadastrado",
"detailRole": "information",
"isVisible": true,
"key": "PersonMatch",
"label": "Resolução do contato",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
}
],
"detailLiveRefreshSeconds": 0,
"fixedFilters": [],
"id": "5B32A212-75A3-5B32-B79C-953B65E5992C",
"openFilters": [
{
"id": "1E2A9206-133A-539F-AF10-989CA340100E",
"includeAllOption": false,
"key": "Company",
"title": "Escolher coligada autorizada",
"type": "text"
},
{
"id": "6C2CF021-B6AC-556E-B9AB-51854AFB9E7D",
"includeAllOption": false,
"key": "Status",
"title": "Situação cadastrada (A = ativo)",
"type": "text"
}
],
"pageSize": 100,
"requiresOpeningFilterSelection": true,
"showOnHome": true,
"sortRules": [
{
"direction": "ascending",
"id": "18C53591-0054-5D21-8C48-05EA34808F1D",
"key": "EmployeeName",
"type": "text"
},
{
"direction": "ascending",
"id": "F28B2E59-C00E-53DE-B79E-F9D48AA34365",
"key": "PersonKey",
"type": "text"
}
],
"subtitle": "",
"subtitleKey": "Employee",
"systemImage": "doc.text",
"title": "Pessoas e vínculo profissional",
"titleKey": "EmployeeName"
},
{
"actions": [],
"badgeKey": "SalaryNumber",
"cardEnrichments": [],
"cardFieldLayout": [
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "HistoricSalary",
"label": "Salário histórico",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "Reason",
"label": "Motivo da alteração",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "HistoricSchedule",
"label": "Jornada no histórico",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "ProcessingDate",
"label": "Processamento / ref.",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
}
],
"datasetID": "AECF1D88-A2F6-506C-AC37-3A4ECCEDC50E",
"dateFilterKey": "",
"dateFilterLastDays": 7,
"dateFilterPreset": "none",
"detailFieldLayout": [
{
"detailGroup": "Alteração salarial registrada",
"detailRole": "information",
"isVisible": true,
"key": "Company",
"label": "Coligada (código da empresa)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Alteração salarial registrada",
"detailRole": "information",
"isVisible": true,
"key": "Employee",
"label": "Matrícula (chapa)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Alteração salarial registrada",
"detailRole": "information",
"isVisible": true,
"key": "EmployeeName",
"label": "Pessoa",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Alteração salarial registrada",
"detailRole": "information",
"isVisible": true,
"key": "ChangeAt",
"label": "Data e hora da mudança",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Alteração salarial registrada",
"detailRole": "information",
"isVisible": true,
"key": "SalaryNumber",
"label": "Número do salário no histórico",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Alteração salarial registrada",
"detailRole": "information",
"isVisible": true,
"key": "HistoricSalary",
"label": "Salário histórico",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Alteração salarial registrada",
"detailRole": "information",
"isVisible": true,
"key": "Reason",
"label": "Motivo da alteração",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Jornada e percentual — sem recálculo",
"detailRole": "information",
"isVisible": true,
"key": "HistoricSchedule",
"label": "Jornada no histórico",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Datas distintas",
"detailRole": "information",
"isVisible": true,
"key": "ProcessingDate",
"label": "Processamento / ref.",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Datas distintas",
"detailRole": "information",
"isVisible": true,
"key": "IncludedAt",
"label": "Data de inclusão",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Referências da estrutura salarial",
"detailRole": "information",
"isVisible": true,
"key": "EventReference",
"label": "Referência do evento",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Jornada e percentual — sem recálculo",
"detailRole": "information",
"isVisible": true,
"key": "ScheduleChange",
"label": "Alteração de jornada (valor cadastrado)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Jornada e percentual — sem recálculo",
"detailRole": "information",
"isVisible": true,
"key": "AppliedPercent",
"label": "Percentual registrado",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Referências da estrutura salarial",
"detailRole": "information",
"isVisible": true,
"key": "SalaryTable",
"label": "Referência da tabela salarial",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Referências da estrutura salarial",
"detailRole": "information",
"isVisible": true,
"key": "SalaryBand",
"label": "Referência da faixa salarial",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Referências da estrutura salarial",
"detailRole": "information",
"isVisible": true,
"key": "SalaryLevel",
"label": "Referência do nível salarial",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Referências da estrutura salarial",
"detailRole": "information",
"isVisible": true,
"key": "HistoricReference",
"label": "Referência salarial registrada",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
}
],
"detailLiveRefreshSeconds": 0,
"fixedFilters": [],
"id": "D1C7D944-9EF1-5CEA-AFCF-4291F8361CDC",
"openFilters": [],
"pageSize": 100,
"requiresOpeningFilterSelection": false,
"showOnHome": false,
"sortRules": [
{
"direction": "descending",
"id": "31318D4D-8708-532F-AD6A-C9946705498D",
"key": "ChangeAt",
"type": "text"
},
{
"direction": "ascending",
"id": "71C7DD37-F757-5B50-BFA9-D8069AA3F833",
"key": "HistoryKey",
"type": "text"
}
],
"subtitle": "",
"subtitleKey": "ChangeAt",
"systemImage": "doc.text",
"title": "Histórico salarial da pessoa",
"titleKey": "EmployeeName"
}
],
"relations": [
{
"childDatasetID": "AECF1D88-A2F6-506C-AC37-3A4ECCEDC50E",
"childKey": "PersonKey",
"id": "91602F6E-3B73-51C6-BF28-0544D868C626",
"name": "Histórico salarial",
"parentDatasetID": "CD2F4E0F-7E00-5E88-A1BE-6782C91BF7DC",
"parentKey": "PersonKey"
}
],
"widgets": []
}
},
"format": "cifru-configuration-package",
"formatVersion": 1,
"manifest": {
"applicationName": "TOTVS RM",
"configurationLanguages": [
"pt"
],
"countries": [
"BR"
],
"createdAt": "2026-10-10T00:00:00Z",
"description": "NÃO OFICIAL — NÃO VALIDADA EM UMA INSTALAÇÃO ERP REAL. Nomes físicos documentados e testes sintéticos; não é execução em RM, SQL Server ou iOS reais.\n\nPara profissionais autorizados de RH e gestores: escolha a coligada e a situação cadastral nos filtros nativos de abertura. A consulta-base não depende de parâmetros ainda não escolhidos; o Cifru aplica os valores selecionados antes do limite da leitura final. As opções disponíveis dependem da projeção SQL autorizada e da descoberta limitada da fonte; não são um catálogo universal. Consulte pessoas, matrícula, função, seção e admissão. Abra uma ficha organizada com vínculo, organização atual, salário cadastrado, tipo de recebimento, jornada mensal e contato. O botão Histórico salarial carrega somente as alterações da pessoa escolhida, com remuneração, motivo, datas distintas e referências de evento, tabela, faixa e nível salarial.\n\nPor que Cifru? Adapte as configurações à sua forma de trabalhar. Escolha os campos, filtros e detalhes de que precisa e leve para o celular informações que talvez não estejam disponíveis no aplicativo móvel do seu sistema de gestão. As possibilidades dependem dos dados acessíveis na fonte autorizada e do seu plano Cifru.\n\nPro: uma fonte autorizada, um botão Home, duas listas com Detalhes e um sub-botão a pedido. SQL somente SELECT, sem processos nativos, DDL, escrita ou atualização periódica. Até 2.000 pessoas e 500 alterações por leitura. Busca e filtros locais abrangem apenas registros carregados. Sem totais salariais, contracheques, férias, cálculo de folha ou promessa de rapidez; verifique índices, plano de execução e timeout. A identidade conserva coligada, matrícula textual com zeros, data/hora com precisão de até sete casas e número do salário. Confira tipos e chaves não nulas/únicas antes de usar. Registros sem identidade completa não entram na lista; isso não comprova ausência de histórico.\n\nA = ativo é situação cadastral, não validação jurídica de contrato de trabalho. Outras situações e tipos de funcionário são mostrados como cadastrados, sem legenda inventada. M/Q/S/H/D/T correspondem a mensalista, quinzenalista, semanalista, horista, diarista e tarefeiro; o tipo atual não prova a base do salário histórico. Salário do cadastro não é automaticamente líquido, pago, mensal ou em BRL. Confirme moeda e composição/base com o RH; não há símbolo monetário nem conversão. Valores preservam a representação da fonte, inclusive zero e precisão, e NULL continua ausente.\n\nData da mudança, processamento/referência e inclusão não se confundem. O histórico não é ordenado pelo valor para inventar salário anterior, não é somado e não usa propostas futuras como salário atual. JORNADAMENSAL atual é documentada em minutos; JORNADA histórica permanece no formato da fonte, sem conversão em horas. Percentual aplicado é informação registrada, não cálculo de variação. Função, cargo, seção, centro e departamento são contextos atuais, não sua situação na data da alteração. Referências nativas são preservadas sem inventar tabelas de descrição. Master ausente ou ambíguo não elimina a pessoa: a correspondência fica sinalizada e nenhum join amplia seus registros.\n\nRequer os cinco objetos dbo informados: dbo é requisito deste adaptador, não owner comprovado do fornecedor. Confirme edição, schema, colunas, tipos, timestamps, unicidade e projeção autorizada na instalação. SQL Server 2012+ com CONVERT datetime2(7) e CONCAT. Não cria objetos, concede permissões ou procura outro owner. Remapeie e teste para outra schema. A documentação reúne contextos de versões diferentes, não certifica uma edição instalada ou integração oficial.\n\nDADOS SALARIAIS E PESSOAIS: conecte somente uma projeção aprovada pelo responsável de RH com conta SQL separada e SELECT mínimo. SQL externo não herda perfis, hierarquia, cutoff salarial ou auditoria do Meu RH/Portal; filtros de coligada e situação não são controle de acesso. O e-mail cadastrado pode ser pessoal. Não inclui CPF, PIS, bancos, dados médicos ou dependentes. O pacote não contém credenciais, servidores ou pessoas reais. As imagens são capturas reais do Cifru Android com pessoas e valores DEMO inteiramente fictícios; não são dados ou conexão TOTVS RM reais.\n\nDocumentação: https://tdn.totvs.com/display/LRM/Entidades ; https://tdn.totvs.com/pages/viewpage.action?pageId=452719225 ; https://tdn-homolog.totvs.com/pages/releaseview.action?pageId=452719363 ; https://tdn-homolog.totvs.com/pages/releaseview.action?pageId=802003513\n\nCobertura da galeria: Sete imagens nativas complementares mostram o card completo, a ficha profissional em três posições, a lista realmente aberta pelo sub-botão e os Detalhes de uma alteração salarial em duas posições. As 21 posições profissionais e 17 do histórico são verificadas; 37 têm valores fictícios, e a data de demissão vazia não é exibida. O histórico mostrado pertence à mesma coligada/matrícula, não a outra empresa. Salário atual não é salário líquido; moeda/base e jornada histórica exigem confirmação. Home, lista adicional, takes antigos e vídeo bruto ficam privados. Dados e transporte são sintéticos; não é teste em ERP, SQL Server, iOS ou compra Pro.",
"licenseCode": "Cifru-Community-1.0",
"minimumCifruVersion": "1.1.0",
"minimumPlan": "pro",
"packageID": "05BC6B38-15E4-5DC3-B4AE-8CC849CC0D6A",
"rootButtonCount": 1,
"summary": "Ficha profissional, organização e remuneração atual, com histórico salarial da pessoa a pedido.",
"tags": [
"TOTVS RM",
"SQL Server",
"RH",
"Pessoas",
"Histórico salarial",
"Pro"
],
"title": "Pessoas, vínculo e histórico salarial — Pro"
}
}