Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.


01. DADOS GERAIS

Produto:

Solucoes_totvs_cross
SolucaoCrossTOTVS RH

Linha de Produto:

Linhas_totvs
SegmentoDistribuição
RegionConstrução Projetos
LinhaLinha Protheus

Segmento:

Segmentos_totvs
SegmentoRH

Módulo:SIGAPON
Função:

PONAPI01

PONAPIRR1

PONA030

Requisito/Story/Issue (informe o requisito relacionado) :

DRHPAG-40173

DRHPAG-40184

DRHPAG-40185

DRHPAG-44762

DRHPAG-44973


02. 
SITUAÇÃO/REQUISITO

Atualmente o sistema trabalha com a tabela MSA_CONTROL_MARCAC quando é efetuado a integração com a Carol ou Suricato. 

...

Como a tabela MSA_CONTROL_MARCAC não possui estrutura de dicionário de dados padrão e no caso do Suricato é efetuado um acesso direito ao banco de dados, houve a necessidade de criação de uma tabela padrão do Protheus existente no dicionário de dados e a criação de uma API para que o Suricato efetue a integração das marcações, evitando assim a necessidade de conexão direta com o banco de dados..

03. SOLUÇÃO

Ajuste ao iniciar o processo de importação das marcações para integração com a Carol e o processo de leitura de marcações (PONM010) para integração com o Suricato para iniciar a migração automática dos dados da tabela MSA_CONTROL_MARCAC para a tabela RR1. A partir dessa migração, o sistema somente passará a validar a tabela RR1.

...

Informações
titleImportante

As alterações estão incluídas no pacote de Expedição Contínua do RH disponível na Central de Downloads liberado a partir de XX27/XX12/2021.

Foram necessárias alterações no dicionário, listadas abaixo, que serão aplicadas na base com a execução do UPDDISTR com o dicionário diferencial liberado no pacote de expedição contínua do RH.

...

RR1_
Deck of Cards
startHiddenfalse
iddicionario
Card
defaulttrue
idsix
labelSIX
titleÍndices

Criação de índices na tabela RR1:

OrdemChave
1RR1_CODUNI+RR1_LOGIP+DTOS(RR1_DATMAR)
2RR1_CODUNI+DTOS(RR1_DATMAR)
3RR1_CODREP+RR1_LOGIP+DTOS(RR1_DATMAR)
4RR1_CODREL+RR1_LOGIP+DTOS(RR1_DATMAR)
5RR1_CODREL+STR(RR1_CODNSR,9)
6STR(RR1_VALCON,16)+RR1_CODREL+STR(RR1_CODNSR,9)
7RR1_CODREP+STR(RR1_CODNSR,9)
8STR(RR1_VALCON,16)+RR1_CODREP+STR(RR1_CODNSR,9)
Card
idsx2
labelSX2
titleTabela

Criação da tabela RR1:

ArquivoNomeCompartilhamento FilialCompartilhamento Unidade de NegócioCompartilhamento EmpresaX2_UNICO
RR1990Integração de marcaçõesCCCRR1_VALCON
254
Card
idsx3
labelSX3
titleCampos

Criação de campos na tabela RR1:

OrdemCampoTipoTamanhoDecimalFormatoContextoPropriedadeTítuloDescriçãoHelp
01RR1_FILIALCaracter20
RealAlterarFilialFilial

Filial

02RR1_VALCONNumérico160@E 9,999,999,999,999,999RealAlterarControl. MarControle Marcação

Código de controle da marcação

03RR1_
CODPRE
CODRELCaracter
20
1000
RealAlterarCod.
Id. Pre
Cod. ID Previd. Social

Código ID Previdência Social

04RR1_CODRELCaracter1000RealAlterarCod. RelógioCódigo Relógio

Código do relógio

05RR1_NUMDANumérico2099RealAlterarDireção AcesDireção Acesso

Direção de acesso

06RR1_CODFUNCaracter1000RealAlterarCod. Func.Código do funcionário

Código do funcionário

07RR1_CODFEDCaracter500RealAlterarCod. Fed.Código da Federação

Código da federação

08RR1_CODHASCaracter
RelógioCódigo Relógio

Código do relógio

04RR1_CODFUNCaracter1000
RealAlterarCod. Func.
Hash
Código
hash
do funcionário

Código do

hash

funcionário

09
05RR1_LOGIPCaracter10
RealAlterarLog Import.Log de importação

Log de importação do registro

10
06RR1_
CODLOT
Caracter1000RealAlterarCod. LoteCódigo do lote

Código do lote

11
CODNSRNumérico90@E 999,999,999RealAlterarCod. NSRCódigo NSR

Código NSR

12
07RR1_CODPISCaracter120
RealAlterarCod. PISCódigo do PIS

Código do PIS

13
08RR1_
VALPERNumérico80@E 99,999,999RealAlterarPerfil AcessPerfil de acesso

Perfil de acesso

14RR1_
DATMARData80
RealAlterarData Marc.Data da marcação

Data da marcação

15
09RR1_NUMMARNumérico60@E 999,999RealAlterarNum Hor Mar.Número da hora marcação

Número com o horário da marcação

