...
Este documento de referência tem como objetivo explicar o funcionamento da integração do Protheus com o Suricato, desde a configuração dos parâmetros necessários e os WebServices envolvidos na integração, basicamente eles são os mesmos utilizado pelo TSA.
02. PARÂMETROS
Antes da configuração dos parâmetros, será necessário já possuir o Suricato instalado e configurado, pois existe um parâmetro que deve ser preenchido com o endereço do servidor onde se encontra o Suricato. Informações sobre o Suricato podem ser obtidas através de contato com a parceira mantenedora do produto, através de abertura de ticket.
Configuração dos seguintes parâmetros no Protheus (opção disponível no Configurador (SIGACFG), acesse Ambientes/Cadastro/Menu (CFGX013)):
...
Parâmetro | Descrição | Exemplo de utilização |
---|
MV_TSREP | Define se haverá integração entre o modulo SIGAPON e o aplicativo Suricato. |
Conteúdo: | .T. |
MV_TSASERV | Endereço IP ou nome do servidor da instalação do aplicativo Suricato. |
Exemplo: | 10.0.0.90:8080/tsa-ejb |
MV_TSANDIA | Define o Número de dias anteriores a data do sistema para que seja feito o sincronismo dos funcionários demitidos. |
Exemplo: | 30 |
MV_TSATLOG | Define qual será o tipo de envio do Log de erros da integração do módulo Ponto Eletronico X Aplic. Suricato (0=Não Gera, 1=E-mail, 2=Arquivo, 3=Ambos, 5=SaveXML). |
Exemplo: | 3 |
MV_TSADARQ | Define o nome do diretório onde serão gravados os arquivos de Log de erros gerados da integração do módulo Ponto Eletrônico X Aplicativo TSA. |
Exemplo: | \logwsrhtsa\ |
MV_TSAIURB | Habilita a integração do crachá do funcionário com o Suricato. |
Exemplo: Email E-mail para recebimento de mensagens do Log de integração. Caso esteja em branco o |
email Exemplo: ATENÇÃO:
...
...
TSAINT | Identifica se a integração será realizada com o TSA ou Suricato. .T. = TSA, .F. = Suricato | .F. |
MV_APISUR | Define se a integração do Suricato com o Protheus ocorre por API (.T.) ou direto no banco (.F.) | .F. |
MV_TSADTAD | Define se na transferência o sistema utilizara a data de admissão ou a data da transferência para a tag HiringDate. .T.=Dt Adm,.F.=Dt Transf | .F. |
Atenção:
Informações |
---|
title | Configuração necessária para envio de e-mail |
---|
|
MV_RELACNT - Conta utilizada para envio do e-mail MV_RELSERV - Endereço do servidor de e-mail MV_RELPSW - Senha da conta utilizada para envio do e-mail MV_RELAUSR - Usuário de autenticação de e-mail MV_RELAPSW - Senha do usuário de autenticação de e-mail MV_RELFROM - Endereço de e-mail que ira disparar o e-mail MV_RELAUTH - Faz autenticação no servidor de e-mail |
Informações |
---|
|
- Quando o parâmetro estiver com a opção 1, só será enviado o e-mail com o log se houver erros de integração.
- Quando o parâmetro estiver com a opção 2, só será gerado o log (arquivo txt) no diretório definido no parâmetro MV_TSADARQ se houver erros de integração.
- Quando o parâmetro estiver com a opção 3, só será enviado o e-mail e gerado o log (arquivo txt) se houver erros de integração.
- Quando o parâmetro estiver com a opção 5 o sistema irá gerar o xml de envio e retorno na pasta system, essa opção é útil para analisar erros, porém consome muito espaço em disco, por isso é importante ativá-lo para realizar o teste necessário e logo depois desativá-lo. Quando ativo o sistema sempre irá gerar o XML na pasta system, independentemente se houve erro ou não na integração. Além disso, se houver erros na integração será gerado o arquivo de log de erro (arquivo txt) no diretório definido no parâmetro MV_TSADARQ e será enviado o e-mail com o log.
Nome dos arquivos XMLs gerados: "Numero Sequencial"_SND.XML → XML enviado ao Suricato "Numero Sequencial"_RCV.XML → XML recebido do suricato como retorno do XML SND
|
03. PORTARIA 671
Com a portaria 671/2021 surgiu a necessidade de realizar 2 alterações no Protheus, para que o sistema consiga realizar corretamente a integração de marcações vindas do Suricato.
A primeira alteração foi a estrutura da tabela que armazena as marcações (RR1 ou MSA_CONTROL_MARCAC).
A segunda alteração foi a API recordClockMarkings, ela foi atualizada para receber os novos campos da Portaria 671/2021.
Informações |
---|
|
A utilização da API recordClockMarkings é apenas para as marcações serem integradas na RR1. Caso a integração das marcações seja feita via banco de dados, utilizando a MSA_CONTROL_MARCAC, o processo continuará o mesmo, porém será necessário a criação dos novos campos. |
03.1 CAMPOS DA TABELA RR1/MSA_CONTROL_MARCAC
RR1
Caso a tabela responsável por armazenar as marcações seja a RR1 será necessário a execução do UPPDISTR para a atulização da tabela, para isso baixe o último pacote da Expedição Contínua do RH.
Após a execução do UPPDISTR os seguintes campos serão criados na tabela RR1:
X3_CAMPO | X3_TIPO | X3_TAMANHO | X3_TITULO | X3_DESCRIC |
---|
RR1_FUSO | C | 5 | Fuso Horário | Fuso horário da marcação |
RR1_CODCPF | C | 11 | CPF | CPF do funcionário |
RR1_VRSLAY | N | 3 | Vers. Layout | Versão do Layout |
RR1_INSCR | C | 14 | Inscr. Emp | CNPJ ou CPF do empregador |
RR1_CCTREP | C | 17 | Código CCT | Código da CCT da marcação |
MSA_CONTROL_MARCAC
Se a tabela utilizada for a MSA_CONTROL_MARCAC, além da execução do UPPDISTR será necessário a compilação do pacote de fontes da última Expedição Contínua. Após a execução do pacote de dicionários será criada a pergunta "Atualiza Tabela MSA"? na rotina de Carga Inicial (PONM430). Esta pergunta será responsável para dizer se o sistema deve ou não atualizar a MSA_CONTROL_MARCAC com os novos campos. A pergunta terá apenas 2 respostas 1 - Sim e 2 - Não, caso seja preenchida com 1 - Sim, o sistema irá criar o novos campos da MSA_CONTROL MARCAC, caso ela esteja preenchida com não, o sistema não irá atualizar a tabela.
X1_GRUPO | X1_ORDEM | X1_PERGUNT | X1_TIPO | X1_TAMANHO | X1_VAR01 | X1_DEF01 | X1_DEF02 | X1_HELP |
---|
PONM430 | 04 | "Atualiza Tabela MSA"? | N | 1 | MV_PAR04 | 1 - Sim | 2 - Nao | .PONM43004. |
Com a pergunta preenchida com Sim as demais perguntas podem ficar em branco, o sistema irá desconsiderar as demais perguntas e a execução da rotina será exclusivamente para a criação dos novos campos na MSA_CONTROL_MARCAC.
Caso a tabela MSA_CONTROL_MARCAC já exista no banco de dados, ao executar a rotina de Carga Inicial (PONM430) preenchendo apenas a pergunta "Atualiza Tabela MSA"? com sim será realizada a criação dos novos campos.
Caso a tabela MSA_CONTROL_MARCAC não exista no banco de dados, ao executar a rotina de Carga Inicial (PONM430), preenchendo apenas a pergunta "Atualiza Tabela MSA"? com sim será realizada a criação da tabela com os novos campos.
Após a execução da rotina, os novos campos serão criados.
Coluna | Tipo | Tamanho |
---|
COD_FUSO | varchar | 5 |
COD_CPF_FUNC | varchar | 11 |
NUM_VERS_LAYOUT_AFD | int | 3 |
COD_INSCR_EMP | varchar | 14 |
COD_CCT | varchar | 17 |
03.2 ALTERAÇÃO DA API RECORDCLOCKMARKINGS
A API recordClockMarkings, foi alterada para receber, validar e salvar os dados nos novos campos da RR1. Se as marcações a serem integradas forem referentes a Portaria 671, antes de consumir a API será necessário validar se os novos campos, mencionados anteriormente, já foram criados no Protheus. Para isso foi criada uma nova API que irá dizer para o Suricato se o Protheus já possui os novos campos e se poderá ser utilizado os mesmo na API RecordclockMarkings.
RECORDVALIDATEDVERSION
A API RecordValidatedVersion irá verificar no sistema se os novos campos foram criados, respeitando o conteúdo do parâmetro MV_APISUR. Se o parâmetro MV_APISUR estiver configurado com .T. (integração via API) o sistema irá verificar a tabela RR1, nos casos onde o parâmetro estiver com .F. será verificada a tabela MSA_CONTROL_MARCAC
Para mais informações sobre a API, acesse o link abaixo:
DT API recordValidatedVersion.
Após validar se o sistema possui os novos campos, bastar utilizar a API RecordclockMarkings, informando os novos campos como o exemplo abaixo:
Bloco de código |
---|
{
"items": [
{
"codRelogioExtChave": "",
"codFuncMsa": "003651",
"codNsr": 1,
"codPisMsa": "022036983234",
"datMarcacAces": "2022-11-01 09:00:00.000",
"numHorarMarcacAces": 32400,
"codRep": "00000000000000123",
"codUnidExtChave": "T1D MG 01",
"codUsuarExtChave": "T1D MG 01 003651",
"codFuso": "-0300",
"codCPF": "16046091098",
"numVersLayout": 3,
"inscrEmp": "11456156000111",
"codCCT": "00000000123212111"
}
]
} |
04. CADASTRO DO RELÓGIO
Para efetuar a leitura de marcações a partir do Suricato, deve-se alterar o cadastro do relógio e informar o conteúdo “R” no campo Tipo Arquivo (P0_TIPOARQ). Ao iniciar o processo de leitura de marcações, a rotina irá buscar os registros da tabela MSA_CONTROL_MARCAC de determinada data de/até que contém o campo LOG_IMPORT_PRODUT = 0.
Atenção: A leitura de marcações somente irá funcionar se a tabela MSA_CONTROL_MARCAC estiver cadastrada no mesmo banco de dados do Protheus.
Informações |
---|
|
1 - Para que as marcações salvas na MSA sejam processadas corretamente, o código do REP, no cadastro do Protheus, deverá ser o mesmo código salvo no campo COD_REP na tabela MSA. Por exemplo se o Suricato salvar o código "5001030033938" no campo COD_REP da MSA, o Campo REP do cadastro de relógio do Protheus deverá ser salvo com o conteúdo "5001030033938". 2 - Com a portaria 671 é necessário informar o tipo do REP (1510, REP-A, REP-C e REP-P). Para um relógio do Suricato teremos três opções, 1510, REP-A e REP-C, em todos os tipos os sistema irá identificar o funcionário pelo PIS ou CPF da marcação por ser um relógio do Suricato, por este motivo qualquer uma das opções são válidas no cadastro do relógio, porém é necessário verificar qual o tipo do REP do Suricato e preencher corretamente o cadastro do relógio.
3 - Marcações vindas de um REP-A devem ter o código da Convenção Coletiva de Trabalho, esse código será utilizado na geração do Arquivo Eletrônico de Jornada - AEJ. Saiba mais: DT Adequação API integração Suricato Portaria 671. |
Exemplo de configuração dos campos no Cadastro de Relógios para integração de marcações no Suricato:
Image Added
05. CONFIGURAÇÃO DO SCHEDULE
Após o cadastro do relógio, é possível realizar a configuração do Schedule para que a rotina de Leitura e Apontamento seja executada de tempos em tempos. Desta maneira todas as marcações que foram integradas serão processadas pelo Protheus. O processo também pode ser realizado de forma manual, para isso acesse a rotina de Leitura Apontamento em SIGAPON → Miscelanea → Cálculos → Leitura/Apontamento Marcações, preencha os parâmetros informando o código do relógio cadastrado anteriormente e execute a rotina.
Para a configuração do Schedule, será necessário acessar o Configurador (SIGACFG). Após acessar o configurador acesse Ambiente → Schedule → Schedule.
Image Added
Na tela seguinte inicialmente será necessário cadastrar um Agent. O Agent é responsável por gerenciar e distribuir as tarefas a serem executadas.
Image Added
Clicando no primeiro ícone à direita, o sistema irá criar um Agent para cada grupo de empresas automaticamente.
Image Added
Após a criação do Agent, precisaremos criar um Execute, que são os componentes responsáveis por realizar a chamada das rotinas agendadas.
Image Added
Preencha a rotina com PONM010 (Leitura e Apontamento), e posteriormente preencha os parâmetros informando o código do relógio cadastrado anteriormente.
Image Added
Image Added
Iremos agora selecionar a periodicidade em que a rotina será executada, as imagens abaixo são um exemplo de um cadastro que será executado 24 vezes por dia, a cada 1 hora, todos os dias da semana, começando no dia 05/10/2020 e sem data de término.Image Added
Image Added
Confirme e salve o agendamento. O próximo passo é colocar todos os serviços cadastrados para serem executado. Para isso clique em Schedule e clique em "Iniciar todos os serviços", depois em Agent "Iniciar todos os serviços".
Image AddedImage Added
Após todo este processo de cadastro o Schedule já está sendo executado. É possível acompanhar o resultado da execução clicando em Agendamentos e depois em monitor.
Image Added
Para mais informações sobre o Cadastro do Schedule, acesse o link da documentação que está no final desta página. Na seção Links.
06. INTEGRAÇÕES REALIZADAS ENTRE OS PRODUTOS
Totvs custom tabs box |
---|
tabs | Empresa,Funcionário,Função,Turno,Feriádos,Sindicatos,Exceções,Afastamentos,Centro de Custo,Transferências,Cálculo de Férias,Cálculo de Rescisão,Regra de Apontamento,Leitura de Marcações,Fechamento do Ponto |
---|
ids | empresa,funcionario,funcao,turno,feriados,sindicatos,excecoes,afastamentos,centrosdecustos,transferencias,ferias,rescisao,regradeapontamento,leiturademarcacoes,fechamentodoponto |
---|
|
Totvs custom tabs box items |
---|
default | yes |
---|
referencia | empresa |
---|
| Cadastro de Novas Empresas/Filiais Ao incluir ou alterar uma empresa/filial no Cadastro de Empresa, deve-se executar novamente o processo de Carga Inicial de Empresa, Unidade e Lotação para atualização da informação da empresa/filial no Suricato. |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | funcionario |
---|
| Cadastro de Funcionário Ao realizar a admissão de um funcionário ou alteração de seus dados no Cadastro do Funcionários o mesmo será integrado com o Suricato. Para confirmar se a integração foi realizada com sucesso, verifique se o Cadastro de Funcionário no Suricato foi atualizado. Observação: Por meio do parâmetro MV_TSAIURB, é possível definir se será enviado o crachá do funcionário do Protheus para o Cadastro de funcionário do Suricato. |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | funcao |
---|
| Cadastro de Cargo/Função Ao realizar a inclusão, alteração ou exclusão de uma função no Cadastro de Funções, a função será integrada com o Suricato. Também será integrada a troca de função de um funcionário. Se for realizada a troca de função essa informação será integrada com o Suricato e ele irá manter histórico da função anterior e da atual. Para confirmar se a integração funcionou, verifique no Suricato se o Cadastro de Cargo ou o Cadastro do Funcionário foram atualizados. |
Totvs custom tabs box items |
---|
| Cadastro Turno de Trabalho Ao incluir um turno de trabalho no Cadastro de Turnos de Trabalho, não haverá integração do turno com o Suricato, pois é necessário o preenchimento da tabela de horário padrão. Caso seja realizada a troca de turno de trabalho do Funcionário a mesma será integrada e o Suricato irá manter histórico do turno anterior e do atual. Para confirmar se a integração funcionou, verifique no Suricato se a Escala, Horário da Escala ou o Cadastro do funcionário foram atualizados. |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | feriados |
---|
| Cadastro de Feriados Ao realizar a inclusão, alteração ou exclusão de um feriado no Cadastro de Feriados, ele será integrado com o Suricato. Para confirmar se a integração funcionou, verifique se o cadastro de Feriados no Suricato foi atualizado. |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | sindicatos |
---|
| Cadastro de Sindicato Ao realizar a inclusão, alteração ou exclusão de um sindicato no Cadastro de Sindicatos, ele será integrado com o Suricato. Para confirmar se a integração funcionou verificar se o cadastro de Pessoa Jurídica no Suricato foi atualizado. |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | excecoes |
---|
| Cadastro de Exceções Ao realizar a inclusão, alteração ou exclusão de uma exceção por funcionário e/ou período, ela será integrada com o Suricato. Para confirmar se a integração funcionou verificar se o cadastro de Situações no Suricato foi atualizado. |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | afastamentos |
---|
| Cadastro de Afastamentos Ao realizar a inclusão, alteração ou exclusão de um afastamento para o Funcionário, ela será integrada com o Suricato. Para confirmar se a integração funcionou verificar se o cadastro de Afastamentos no Suricato foi atualizado. |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | centrosdecustos |
---|
| Cadastro de Centros de Custo Ao realizar a inclusão, alteração ou exclusão de um Centro de Custo no Cadastro de Centros de Custos, ele será integrado com o Suricato. Para confirmar se a integração funcionou verificar se o cadastro de Centro de Custos no Suricato foi atualizado. |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | transferencias |
---|
| Cadastro de Transferências Ao realizar a transferência de um Centro de Custo de um funcionário, essa informação será integrada, alterando o cadastro do funcionário no Suricato. O Suricato irá manter histórico do centro de custo anterior e do atual. Quando a transferência de um funcionário for entre Empresas/Filiais o cadastro do funcionário no Suricato será atualizado. Observação: O Suricato manterá os dois registros do funcionário (devido mudança na chave externa), onde o registro anterior terá data de demissão com um dia anterior ao da transferência e o registro atual manterá o crachá do usuário. Para confirmar se a integração funcionou verificar se o cadastro de Funcionário no Suricato foi atualizado. |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | ferias |
---|
| Cálculo de Férias Ao realizar o cálculo de férias para um funcionário, o cadastro do funcionário no Suricato será atualizado com a informação do afastamento. Para confirmar se a integração funcionou verificar se o cadastro de Funcionário no Suricato foi atualizado. |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | rescisao |
---|
| Cálculo de Rescisão Ao realizar o cálculo de rescisão para um funcionário, essa informação será integrada, atualizando a informação sobre o desligamento do funcionário no Suricato. Ao excluir o cálculo de rescisão, a mesma será integrada, atualizando o funcionário no Suricato. Para confirmar se a integração funcionou, verificar se o cadastro do funcionário foi atualizado. |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | regradeapontamento |
---|
| Cadastro de Regra de Apontamento Ao alterar o intervalo móvel de uma regra na rotina de Cadastro de Regras de Apontamento o campo Tipo de Escala no Cadastro de Escala no Suricato será atualizado. |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | leiturademarcacoes |
---|
| Cadastro de Relógios e Leitura de Marcações Para efetuar a leitura de marcações a partir do Suricato, deve-se alterar o cadastro do relógio e informar o conteúdo R no campo Tipo Arquivo (P0_TIPOARQ). Ao iniciar o processo de leitura de marcações, a rotina irá buscar os registros da tabela MSA_CONTROL_MARCAC de determinada data de/até que contém o campo LOG_IMPORT_PRODUT = 0. Atenção: A leitura de marcações somente irá funcionar se a tabela MSA_CONTROL_MARCAC estiver cadastrada no mesmo banco de dados do Protheus. Observação: Para que as marcações salvas na MSA sejam processadas corretamente, o código do REP, no cadastro do Protheus, deverá ser o mesmo código salvo no campo COD_REP na tabela MSA. Por exemplo se o Suricato salvar o código "5001030033938" no campo COD_REP da MSA, o Campo REP do cadastro de relógio do Protheus deverá ser salvo com o conteúdo "5001030033938". Observação: O Suricato não grava o horário da marcação em horas e minutos no campo NUM_HORAR_MARCAC_ACES da tabela MSA_CONTROL_MARCAC. É necessário converter o conteúdo para horas e minutos efetuando a seguinte conta: NUM_HORAR_MARCAC_ACES / 3600 (para encontrar as horas); Resto da divisão X 60 (para encontrar os minutos); Resto da divisão X 60 (para encontar os segundos). Exemplo: NUM_HORAR_MARCAC_ACES = 59730: 59730 / 3600 = 16,59166666666667; 0,59166666666667 X 60 = 35,5; 0,5 X 60 = 30. Resultado: 16:35:30. |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | fechamentodoponto |
---|
| Fechamento do Ponto Caso haja alteração na sequencia inicial do turno de trabalho, haverá atualização do cadastro de Usuário no Suricato. Este processo somente será executado caso a nova sequencia inicial do turno seja diferente da anterior. |
|
07. TABELAS E ROTINAS ENVOLVIDAS NA INTEGRAÇÃO
Totvs custom tabs box |
---|
tabs | Tabelas,Rotinas |
---|
ids | tabelas,rotinas |
---|
|
Totvs custom tabs box items |
---|
default | yes |
---|
referencia | tabelas |
---|
| Segue abaixo as tabelas envolvidas na integração com o Suricato: Tabela | Descrição |
---|
CTT | Centro de Custo | RCE | Sindicatos | SPA | Regra de Apontamento | SPJ | Tabela de Horário Padrão | SP2 | Exceções | SP3 | Feriados | SRJ | Funções | SPF | Transferência de Turno | SR6 | Turnos de Trabalho | SR8 | Controle de Ausências | SRA | Funcionários | SRG | Rescisões | SRH | Férias |
|
Totvs custom tabs box items |
---|
default | no |
---|
referencia | rotinas |
---|
| Segue abaixo as rotinas envolvidas na integração com o Suricato: Rotina | Descrição |
---|
CSAM080 | Cadastro de Aumento programado | CTBA030 | Cadastro de Centro de Custos | GPEA010 | Cadastro de Funcionários | GPEA030 | Cadastro de Funções | GPEA080 | Cadastro de Turno de Trabalho | GPEA180 | Cadastro de Transferência de Funcionários | GPEA240 | Cadastro de Afastamentos | GPEA265 | Cadastro de Autônomos | GPEA340 | Cadastro de Sindicatos | GPEM030 | Cadastro de Férias | GPEM040 | Cadastro de Rescisão | GPEM060 | Férias Coletivas/Programadas | GPEXFUN1 | Biblioteca de Funções do SIGAGPE | PONA020 | Cadastro de Feriado | PONA080 | Manutenção da Tabela de Horário Padrão | PONA090 | Cadastro de Exceções por Período | PONA140 | Cadastro de Exceções por Funcionário | PONA160 | Troca de Turno | PONM430 | Integração TSA | PONXFUN | Biblioteca de Funções do SIGAPON | PONXFUN1 | Biblioteca de Funções do SIGAPON | PTSREPOBJ | Biblioteca de Funções do SIGAPON | RHUPDPON | Atualizador do Ponto Eletrônico | TRMA100 | Cadastro de Funcionários | TRMA210 | Cadastro de Funções |
|
|
07.1 CAMPOS DA TABELA UTILIZADA
Totvs custom tabs box |
---|
|
Totvs custom tabs box items |
---|
| Campos utilizados na integração do funcionário, ao incluir ou alterar qualquer um dos dados utilizados para a montagem do XML será realizada uma nova integração. WSRHTSANaturalPerson <?xml version="1.0" encoding="UTF-8"?> -<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> -<soap:Body> -<insertOrUpdate xmlns="http://naturalperson.tsa.totvs.com/"> -<arg0 xmlns=""> <address>AV. BRAZ LEME </address> Endereço + Num.Endereço + Compl.Ender. (RA_ENDEREC + RA_NUMENDE + RA_COMPLEM) <city>SAO PAULO </city> Municipio (RA_MUNICIP) <country>BRASILEIRO</country> Nacionalid. (RA_NACIONA) <email>totvs@totvs.com.br</email> End. E-Mail (RA_EMAIL) <externalKey>T1D MG 01 00079820211011164347</externalKey> Código Unico RA_CODUNIC (Empresa + RA_FILIAL + RA_MAT + Data e hora da Integração) <federalId>03024407049</federalId> CPF (RA_CIC) <idCard>2020-01-01</idCard> R.G. (RA_RG) <idCardDate>1900-01-01</idCardDate> D t.Emis.RG (RA_DTRGEXP) Se não for preenchido será enviado 1900-01-01 <idCardEmitter>SSP </idCardEmitter> Orgao expedR (RA_RGEXP) <idCardState>SP </idCardState> UF do RG (RA_RGUF) <image>BitMap da imagem do funcionário</image> Foto do Funcionário (RA_BITMAP) <name>Funcionário Totvs </name> Nome do Funcionário (RA_NOME) <neighborhood>CASA VERDE </neighborhood> Bairro (RA_BAIRRO) <phone1>11111111 </phone1> Telefone (RA_TELEFON) <phone2>911111111 </phone2> Num. Celular (RA_NUMCELU) <phoneCode1>11</phoneCode1> DDD Telefone (RA_DDDFONE) <phoneCode2>11</phoneCode2> DDD Celular (RA_DDDCELU) <state>SP</state> Estado (RA_ESTADO) <zipCode>02511000</zipCode> CEP (RA_CEP) <sex>M</sex> Sexo (RA_SEXO) <birthDate>1985-11-19</birthDate> Data Nasc. (RA_NASC) </arg0> </insertOrUpdate> </soap:Body> </soap:Envelope>
WSRHTSAUserIntegration <?xml version="1.0" encoding="UTF-8"?> -<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> -<soap:Body> -<insertUserShiftWork xmlns="http://user.tsa.totvs.com/"> -<arg0 xmlns=""> <endDate>2049-12-31T00:00:00</endDate> Data Demissão (RA_DEMISSA se RA_DEMISSA estiver vazia será enviado 2049-12-31) <initialDate>2021-01-01T00:00:00</initialDate> Data Admissão (RA_ADMISSA) <shiftWorkExternalKey>T1D MG 00101</shiftWorkExternalKey> Chave de identificação do turno (Empresa + Turno + Sequencia (Empresa + PF_FILIAL + PF_TURNOPA + PF_SEQUEPA)) <userExternalKey>T1D MG 01 000798</userExternalKey> Chave de identificação do funcionário (Empresa + RA_FILIAL + RA_MAT) <InitialScaleBaseDate>2020-12-28T00:00:00</InitialScaleBaseDate> Primeiro dia da sequência e turno informado. Por exemplo a data de admissão do funcionário foi no dia 01/01/2021, esse dia é uma sexta-feria e a sequência 01 começa na segunda, então será enviada o dia 28/12/2020. </arg0> </insertUserShiftWork> </soap:Body> </soap:Envelope> |
|
08. PRINCIPAIS FONTES E WEB SERVICES
Totvs custom tabs box |
---|
tabs | Fontes,Web Services |
---|
ids | fontes,webservices |
---|
|
Totvs custom tabs box items |
---|
default | yes |
---|
referencia | fontes |
---|
| Totvs custom tabs box |
---|
tabs | Carga Incial,PTSREPOBJ |
---|
ids | cargainicial,ptsrepobj |
---|
| Totvs custom tabs box items |
---|
default | yes |
---|
referencia | cargainicial |
---|
| Carga Incial - PONM430 Para a primeira integração com o Suricato, será necessário realizar a carga inicial. A rotina de Carga Inicial (POMM430 - Miscelânea → S.r.e.p. → Integração Tsa), será responsável por enviar todas as informações necessárias para a utilização do Suricato. Nela é possível selecionar quais informações serão enviadas inicialmente, que vão desde o cadastro da empresa até Férias/Afastamentos dos funcionários, porém a rotina possui uma ordem de execução que NÃO deve ser alterada, mas não há obrigatoriedade de enviar todos os cadastros de uma vez. É recomendado enviar primeiramente os cadastrados da Empresa, Unidade e Lotação. Image Added Informações |
---|
| A partir do pacote de Expedição Contínua do RH libera no dia 11/03/2024 é possível realizar o reenvio de um XML utilizando a rotina de Carga Inicial. Na pergunta da rotina existirá uma nova opção que é a "Reenviar XML ?", caso ela esteja com sim, o Protheus irá ignorar se a informação foi enviado ou não para o Suricato e irá gerar o XML de integração. Para mais informações do funcionamento do reenvio do XML acesse o link abaixo: Reenvio de XML - Integração Suricato |
|
Totvs custom tabs box items |
---|
default | no |
---|
referencia | ptsrepobj |
---|
| PTSREPOBJ Este fonte possui todos os métodos que irá fazer a chamada de um Web Service para realizar a integração com o Suricato. Como por exemplo o método WSNatural, este método irá realizar a inclusão/alteração de um funcionário no Suricato. O método irá receber as informações da tabela envolvida e enviará elas para o Web Service NaturalPerson, que irá enviar para o Suricato. |
|
|
Totvs custom tabs box items |
---|
default | no |
---|
referencia | webservices |
---|
| Totvs custom tabs box |
---|
tabs | AbsenceReason,AllocationUnit,CostCenter,DayNotWorked,Exception,LegalPerson,LocationIntegration,NaturalPerson,PositionLevel,ScaleIntegration,ShiftWork,Unit,UserIntegration |
---|
ids | absencereason,allocationunit,costcenter,daynotworked,exception,legalperson,locationintegration,naturalperson,positionlevel,scaleintegration,shiftwork,unit,userintegration |
---|
| Totvs custom tabs box items |
---|
default | yes |
---|
referencia | absencereason |
---|
| WSClient_WSRHTSAAbsenceReason O AbsenceReason é o Web Service responsável por enviar as informações referentes as ausências. O método que faz a chamada desse Web Service é o WSAbsenceReason, localizado no fonte PTSREPOBJ. Neste método o sistema irá receber as informações da tabela tipo de ausências (RCM), manipulará os dados e enviará para o Suricato. |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | allocationunit |
---|
| WSClient_WSRHTSAAllocationUnit O AllocationUnit é o Web Service responsável por enviar as informações referentes as Unidades de Lotações. O método que faz a chamada desse Web Service é o WSAllocation, localizado no fonte PTSREPOBJ. Neste método o sistema irá receber as informações do cadastro de Unidade de Lotação, manipulará os dados e enviará para o Suricato. |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | costcenter |
---|
| WSClient_WSRHTSACostCenter O CostCenter é o Web Service responsável por enviar as informações referentes aos Centros de Custos. O método que faz a chamada desse Web Service é o WSCostCenter, localizado no fonte PTSREPOBJ. Neste método o sistema irá receber as informações da tabela dos Centros de Custos (CTT), manipulará os dados e enviará para o Suricato. |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | daynotworked |
---|
| WSClient_WSRHTSADayNotWorked O DayNotWorked é o Web Service responsável por enviar as informações referentes aos Feriados. O método que faz a chamada desse Web Service é o WSDayNotWorked, localizado no fonte PTSREPOBJ. Neste método o sistema irá receber as informações dos Feriados cadastrados (SP3), manipulará os dados e enviará para o Suricato. |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | exception |
---|
| WSClient_WSRHTSAException O Exception é o Web Service responsável por enviar as informações referentes as Exceções. O método que faz a chamada desse Web Service é o WSException, localizado no fonte PTSREPOBJ. Neste método o sistema irá receber as informações das Exceções cadastradas (SP2), manipulará os dados e enviará para o Suricato. |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | legalperson |
---|
| WSClient_WSRHTSALegalPerson O LegalPerson é o Web Service responsável por enviar as informações referentes as Empresas. O método que faz a chamada desse Web Service é o WSLegal, localizado no fonte PTSREPOBJ. Neste método o sistema irá receber as informações das Empresas cadastradas, manipulará os dados e enviará para o Suricato. Observação: O Web Service LegalPerson também é responsável por enviar os Sindicatos cadastrados, através do método WSSindicatoLegal. |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | locationintegration |
---|
| WSClient_WSRHTSALocationIntegration O LocationIntegration é o Web Service responsável por enviar as informações referentes as Localizações (Cidades). O método que faz a chamada desse Web Service é o WSLocation, localizado no fonte PTSREPOBJ. Neste método o sistema irá receber as informações das Localizações cadastradas, manipulará os dados e enviará para o Suricato. |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | naturalperson |
---|
| WSClient_WSRHTSANaturalPerson O NaturalPerson é o Web Service responsável por enviar as informações referentes aos Funcionário. O método que faz a chamada desse Web Service é o WSNatural, localizado no fonte PTSREPOBJ. Neste método o sistema irá receber as informações dos Funcionário cadastrados (SRA), manipulará os dados e enviará para o Suricato. |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | positionlevel |
---|
| WSClient_WSRHTSAPositionLevel O PositionLevel é o Web Service responsável por enviar as informações referentes as Funções do funcionário. O método que faz a chamada desse Web Service é o WSPositionLevel, localizado no fonte PTSREPOBJ. Neste método o sistema irá receber as informações das Funções cadastradas (SRJ), manipulará os dados e enviará para o Suricato. |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | scaleintegration |
---|
| WSClient_WSRHTSAScaleIntegration O ScaleIntegration é o Web Service responsável por enviar as informações referentes a Tabela Horário Padrão. O método que faz a chamada desse Web Service é o WSSCale, localizado no fonte PTSREPOBJ. Neste método o sistema irá receber as informações da Tabela de Horário Padrão cadastradas (SPJ), manipulará os dados e enviará para o Suricato. |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | shiftwork |
---|
| WSClient_WSRHTSAShiftWork O ShiftWork é o Web Service responsável por enviar as informações referentes ao Turnos. O método que faz a chamada desse Web Service é o WSShiftWork, localizado no fonte PTSREPOBJ. Neste método o sistema irá receber as informações da tabela de Turnos cadastrados (SR6), manipulará os dados e enviará para o Suricato. |
Totvs custom tabs box items |
---|
| WSClient_WSRHTSAUnit O Unit é o Web Service responsável por enviar as informações referentes a Unidade. O método que faz a chamada desse Web Service é o WSUnit, localizado no fonte PTSREPOBJ. Neste método o sistema irá receber as informações da Unidade cadastrada, manipulará os dados e enviará para o Suricato. |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | userintegration |
---|
| WSClient_WSRHTSAUserIntegration O UserIntegration é o Web Service responsável por enviar as informações referentes aos Usuários. O método que faz a chamada desse Web Service é o WSUser, localizado no fonte PTSREPOBJ. Neste método o sistema irá receber as informações dos Usuários, tais como Nome, Centro de Custo, Papéis (Permissões) e etc, manipulará os dados e enviará para o Suricato. Observação: Este Web Service é diferente dos demais, pois ele possui vários métodos para inserir informações diferentes, como por exemplo Centro de Custo e Função, utilizando os métodos insertUserShiftWork e insertUserPositionLevel respectivamente, localizados no Web Service. |
|
|
|
09. RELACIONAMENTO ROTINAS X WEB SERVICES
Seguem abaixo os nomes das rotinas e seus serviços relacionados:
Rotina | Web Services |
---|
Schedule Empresa | LegalPerson |
Schedule Unidade | Unit |
Schedule Unidade de Lotação | AllocationUnit |
Schedule Localidade | LocationIntegration |
Schedule Tabelas 30/31 – Módulo Configurador | AbsenceReason, UnitAbsenceReason |
Cadastro de Aumento Programado (CSAM080) | UserIntegration |
Cadastro de Centro de Custos (CTBA030) | CostCenter |
Cadastro de Funcionário (GPEA010) | UserIntegration, UserShiftWork, UserLocation, UserRoleBadge, UserCostCente, UserAllocationUnit, UserAbsenceReason, RemoveUserAbsenceReason, NaturalPerson |
Cadastro de Funções (GPEA030) | PositionLevel |
Cadastro de Turno de Trabalho (GPEA080) | ShiftWork |
Cadastro de Transferência de Funcionário (GPEA180) | UserIntegration, NaturalPerson |
Cadastro de Afastamentos (GPEA240) | AbsenceReason |
Cadastro de Autônomos (GPEA265) | UserIntegration, UserShiftWork, UserLocation, UserRoleBadge, UserCostCente, UserAllocationUnit, UserAbsenceReason, RemoveUserAbsenceReason, NaturalPerson |
Cadastro de Sindicato (GPEA340) | LegalPerson |
Cadastro de Férias (GPEM030) | AbsenceReason |
Cadastro de Rescisão (GPEM040) | UserIntegration, UserShiftWork, UserLocation, UserRoleBadge, UserCostCente, UserAllocationUnit, UserAbsenceReason |
Férias Coletivas/Programadas (GPEM060) | AbsenceReason |
Cadastro de Feriado (PONA020) | DayNotWorked |
Manutenção da Tabela de Horário Padrão (PONA080) | ShiftWork,Scale |
Cadastro de Exceções por Período (PONA090) | DayNotWorked,Exception |
Cadastro de Exceções por Funcionário (PONA140) | Exception |
Troca de Turno (PONA160) | UserIntegration, UserShiftWork |
Integração TSA (PONM430) | Todos |
Cadastro de Funcionários (TRMA100) | UserIntegration, UserShiftWork, UserLocation, UserRoleBadge, UserCostCente, UserAllocationUnit, UserAbsenceReason, RemoveUserAbsenceReason,NaturalPerson |
Cadastro de Funções (TRMA210) | PositionLevel |
10. MONTAGEM DO CONTEÚDO DO XML
Neste tópico iremos abordar como é feita a montagem do conteúdo do XML, na qual será enviado para o Web Service. Lembrando que caso haja a necessidade de pegar o XML completo, com as informações do Cabeçalho e etc, será necessário ativar o parâmetro MV_TSATLOG com o valor 5 e verificar o arquivo gerado na pasta System, conforme descrito anteriormente no tópico de Parâmetros. Neste exemplo iremos realizar a integração do a partir da rotina de Carga Inicial (Integração TSA - PONM430), integrando o Centro de Custo.
- Ao acessar a rotina de integração, quando selecionamos apenas o Centro de Custo, podemos observar que o valor da opção é 06.
Image Added
- Sabendo disso, podemos localizar qual função que irá realizar essa integração, no caso é função ProcP08 no fonte da Carga Inicial (PONM430)
Image Added
- Verificando a função ProcP08, ela está chamando outra função, que neste caso é a WSRHCostCenter.
Image Added
- Vamos então procurar onde a função WSRHCostCenter está, descobrimos que ela está localizada no fonte PONXFUN1.
Image Added
Nela podemos verificar que ela faz a busca das informações dos Centro de Custos diretamente na tabela.
Image Added
Após realizar a consulta na tabela CTT, o sistema irá enviar essas informações para o método WSCostCenter.
Image Added
- O método WSCostCenter, está localizado no fonte PTSREPOBJ.
Image Added
Antes de enviar as informações para o Web Service, podemos verificar que o sistema está montando as informações do Centro de Custo, como a Descrição e a Chave Externa.
Image Added
Observação: O método do Web Service chamado, foi o insertOrUpdate.
- O método insertOrUpdate localizado no Web Service WebWSClient_WSRHTSACostCenter, está realizando a integração com o Suricato.
Image Added
- Antes de enviar as informações da integração, conseguiremos verificar o conteúdo do XML, no caso as informações do Centro de Custo, verificando o conteúdo do objeto oWSarg0.
Image Added
Após todo esse processo, conseguimos verificar de fato quais informações estão sendo integradas com o Suricato. Este mesmo processo pode ser realizado com as demais integrações, como por exemplo as integração de Funcionários, Funções, Turnos e etc. Para isso só será necessário identificar qual é a opção selecionada e posteriormente a função desta opção. Em outros casos, como por exemplo, a integração de funcionário realizadas após a inclusão ou alteração do mesmo, precisaremos localizar no fonte de Cadastro de Funcionário, qual função ou método está sendo chamado para a integração. Por exemplo, no cadastro de funcionário os métodos WSNatural e WSUser estão sendo chamados.
Image Added
11. OCORRÊNCIAS NA INTEGRAÇÃO
Com a utilização do parâmetro MV_TSATLOG, na qual o parâmetro permite que todas as rotinas de integração gerem um log de retorno com as críticas realizadas pelas regras do aplicativo, é possível saber exatamente qual foi o erro gerado durante o processo de integração. No exemplo que iremos mostrar utilizamos o parâmetro com o valor igual a 5, desta maneira iremos ter o XML enviado e o XML de retorno com o código do erro ou sucesso.
- Confirmado que o parâmetro está com o valor 5.
Image Added
- Após a inclusão do funcionário no Protheus, iremos visualizar o código de retorno informado no log gerado. Para isso basta acessar a pasta System do Protheus e procurar pelo arquivo. O nome do arquivo é composto por um número sequencial, seguido de _RCV.xml para o XML de retorno e _SND.xml para o XML enviado. Em nosso exemplo o nome do arquivo de retorno gerado é 55847972_rcv.xml. Ao abrir o arquivo de retorno devemos procurar pela Tag statusCode, ela que conterá o código do retorno, que poderá ser de sucesso ou erro na integração. No nosso teste o código gerado foi o 00100, isso significa que a integração funcionou corretamente.
Image Added
Cada Web Service possui códigos e descrições diferentes, por isso para facilitar no entendimento dos códigos de retorno, segue abaixo a tabela de códigos de cada Web Service:
Totvs custom tabs box |
---|
tabs | Empresa,Unidade,Centro de Custo,Unidade de Lotação,Turno,Tabela de Horário Padrão,Funcionários,Localidade,Função,Afastamento,Exceção,Feriados,Usuários,Marcações |
---|
ids | cdempresa,cdunidade,cdcentrocusto,cdunidadelotacao,cdturno,cdtabelapadrao,cdfuncionario,cdlocalidade,cdfuncao,cdafastamento,cdexcecao,cdferiados,cdusuario,cdmarcacoes |
---|
|
Totvs custom tabs box items |
---|
default | yes |
---|
referencia | cdempresa |
---|
| Empresa Código do Retorno | Descrição do código de retorno |
---|
00101 | Inclusão/Alteração da Empresa Jurídica realizada com sucesso. | 00102 | Chave externa da Empresa Jurídica é obrigatória. | 00103 | Deve ser informado pelo menos o CNPJ ou CEI. | 00104 | Exclusão da unidade realizada com sucesso. | 00105 | Deve ser informado apenas um dos campos: CNPJ ou CEI. | 00106 | Nome da pessoa jurídica é obrigatória. | 00107 | Pessoa jurídica está sendo usada, não é possível realizar a exclusão. | 00100 | Erro Técnico (retornar erros ocorridos durante a execução). |
|
Totvs custom tabs box items |
---|
default | no |
---|
referencia | cdunidade |
---|
| Unidade Código do Retorno | Descrição do código de retorno | 00201 | Inclusão/Alteração da unidade realizada com sucesso. | 00202 | Chave externa da Unidade é obrigatória. | 00203 | Chave externa de Pessoa Jurídica é obrigatória. | 00204 | Código da unidade é obrigatório. | 00205 | Tipo da unidade é obrigatório. | 00206 | Exclusão da unidade realizada com sucesso. | 00207 | Inclusão de relacionamento realizada com sucesso. | 00208 | Exclusão de relacionamento realizada com sucesso. | 00209 | Inclusão de relacionamento realizada parcialmente. | 00210 | Unidade está sendo usada, não é possível realizar a exclusão. | 00211 | Inclusão de relacionamento não realizada, nenhuma chave externa é existente. | 00212 | Exclusão de relacionamento não realizada, nenhuma chave externa é existente. | 00213 | Usuário ou senha são inválidos. | 00214 | Unidade está sendo usada, não é possível realizar a exclusão. | 00215 | Descrição da Unidade é Obrigatória. | 00216 | Nenhum registro encontrado com a chave externa. | 00200 | Erro Técnico (retornar erros ocorridos durante a execução). |
|
Totvs custom tabs box items |
---|
default | no |
---|
referencia | cdcentrocusto |
---|
| Centro de Custo Código do Retorno | Descrição do código de retorno | 00301 | Inclusão/Alteração do Centro de Custo realizada com sucesso. | 00302 | Chave externa do Centro de Custo é obrigatória. | 00303 | Exclusão da unidade realizada com sucesso. | 00304 | Usuário ou senha são inválidos. | 00305 | Descrição do Centro de Custo é obrigatória. | 00306 | Centro de Custo está sendo usado, não é possível realizar a exclusão. | 00300 | Erro Técnico (retornar erros ocorridos durante a execução). |
|
Totvs custom tabs box items |
---|
default | no |
---|
referencia | cdunidadelotacao |
---|
| Unidade de Lotação Código do Retorno | Descrição do código de retorno | 00401 | Inclusão/Alteração da Unidade de Lotação realizada com sucesso. | 00402 | Chave externa da Unidade de Lotação é obrigatória. | 00403 | Exclusão da Unidade de Lotação realizada com sucesso. | 00404 | Usuário ou senha são inválidos. | 00405 | Descrição da Unidade de Lotação é obrigatória. | 00406 | Unidade de Lotação está sendo usada, não é possível realizar a exclusão. | 00400 | Erro Técnico (retornar erros ocorridos durante a execução). |
|
Totvs custom tabs box items |
---|
default | no |
---|
referencia | cdturno |
---|
| Turno Código do Retorno | Descrição do código de retorno | 00501 | Inclusão/Alteração do Turno realizada com sucesso. | 00502 | Chave externa do Turno é obrigatória. | 00503 | Data de início é obrigatória. | 00504 | Data de início deve ser uma data válida. | 00505 | Exclusão do Turno realizada com sucesso. | 00506 | Pelo menos uma escala deve estar informada e deve conter pelo menos um intervalo de horário do tipo Jornada. | 00507 | Descrição é obrigatória. | 00509 | Turno está sendo usado, não é possível realizar a exclusão. | 00500 | Erro Técnico (retornar erros ocorridos durante a execução). |
|
Totvs custom tabs box items |
---|
default | no |
---|
referencia | cdtabelapadrao |
---|
| Tabela de Horário Padrão Código do Retorno | Descrição do código de retorno | 00601 | Inclusão/Alteração da Grade de Trabalho realizada com sucesso. | 00602 | Chave externa da Grade de trabalho é obrigatória. | 00603 | A chave externa do turno é obrigatória. | 00604 | A escala deve conter pelo menos um par de horários do tipo Jornada. | 00605 | Os pares de horários informados estão incorretos. | 00606 | A sequência de inicio é obrigatória. | 00607 | A sequência de término é obrigatória. | 00608 | O tipo é obrigatório. | 00609 | A entrada de jornada é obrigatória. | 00610 | A saída de jornada é obrigatória. | 00611 | A sequência de início não pode ser superior à sequência de término. | 00612 | Exclusão do Turno realizada com sucesso. | 00613 | Usuário ou senha são inválidos. | 00614 | Escala está sendo usada, não é possível realizar a exclusão. | 00600 | Erro Técnico (retornar erros ocorridos durante a execução). |
|
Totvs custom tabs box items |
---|
default | no |
---|
referencia | cdfuncionario |
---|
| Funcionários Código do Retorno | Descrição do código de retorno | 00701 | Inclusão/Alteração da Pessoa física realizada com sucesso. | 00702 | Chave externa da Pessoa Física é obrigatória. | 00703 | Pelo menos o CPF ou RG deve ser informado. | 00704 | Exclusão da pessoa física realizada com sucesso. | 00705 | Usuário ou senha são inválidos. | 00706 | Pessoa física está sendo usada, não é possível realizar a exclusão. | 00700 | Erro Técnico (retornar erros ocorridos durante a execução). |
|
Totvs custom tabs box items |
---|
default | no |
---|
referencia | cdlocalidade |
---|
| Localidade Código do Retorno | Descrição do código de retorno | 00801 | Inclusão/Alteração da Localidade realizada com sucesso. | 00802 | Chave externa da Localidade é obrigatória. | 00803 | Exclusão da localidade realizada com sucesso. | 00804 | Usuário ou senha são inválidos. | 00805 | Pelo menos País, Estado ou Cidade deve ser informada. | 00806 | Descrição de País deve ser informada. | 00807 | Descrição de Estado deve ser informada. | 00808 | Descrição de Cidade deve ser informada. | 00809 | Localidade está sendo usada, não é possível realizar a exclusão. | 00800 | Erro Técnico (retornar erros ocorridos durante a execução). |
|
Totvs custom tabs box items |
---|
default | no |
---|
referencia | cdfuncao |
---|
| Funções Código do Retorno | Descrição do código de retorno | 00901 | Inclusão/Alteração do cargoNivel realizada com sucesso. | 00902 | Chave externa do cargoNivel é obrigatória. | 00903 | Descrição é obrigatória. | 00904 | Exclusão do cargoNivel realizada com sucesso. | 00905 | Usuário ou senha são inválidos. | 00906 | CargoNivel está sendo usado, não é possível realizar a exclusão. | 00900 | Erro Técnico (retornar erros ocorridos durante a execução). |
|
Totvs custom tabs box items |
---|
default | no |
---|
referencia | cdafastamento |
---|
| Afastamento Código do Retorno | Descrição do código de retorno | 01001 | Inclusão/Alteração da situação de afastamento realizada com sucesso. | 01002 | Chave externa da situação de afastamento é obrigatória. | 01003 | Tipo da situação de afastamento é obrigatório. | 01004 | Exclusão da situação de afastamento realizada com sucesso. | 01005 | Data início e Data término são obrigatórias. | 01006 | Exclusão do relacionamento realizado com sucesso. | 01007 | Usuário ou senha estão inválidos. | 01008 | Descrição da situação de afastamento é obrigatória. | 01009 | Situação de Afastamento está sendo usada, não é possível realizar a exclusão. | 01010 | Inclusão do relacionamento realizado com sucesso. | 01000 | Erro Técnico (retornar erros ocorridos durante a execução). |
|
Totvs custom tabs box items |
---|
default | no |
---|
referencia | cdexcecao |
---|
| Exceção Código do Retorno | Descrição do código de retorno | 01101 | Inclusão/Alteração da exceção realizada com sucesso. | 01102 | Chave externa da exceção é obrigatória. | 01103 | Tipo da exceção é obrigatório. | 01104 | Origem é obrigatório. | 01105 | Data início é obrigatória. | 01106 | Data Término é obrigatória. | 01112 | Exclusão da exceção realizada com sucesso. | 01113 | Pelo menos um período deve ser informado. | 01114 | Usuário ou senha inválidos. | 01115 | Os pares de horários informados estão incorretos. | 01106 | Direção é obrigatória. | 01100 | Erro Técnico (retornar erros ocorridos durante a execução). |
|
Totvs custom tabs box items |
---|
default | no |
---|
referencia | cdferiados |
---|
| Feriados Código do Retorno | Descrição do código de retorno | 01201 | Inclusão/Alteração do dia não trabalhado realizado com sucesso. | 01202 | Chave externa do dia não trabalhado é obrigatória. | 01203 | Recorrente é obrigatório. | 01204 | Data é obrigatória. | 01205 | Exclusão do dia não trabalhado realizada com sucesso. | 01206 | O turno deve ser informado. | 01207 | A localidade deve ser informada. | 01208 | Usuário ou senha Inválidos. | 01209 | Dia não Trabalhado está sendo usado, não é possível realizar a exclusão. | 01200 | Erro Técnico (retornar erros ocorridos durante a execução). | 01210 | Inclusão do relacionamento Dia Não Trabalhado/Localidade/Turno realizado com sucesso. | 01211 | Exclusão do relacionamento Dia Não Trabalhado/Localidade/Turno realizado com sucesso |
|
|
Informações |
---|
title | Log XML - MV_TSATLOG = 5 |
---|
|
A opção 5 gera o xml de envio e retorno na pasta system,essa opção é útil para analisar erros porém consome muito espaço em disco, por isso é importante ativá-lo para realizar o teste necessário e logo depois desativá-lo. Nome dos arquivos : "Numero Sequencial"_SND.XML → XML enviado ao Suricato "Numero Sequencial"_RCV.XML → XML recebido do suricato como retorno do XML SND |
03. CADASTRO DO RELÓGIO
Para efetuar a leitura de marcações a partir do Suricato, deve-se alterar o cadastro do relógio e informar o conteúdo “R” no campo Tipo Arquivo (P0_TIPOARQ). Ao iniciar o processo de leitura de marcações, a rotina irá buscar os registros da tabela MSA_CONTROL_MARCAC de determinada data de/até que contém o campo LOG_IMPORT_PRODUT = 0.
Atenção: a leitura de marcações somente irá funcionar se a tabela MSA_CONTROL_MARCAC estiver cadastrada no mesmo banco de dados do Protheus.
Observação: quando o Suricato coleta as marcações do relógio REP e grava os registros na tabela MSA_CONTROL_MARCAC, o número do REP gravado no campo COD_REP não possui os “0” (zeros) a esquerda. Por exemplo, caso o número do REP seja “00005001030033938”, o Suricato irá gravar no campo COD_REP somente “5001030033938”; dessa forma, é necessário alterar o conteúdo do campo P0_REP do Cadastro de Relógio para “5001030033938” também. Se esse processo não for efetuado, o processo de leitura não conseguirá buscar os registros de marcação da tabela MSA_CONTROL_MARCAC.
Exemplo de configuração dos campos no Cadastro de Relógios para integração de marcações no Suricato:
Image Removed
04. INTEGRAÇÕES REALIZADAS ENTRE OS PRODUTOS
Totvs custom tabs box |
---|
tabs | Empresa,Funcionário,Função,Turno,Feriádos,Sindicatos,Exceções,Afastamentos,Centro de Custo,Transferências,Cálculo de Férias,Cálculo de Rescisão,Regra de Apontamento,Leitura de Marcações,Fechamento do Ponto |
---|
ids | empresa,funcionario,funcao,turno,feriados,sindicatos,excecoes,afastamentos,centrosdecustos,transferencias,ferias,rescisao,regradeapontamento,leiturademarcacoes,fechamentodoponto |
---|
|
Totvs custom tabs box items |
---|
default | yes |
---|
referencia | empresa |
---|
| Cadastro de Novas Empresas/Filiais Ao incluir uma empresa/filial no Cadastro de Empresa, deve-se executar novamente o processo de Carga Inicial de Empresa, Unidade e Lotação para atualização da informação da empresa/filial no Suricato. |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | funcionario |
---|
| Cadastro de Funcionário Efetue a admissão de um funcionário no Cadastro do Funcionários e verifique se o Cadastro do Usuário no Suricato foi atualizado. Realize a alteração no Cadastro do Funcionários e verifique se o Cadastro do Usuário no Suricato foi atualizado. Por meio do parâmetro MV_TSAIURB, é possível definir se será enviado o crachá do funcionário do Protheus para o Cadastro de Usuário do Suricato. |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | funcao |
---|
| Cadastro de Cargo/Função Inclua uma função no Cadastro de Funções e verifique se o cadastro de Cargo no Suricato foi atualizado. Exclua a função e verifique se o cadastro de Cargo no Suricato foi atualizado. Realize a troca da função no Cadastro do Funcionário e verifique se o cadastro do Usuário no Suricato foi atualizado. O Suricato irá manter histórico do Cargo anterior e do atual. |
Totvs custom tabs box items |
---|
|
|
Cadastro Turno de Trabalho
Realize troca de turno de trabalho do Funcionário e verifique se o cadastro do Usuário no Suricato foi atualizado. O Suricato irá manter histórico do turno anterior e do atual. Ao incluir um turno de trabalho no Cadastro de Turnos de Trabalho, não haverá integração do turno com o Suricato pois é necessário o preenchimento da tabela de horário padrão.
Totvs custom tabs box items |
---|
default | no |
---|
referencia | feriados |
---|
|
Cadastro de Feriados Inclua um feriado no Cadastro de Feriados e verifique se o cadastro de Dia Não Trabalhado no Suricato foi atualizado. Exclua o feriado e verificar se o cadastro de Dia Não Trabalhado no Suricato foi atualizado. |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | sindicatos |
---|
|
Cadastro de Sindicato Inclua um sindicato no Cadastro de Sindicatos e verificar se o cadastro de Pessoa Jurídica no Suricato foi atualizado. Exclua o sindicato e verifique se o cadastro de Pessoa Jurídica no Suricato foi atualizado. |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | excecoes |
---|
|
Cadastro de Exceções Inclua uma exceção por funcionário/período e verifique se o cadastro de Exceção no Suricato foi atualizado. Exclua a exceção cadastrada e verifique se o cadastro de Exceção no Suricato foi atualizado. |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | afastamentos |
---|
|
Cadastro de Afastamentos Inclua um afastamento para o Funcionário e verifique se o cadastro do Usuário no Suricato foi atualizado. Exclua o afastamento e verifique se o cadastro do Usuário no Suricato foi atualizado. |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | centrosdecustos |
---|
|
Cadastro de Centros de Custo Inclua um centro de custo no Cadastro de Centros de Custo e verifique se o cadastro de Centro de Custo no Suricato foi atualizado. Exclua o centro de custo e verifique se o cadastro de Centro de Custo no Suricato foi atualizado. |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | transferencias |
---|
|
Cadastro de Transferências Realize transferência de Centro de Custo e verificar se o cadastro do Usuário no Suricato foi atualizado. O Suricato irá manter histórico do centro de custo anterior e do atual. Realize transferência de Filial/Empresa e verifique se o cadastro do Usuário no Suricato foi atualizado. O TSA irá manter 2 registros do Usuário (devido mudança na chave externa). Observe que o registro anterior terá data de demissão com 1 dia anterior ao da transferência e o registro atual manterá o crachá do usuário. |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | ferias |
---|
|
Cálculo de Férias Realize o cálculo de férias para um funcionário e verifique se o cadastro do Usuário no Suricato foi atualizado com a informação do afastamento. Exclua o cálculo de férias e verifique se o cadastro do Usuário no Suricato foi atualizado. |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | rescisao |
---|
|
Cálculo de Rescisão Realize o cálculo de rescisão para um funcionário e verifique se o cadastro do Usuário no Suricato foi atualizado com a informação do desligamento. Observe que serão gerados dois registros do crachá, um com a data final até às 23:59 do dia da demissão. Exclua o cálculo de rescisão e verifique se o cadastro do Usuário no Suricato foi atualizado. Observe que será incluído um novo histórico do crachá sem data final. |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | regradeapontamento |
---|
|
Cadastro de Regra de Apontamento Altere o intervalo móvel de uma regra na rotina de Cadastro de Regras de Apontamento e verifique se o campo Intervalo Flexível do cadastro do Usuário no Suricato foi atualizado |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | leiturademarcacoes |
---|
|
Cadastro de Relógios e Leitura de Marcações Para efetuar a leitura de marcações a partir do Suricato, deve-se alterar o cadastro do relógio e informar o conteúdo R no campo Tipo Arquivo (P0_TIPOARQ). Ao iniciar o processo de leitura de marcações, a rotina irá buscar os registros da tabela MSA_CONTROL_MARCAC de determinada data de/até que contém o campo LOG_IMPORT_PRODUT = 0. Atenção: A leitura de marcações somente irá funcionar se a tabela MSA_CONTROL_MARCAC estiver cadastrada no mesmo banco de dados do Protheus. Observação: Quando o Suricato coleta as marcações do relógio REP e grava os registros na tabela MSA_CONTROL_MARCAC, o número do REP gravado no campo COD_REP não possui os “0” (zeros) à esquerda. Por exemplo, caso o número do REP seja 00005001030033938, o Suricato irá gravar no campo COD_REP somente 5001030033938; desta forma é necessário alterar o conteúdo do campo P0_REP do Cadastro de Relógio para 5001030033938 também. E quando o relógio for REP, é obrigatório que o campo P0_NOVO do Cadastro de Relógio esteja cadastrado com conteúdo 1 = Sim. Se este processo não for efetuado, o processo de leitura não conseguirá buscar os registros de marcação da tabela MSA_CONTROL_MARCAC. Observação: O Suricato não grava o horário da marcação em horas e minutos no campo NUM_HORAR_MARCAC_ACES da tabela MSA_CONTROL_MARCAC. É necessário converter o conteúdo para horas e minutos efetuando a seguinte conta: NUM_HORAR_MARCAC_ACES / 3600 (para encontrar as horas); Resto da divisão X 60 (para encontrar os minutos); Resto da divisão X 60 (para encontar os segundos). Exemplo: NUM_HORAR_MARCAC_ACES = 59730: 59730 / 3600 = 16,59166666666667; 0,59166666666667 X 60 = 35,5; 0,5 X 60 = 30. Resultado: 16:35:30. |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | fechamentodoponto |
---|
|
Fechamento do Ponto Realize o fechamento do ponto. Caso haja alteração na sequencia inicial do turno de trabalho, haverá atualização do cadastro de Usuário no Suricato. Este processo somente será executado caso a nova sequencia inicial do turno seja diferente da anterior. |
05. PRINCIPAIS FONTES
...
| Usuários Código do Retorno | Descrição do código de retorno | 01301 | Inclusão/Alteração do usuário realizado com sucesso. | 01302 | Chave externa do usuário não foi informada. | 01303 | Chave externa de pessoa física não foi informada. | 01304 | O tipo papel não foi informado. | 01305 | Data início de validade do turno deve ser informada. | 01306 | Data término de validade do turno deve ser informada. | 01307 | Data início de validade do Centro de custo deve ser informada. | 01308 | Data término de validade do Centro de Custo deve ser informada. | 01309 | Data início de validade do CargoNivel deve ser informada. | 01310 | Data término de validade do CargoNivel deve ser informada. | 01311 | Data início de validade da Unidade de Lotação deve ser informada. | 01312 | Data término de validade da Unidade de Lotação deve ser informada. | 01313 | Data início de validade da Localidade deve ser informada. | 01314 | Data término de validade da Localidade deve ser informada. | 01315 | Chave externa de pessoa Física não existe. | 01316 | Chave externa de turno não existe. | 01317 | Chave externa de centro de custo não existe. | 01318 | Chave externa de CargoNivel não existe. | 01319 | Chave externa de unidade de lotação não existe. | 01320 | Chave externa de localidade não existe. | 01321 | Chave externa de usuário não existe. | 01322 | Relacionamento incluído/alterado com sucesso. | 01323 | Usuário ou senha Inválidos. | 01324 | Usuário está sendo usado, não é possível realizar a exclusão. | 01325 | Exclusão do usuário realizada com sucesso. | 01326 | Exclusão do relacionamento de usuário com nome do relacionamento, realizada com sucesso. | 01327 | Exclusão do relacionamento de usuário com nome do relacionamento, não realizada. | 01301 | Inclusão/Alteração do usuário realizado com sucesso. | 01302 | Chave externa do usuário não foi informada. | 01303 | Chave externa de pessoa física não foi informada. | 01300 | Erro Técnico (retornar erros ocorridos durante a execução) |
|
|
...
|
tabs | Integração Tsa |
---|
ids | integracaotsa |
---|
|
A rotina de Integração TSA, geralmente é utilizada para a realização da carga inicial da integração. Ao executar a rotina, ela irá processar todos os métodos que enviam informações para o TSA/Suricato, que são:
Integração | Web Services |
---|
Empresa, Unidade e Lotação | Cargos e Funções | Sindicatos | Turnos de Trabalho e Escala | Controle de Ausências | Centros de Custo | Situação de Afastamento | Funcionários | Cadastro de Afastamento | Exceções | Ferias Afastamentos-items |
---|
default | no |
---|
referencia | cdmarcacoes |
---|
| Marcações Código do Retorno | Descrição do código de retorno | 01401 | Importação da batida realizada no REP: número do rep e NSR: número do nsr foi importada com sucesso. | 01402 | Importação da batida realizada no REP: número do rep e NSR: número do nsr não foi importada. | 01400 | Erro Técnico (retornar erros ocorridos durante a execução) |
|
|
12. LINKS
Integração Suricato
Instalação Suricato (SQL)
Instalação Suricato (Oracle)
Documentação Schedule
HTML |
---|
<!-- esconder o menu -->
<style>
div.theme-default .ia-splitter #main {
margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
display: none;
}
#main {
padding-left: 10px;
padding-right: 10px;
overflow-x: hidden;
}
.aui-header-primary .aui-nav, .aui-page-panel {
margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
margin-left: 0px !important;
}
</style>
|