Versões comparadas

Chave

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

Índice:


       

Índice
exclude.*ndice:

Objetivo

Explicar como uma action deve ser configurada para que a Desconexão Automática ou o Bloqueio Automático sejam ignoradas.

Obs.: Configurações validas somente para o uso do sistema através da MDI.

Requisitos


Apresentar como utilizar o serviço RestProcess.

Requisitos


Nota
titleVersão

 Disponível à partir da versão 12.1.21 da linha RM.

Linha de Software
Versão
Data de Liberação
Observação
RM12.011.19 21 e/ou posterioresJaneiroJunho/2018Para os requisitos de software deve-se consultar a Portabilidade RM
Informações
iconfalse
Expandir
title
Desconexão automática configurada

É necessário que a Desconexão Automática (Tempo para desconexão automática (min)) ou o Bloqueio Automático (Tempo para (min) p/ lock (necessário logoff)) estejam configurados.

Para mais informações favor acessar o documento : Bloqueio do Sistema X Desconexão Automática

Como Configurar a Action

Informações
iconfalse

No exemplo iremos utilizar a action de Coligada.

No construtor da action é necessário assinar o evento BeforeSystemLock.

Image Removed

Após assinar o evento basta implementá-lo.

Image Removed

Informações
titleBoas Práticas

É necessário remover o evento no Dispose da action, para evitar vazamento de memória.

Image Removed

Informações
titleChamada da Action

A funcionalidade somente irá executar se a action for executada pelo método ExecuteAction da classe RMSMDIUtils:

Image Removed

Alias Default
Acesse a máquina ou servidor que está executando o serviço. 
Vá ao diretório C:\totvs\CorporeRM\RM.Net e edite o arquivo RM.Host.Service.exe.config.
Inclua a tag <add key="DefaultDB" value="CorporeRM" /> dentro da limitação appSettings.
O valor a ser atribuído a tag DefaultDB deve ser idêntico ao nome do alias que aponta para a base de dados utilizada. No exemplo que citamos atribuímos o valor "CorporeRM" ao alias e respectivamente ao DefaultDB.

Bloco de código
languagexml
titleRM.Host.Service.exe.Config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
	<appSettings>
		<add key="JobServer3Camadas" value="false" />
		<add key="Port" value="8050" />
		<add key="ServicesHostName" value="BHD0002773" />
		<add key="ActionsPath" value="C:\totvs\CorporeRM\RM.Net;C:\totvs\CorporeRM\Corpore.Net\Bin" />
		<add key="LibPath" value="C:\totvs\CorporeRM\RM.Net" />
		<add key="EnableDynamicLocalization" value="false" />
		<add key="EnableCompression" value="false" />
		<add key="LocalizationLanguage" value="pt-BR" />
        <add key="DefaultDB" value="CorporeRM" />
	</appSettings>
	<runtime>
		<gcServer enabled="true" />
	</runtime>
</configuration>
Informações
titleAtenção

Para que estas configurações entrem em vigor será necessário reiniciar o serviço do Host.

Métodos disponibilizados pelo serviço:


MétodoURLNomeDescrição
GETrest/restprocess/getschema/{processServerName}GetSchemaFaz a leitura do Processo informado.
GETrest/restprocess/getprocessstatus/{jobId}/{execId}GetProcessStatusMonitora o progresso da execução de um processo.
POSTrest/restprocess/executeprocess/{processServerName}ExecuteProcessExecuta o processo informado
POSTrest/restprocess/executeprocessasync/{processServerName}ExecuteProcessAsyncExecuta o processo informado de forma assíncrona.

Exemplos de Utilização:


Informações
iconfalse
Expandir
titleRestProcess»localhost:8051»GetSchema

Exemplo de Uso

Url: http://localhost:8051/rest/restprocess/getschema/GlbCopyPermisUsrProc

Resultado Esperado

Bloco de código
languagejs
{
  "SourceUsuario": null,
  "RemoveOldPermissions": false,
  "CopyToAllApplications": false,
  "CodSistema": null,
  "NewUser": {
    "Usuario": null,
    "Nome": null,
    "Senha": null,
    "Email": null,
    "codAcesso": null
  },
  "PrimaryKeyList": [
    [
      "//O valor apresentado abaixo deve ser do tipo System.Int32.",
      0
    ],
    [
      "//O valor apresentado abaixo deve ser do tipo System.Double.",
      0.0
    ],
    [
      "//O valor apresentado abaixo deve ser do tipo System.String.",
      "TEXTO"
    ],
    [
      "//O valor apresentado abaixo deve ser do tipo System.DateTime.",
      "2018-06-29T00:00:00-03:00"
    ]
  ],
  "PrimaryKeyNames": [
    "COLUNAPK"
  ],
  "Context": {
    "$id": "1",
    "_params": {
      "$EXERCICIOFISCAL": 2,
      "$CODLOCPRT": 12,
      "$CODTIPOCURSO": 1,
      "$EDUTIPOUSR": "",
      "$CODUNIDADEBIB": 1,
      "$CODCOLIGADA": 1,
      "$RHTIPOUSR": "-1",
      "$CODIGOEXTERNO": "-1",
      "$CODSISTEMA": "G",
      "$CODUSUARIOSERVICO": "",
      "$IDPRJ": -1,
      "$CHAPAFUNCIONARIO": "-1",
      "$CODFILIAL": 1
    },
    "Environment": 4
  }
}