16
10RR1_CODREPCaracter170
RealAlterarCod. REPCódigo do REP

Código do REP

17
11RR1_CODUNICaracter1000
RealAlterarCod. Unid.Código da Unidade

Código da unidade

18
12RR1_CODUSUCaracter1000
RealAlterarCod. UsuarioCódigo do usuário

Código do usuário

Card
idsx6
labelSX6
titleParâmetros

Criação de parâmetro:

NomeTipoDescriçãoConteúdo padrão
MV_APISURLógico

Define se a integração do Suricato com o Protheus ocorre por API (.T.) ou direto no banco (.F.) 

.F.
Dica
titleObservação

O parâmetro MV_APISUR somente será avaliado na integração com o Suricato e serve para indicar se o Suricato já foi atualizado e está configurado para efetuar a integração das marcações via API.

...

Informações
titleInformação

Segue um de X para da tabela MSA_CONTROL_MARCAC para a tabela RR1

De (MSA_CONTROL_MARCAC)Para (RR1)Observação

RR1_FILIALNunca será validado e sempre será gravado sem conteúdo.
VAL_CONTROL_MARCACRR1_VALCONNão há.
COD_RELOGIO_EXT_CHAVERR1_CODRELNão há.
COD_FUNC_MSARR1_CODFUNNão há.
LOG_IMPORT_PRODUTRR1_LOGIPNão há.
COD_NSRRR1_CODNSRNão há.
COD_PIS_MSARR1_CODPISNão há.
DAT_MARCAC_ACESRR1_DATMARSomente irá conter a data. A hora do registro não será importada, já que tal informação também é gravada no campo RR1_NUMMAR.
NUM_HORAR_MARCAC_ACESRR1_NUMMARNão há.
COD_REPRR1_CODREPNão há.
COD_UNID_EXT_CHAVERR1_CODUNINão há.
COD_USUAR_EXT_CHAVERR1_CODUSUNão há.

...

A API irá retornar a lista com o indicativo individual de sucesso ou erro na gravação. Os retornos possíveis estão na lista abaixo:

StatuserrorCodemessage
200
"Gravação efetuada com sucesso."
400"00001""PIS em formato inválido ou inexistente no cadastro."
400"00002""NSR duplicado. Número já foi importado na tabela"
400"00003""NSR não foi informado e é obrigatório"
400"00006""Não foi informado algum dos campos obrigatórios: 'codRelogioExtChave', 'codFuncMsa', 'codPisMsa', 'datMarcacAces', 'numHorarMarcacAces', 'codRep', 'codUnidExtChave' ou 'codUsuarExtChave'."
400"00006""Campo 'codRelogioExtChave' no formato incorreto. Deve ser preenchido como texto."
400"00006""Campo 'codFuncMsa' no formato incorreto. Deve ser preenchido como texto."
400"00006""Campo 'codNsr' no formato incorreto. Deve ser preenchido como numérico."
400"00006""Campo 'codPisMsa' no formato incorreto. Deve ser preenchido como texto."
400"00006""Campo 'datMarcacAces' no formato incorreto. Deve ser preenchido como data."
400"00006""Campo 'numHorarMarcacAces' no formato incorreto. Deve ser preenchido como numérico."
400"00006""Campo 'codRep' no formato incorreto. Deve ser preenchido como texto."
400"00006""Campo 'codUnidExtChave' no formato incorreto. Deve ser preenchido como texto."
400"00006""Campo 'codUsuarExtChave' no formato incorreto. Deve ser preenchido como texto."
400"00007""Foi enviado marcações de um relógio que não está cadastrado no ERP."
400"99999""Erro interno no lock da tabela RR1. Registro não foi gravado"


Exemplo de retorno da API recordClockMarkings:

Bloco de código
{
	"items": [
				{
					"codFuncMsa": "400425",
					"codNsr": 1,
					"codPisMsa": "012076853075",
					"datMarcacAces": "2020-10-16 08:30:00.000",
					"numHorarMarcacAces": 30600,
					"codUnidExtChave": "T2L MG 01",
					"codUsuarExtChave": "T2L MG 01 400425",
					"status": 400,
					"errorCode": "000006",
					"message": "Não foi informado algum dos campos obrigatórios: 'codRelogioExtChave', 'codFuncMsa', 'codPisMsa', 'datMarcacAces', 'numHorarMarcacAces', 'codRep', 'codUnidExtChave' ou 'codUsuarExtChave'."
				},
				{
					"codRelogioExtChave": "",
					"codFuncMsa": "400426",
					"codNsr": 2,
					"codPisMsa": "012047284033",
					"datMarcacAces": "2020-10-16 08:30:00.999",
					"numHorarMarcacAces": 30600,
					"codRep": "00000000000000001",
					"codUnidExtChave": "T2L MG 01",
					"codUsuarExtChave": "T2L MG 01 400426",
					"status": 400,
					"errorCode": "00002",
					"message": "NSR duplicado. Número já foi importado na tabela"
				}
		]
}

04. DEMAIS INFORMAÇÕES

Não há.


05. ASSUNTOS RELACIONADOS

Integração Protheus x Carol - Importação de Batidas.

...