Árvore de páginas

Versões comparadas

Chave

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

...

  1. Visão geral
  2. Configurações e premissas
    1. Atualização do ambiente Protheus
    2. Definição de usuário e perfil no LegalDeskLegal Desk
    3. Configuração dos parâmetros
  3. Ativação do serviços de sincronização online
  4. Exemplo de utilização
    1. Exclusão
    2. Bloqueio
  5. Exceções e arquivos de Log
  6. Assuntos relacionados

...

Esta integração tem por objetivo realizar a sincronização imediata (online) com o LegalDesk Legal Desk nas exclusões ou atualizações de registros realizadas no módulo Pré-faturamento de Serviços (SIGAPFS).

...

Após atualização do dicionário será criado criada a tabela OI9 (URL's integração LD).

Criar uma nova opção no menu em Miscelânea > Configurações > URLs Integração LD, indicando a rotina JURA315, para realizar as configurações de URL's da integração.


Definição de usuário e perfil no LegalDesk:

...

    • OI9_MODELO: Nome da rotina que terá a sincronização on-line
    • OI9_EXCLUSAO: Caminho da URL para a exclusão online (Disponível disponível apenas para as rotinas Cliente e Caso).
      • O trecho '#CODLD#
      , internamente
      • ' deve ficar exatamente no ponto em que deve estar o código do registro no Legaldesk, já que durante o processamento esse texto será substituído pelo
      chave única
      • código do registro
      no Legal Desk.
      • que está sendo excluído.
      • O texto GERALADV indicado no exemplo abaixo é o perfil utilizado pelo usuário de integração. Caso esteja utilizando outro perfil, basta substituir esse trecho pelo nome do perfil. 
    • OI9_STATUS: Caminho da URL para a sincronização online de bloqueio de participante (Disponível disponível apenas para a rotina de Participante).

OI9_MODELO

OI9_EXCLUSAO

OI9_STATUS

JURA148

http://meulegaldesk/API/v1/ODataGERALADV/ClienteViews('#CODLD#')


JURA070

http://meulegaldesk/API/v1/ODataGERALADV/CasoSyncViews('#CODLD#')


JURA159


http://meulegaldesk/api/API/v1/UpdateByCodigo/CasoProfissional



Aviso

No campo OI9_EXCLUSAO utilizar sempre apóstrofo (') entre a string CODLD. Conforme exemplo acima.


As informações na tabela poderão ser serem incluídas via Protheus acessando o caminho: SIGAPFS (módulo 77) → Miscelanea → Configurações → URLs Integração LD.

...

PARÂMETRO

DESCRIÇÃO

EXEMPLO

MV_JLDURL

Url do LegalDesk

http://meulegaldesk/

MV_JLDUSR

Usuário do LegalDesk para execução do serviço

LDESK

MV_JLDPWD

Senha do usuário do LegalDesk para execução do serviço

LDESK@123

...

Informações
titleIMPORTANTE - Carga inicial

Para os registros antigos, será necessário realizar a carga inicial para preenchimento do CODLD manualmente através de script. Essa carga não será incluída na fila de sincronização.

04. EXEMPLO DE UTILIZAÇÃO

Exclusão:

No módulo SIGAPFS, ao acessar alguma das rotinas indicadas no item 01 deste documento, selecione a opção "Excluir" e confirme a exclusão do registro. A sincronização será acionada imediatamente e, desta forma, o registro será excluído também no LegalDesk.


Bloqueio:

No módulo SIGAPFS, ao acessar alguma das rotinas indicadas no item 01 deste documento, selecione a opção "Alterar", trocar o status do registro e confirmar. A sincronização será acionada imediatamente e, desta forma, o registro será bloqueado/desbloqueado também no LegalDesk.


05. EXCEÇÕES E ARQUIVO DE LOG

Caso ocorra alguma das situações citadas abaixo durante a operação, será apresentada mensagem de aviso e o processo será interrompido, não efetivando a exclusão/alteração do registro no SIGAPFS e SIGAPFS e no LegalDesk:

  • URL informada no parâmetro MV_JLDURL incorreta e não é possível realizar a conexão;
  • APIs URLs informadas nos campos OI9_EXCLUSÃO ou OI9_STATUS estiverem incorretas e não for possível realizar a conexão;
  • Usuário e/ou senha indicados nos parâmetros MV_JLDUSR e MV_JLDPWD (respectivamente) incorretos;
  • Alguma regra de integridade/validação durante a exclusão/alteração do registro no LegalDesk não está sendo atendida;

...

Quando ocorrerem as situações citadas abaixo, o registro não será excluído/alterado no LegalDesk, mas será excluído/alterado normalmente no SIGAPFS. Será criado então um registro na fila de sincronização para realizar a exclusão/alteração do registro no LegalDesk.

  • Exclusão de registros com o campo "Código LegalDesk" (Cód Lanc LD) vazio;
  • Parâmetros MV_JLDURL, MV_JLDUSR, MV_JLDPWD e tabela OI9 inexistentes ou com conteúdo vazio.

...

Expandir
title**Configuração do arquivo de log
Informações
iconfalse

Nome do arquivo:

  • Rotina_Data_Hora_CódigoLegalDesk

Informações do arquivo:

  • Operação realizada.
    • Será indicado DELETE para exclusões.
    • Será indicado STATUS para bloqueio/desbloqueio.
  • Participante que realizou a operação, com o código, a sigla e o nome do participante.
  • Data e hora de envio.
  • Erro.


Exemplo:

Nome do arquivoConteúdo do arquivo
JURA070_20230517_180212_64511786-7662-0016-ec6c-104ff6151ad2.txtOperação: DELETE
Participante: 000002 - ADM - PART ADMIN
Data e hora de envio: 17/05/2023 - 18:02:12
Erro: 404 NotFound
JURA148_20230517_180212_64511786-7662-0016-ec6c-104ff6151ad2.txtOperação: DELETE
Participante: 000002 - ADM - PART ADMIN
Data e hora de envio: 17/05/2023 - 18:02:12
Erro: 404 NotFound
JURA159_20231109_154513_.txtOperação: STATUS
Participante: 000002 - ADM - PART ADMIN
Data e hora de envio: 09/11/2023 - 15:45:13
Erro: 500 InternalServerError
Complemento do erro: {
  "result": {
    "error": true,
    "type": "general",
    "message": "Numero de entidades atualizadas '0' não corresponde ao esperado '1'",
    "stackTrace": "RequestUri: /api/v1/UpdateByCodigo/Profissional\r\nStackTrace: System.InvalidOperationException: Numero de entidades atualizadas '0' não corresponde ao esperado '1'\r\n   at Juritis.LegalDesk.WebApi.Controllers.UpdateByCodigoController.UpdateByCodigo(String entity, Parameters data)\r\n   at lambda_method(Closure , Object , Object[] )\r\n   at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass6_2.<GetExecutor>b__2(Object instance, Object[] methodParameters)\r\n   at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__1.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__6.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__6.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Filters.ActionFilterAttribute.<ExecuteActionFilterAsyncCore>d__5.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__5.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Controllers.ExceptionFilterResult.<ExecuteAsync>d__6.MoveNext()"
  }
}

IMPORTANTE: Esses arquivos ficarão no diretório JURLOGSYNCONLINE na pasta ProtheusData. Essa pasta será criada automaticamente na primeira ocorrência.

...