Exemplo prático no postman

Image Added
Informações
iconfalse
Expandir
titleRestProcess»localhost:8051»ExecuteProcess

Exemplo de Uso

Url: http://localhost:8051/rest/restprocess/executeprocess/GlbCopyPermisUsrProc

Body:

Bloco de código
languagejs
{
  "ActionModule": "G",
  "ActionName": "GlbActionProcCopyPermisUsr",
  "CodUsuario": "mestre",
  "SourceUsuario": "mestre",
  "RemoveOldPermissions": false,
  "CopyToAllApplications": false,
  "CodSistema": "G",
  "NewUser": {
    "Usuario": null,
    "Nome": null,
    "Senha": null,
    "Email": null,
    "codAcesso": null
  },
  "PrimaryKeyList": [
    [
      "rest"
    ]
  ],
  "PrimaryKeyNames": [
    "CODUSUARIO"
  ],
  "Context": {
    "$id": "1",
    "_params": {
      "$EXERCICIOFISCAL": 2,
      "$CODLOCPRT": 12,
      "$CODTIPOCURSO": 1,
      "$EDUTIPOUSR": "",
      "$CODUNIDADEBIB": 1,
      "$CODCOLIGADA": 1,
      "$RHTIPOUSR": "-1",
      "$CODIGOEXTERNO": "-1",
      "$CODSISTEMA": "G",
      "$CODUSUARIOSERVICO": "",
      "$IDPRJ": -1,
      "$CHAPAFUNCIONARIO": "-1",
      "$CODFILIAL": 1
    },
    "Environment": 4
  }
}

Exemplo prático no Postman

Image Added

Informações
iconfalse
Expandir
titleRestProcess»localhost:8051»ExecuteProcessAsync

Exemplo de Uso

Url: http://localhost:8051/rest/restprocess/executeprocessasync/GlbCopyPermisUsrProc

Body:

Bloco de código
languagejs
{
  "ActionModule": "G",
  "ActionName": "GlbActionProcCopyPermisUsr",
  "CodUsuario": "mestre",
  "SourceUsuario": "mestre",
  "RemoveOldPermissions": false,
  "CopyToAllApplications": false,
  "CodSistema": "G",
  "NewUser": {
    "Usuario": null,
    "Nome": null,
    "Senha": null,
    "Email": null,
    "codAcesso": null
  },
  "PrimaryKeyList": [
    [
      "rest"
    ]
  ],
  "PrimaryKeyNames": [
    "CODUSUARIO"
  ],
  "Context": {
    "$id": "1",
    "_params": {
      "$EXERCICIOFISCAL": 2,
      "$CODLOCPRT": 12,
      "$CODTIPOCURSO": 1,
      "$EDUTIPOUSR": "",
      "$CODUNIDADEBIB": 1,
      "$CODCOLIGADA": 1,
      "$RHTIPOUSR": "-1",
      "$CODIGOEXTERNO": "-1",
      "$CODSISTEMA": "G",
      "$CODUSUARIOSERVICO": "",
      "$IDPRJ": -1,
      "$CHAPAFUNCIONARIO": "-1",
      "$CODFILIAL": 1
    },
    "Environment": 4
  }
}

Exemplo prático no Postman

Image Added

Informações
iconfalse
Expandir
titleRestProcess»localhost:8051»GetProcessStatus

Exemplo de Uso

Url: http://localhost:8051/rest/restprocess/getprocessstatus/103157/1

Bloco de código
languagejs
Resultado (Erro no Processo):
{
 "Message": "Ocorreram erros ao realizar a cópia de permissões entre usuários!\r\nFavor verificar o log de execução do processo.",
 "ProcessID": {
 "ExecID": 1,
 "JobID": 103157
 },
 "Progress": 100,
 "Status": "Error"
}


Exemplo prático postman:

Image Added

Exemplo prático no Postman

Image Added

Usabilidade:

Informações
iconfalse

Quando uma action que assinar o evento BeforeSystemLock estiver aberta a tela de desconexão de usuário não será exibida até que a action seja encerrada pelo usuário.

Informações
iconfalse
titlePara maiores informações:


Canais de Atendimento:

 

Chamado: Através do Portal Totvs www.suporte.totvs.com.br

Telefônico: 4003-0015 Escolhendo as opções 2 – (Software), 2 – (Suporte Técnico), 3 – (RM), 9 – (Demais Áreas), 4 – (BI) e 3 –  (Gerador de Relatórios e Planilha).

Informações
iconfalse
Informações
iconfalse

Produto: Framework

Informações
iconfalse

Versão: 12.01.191.21 (superiores)

Informações
iconfalse

Processo: Segurança Integração

Informações
iconfalse

SubProcesso: Desconexão Automática RestProcess

Informações
iconfalse
Informações
iconfalse

Status: Finalizado

Informações
iconfalse

Data: 04122017 

Informações
iconfalse

Autores:

Diogo Damiani Ferreira

Fábio Augusto Amaral Melo Nunes

Carlos Roberto Pereira Garcia

Stella Gleyse Macedo Vilaca

Carlos Philippe de Farias Marques