Árvore de páginas

Versões comparadas

Chave

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

...

Totvs custom tabs box
tabsTaskManager Configuração, TaskManager Instalação, TaskManager Exemplo, Financeiro Configuração, Financeiro Exemplo
idspasso1,passo2,passo3,passo4,passo5

Detalhes

Totvs custom tabs box items
defaultyes
referenciapasso1

Para realizar a configuração para uso do log Plugin, é necessário acessar o site Monitoramento e efetuar o login:

Na tela inicial, selecionar e clicar no botão 5000, referente a interface de configuração do log do TaskManager, conforme:

Acessar também o menu de configuração e verificar o nível de log:

O campo Ativo deve estar com o valor 1 (ligado) e campo LogLevel com valor diferente de 0:

Totvs custom tabs box items
defaultno
referenciapasso2

Após rodar o instalador da Fila, deve-se conferir o arquivo spf.exe.config:

Verificar se existe a chave "Integracao.ConnectionString" e caso não existir, criar manualmente conforme o exemplo:

Verificar a existência do arquivo "Plugin.Spf.LogIntegracao.dll", que é o próprio Plugin:

Na ausência do Plugin no diretório de instalação, entrar em contato com time de produto.

OBS: O diretório de instalação pode variar dependendo do ambiente e apenas a existência do Plugin no diretório Queue não significa que o log será gravado, sendo necessário configurar.

Totvs custom tabs box items
defaultno
referenciapasso3

Após ativar o log do TaskManager: Exemplo de consulta para análise por um período de tempo, para consultar os logs recomenda-se utilizar o ObjectID da mensagem e data de processamento:

Abaixo um exemplo de consulta, informando o ObjectID da mensagem e o período do intervalo, mostrando que a mesma foi processada com erro.

Image Added

Bloco de código
languagesql
firstline1
titleconsulta.sql
linenumberstrue
USE rentech
GO

SELECT
	*
-- TipoModulo, [Local], Mensagem, Creation
FROM Rentech..LogIntegracao (nolock) 
WHERE DataHora >= 'DATAINICIO' AND DataHora < 'DATAFIM' AND
TipoModulo = 5000 AND
Mensagem LIKE '%OBJECTID-MENSAGEM%'

No exemplo acima o log retorna foi o seguinte:

[MessageManager] MensagemID: b7cf87ff-dc49-4c1d-84f1-2aa8fdaed03e Falha na execução. Exception: Exception has been thrown by the target of an invocation. | Error ocurred. | Error ocurred. | The type initializer for Rentech.Framework.Base.Functions threw an exception. | The type initializer for Rentech.Framework.Base.Functions threw an exception. | System.ServiceModel.FaultException`1[System.ServiceModel.ExceptionDetail]: The type initializer for Rentech.Framework.Base.Functions threw an exception. (Fault Detail is equal to An ExceptionDetail, likely created by IncludeExceptionDetailInFaults=true, whose value is: System.TypeInitializationException: The type initializer for Rentech.Framework.Base.Functions threw an exception. ----> System.UnauthorizedAccessException: Access to the path Global\Mutex is denied. at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.Threading.Mutex.MutexTryCodeHelper.MutexTryCode(Object userData) at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData) at System.Threading.Mutex.CreateMutexWithGuaranteedCleanup(Boolean initiallyOwned, String name, Boolean& createdNew, SECURITY_ATTRIBUTES secAttrs) at System.Threading.Mutex..ctor(Boolean initiallyOwned, String name, Boolean& createdNew, MutexSecurity mutexSecurity) at System.Threading.Mutex..ctor(Boolean initiallyOwned, String name) at Rentech.Framework.Base.Functions..cctor() --- End of inner ExceptionDetail...). | System.ServiceModel.FaultException`1[System.ServiceModel.ExceptionDetail]: The type initializer for Rentech.Framework.Base.Functions threw an exception. (Fault Detail is equal to An ExceptionDetail, likely created by IncludeExceptionDetailInFaults=true, whose value is: System.TypeInitializationException: The type initializer for Rentech.Framework.Base.Functions threw an exception. ----> System.UnauthorizedAccessException: Access to the path.

Demonstrando uma possível falha de permissão.

Totvs custom tabs box items
defaultno
referenciapasso4

Para realizar a configuração para uso do log no processamento dos pagamentos do Financeiro, é necessário acessar o site Monitoramento e efetuar o login:

Na tela inicial, selecionar e clicar no botão 2000, referente a interface de configuração do log do Financeiro, conforme:

Acessar também o menu de configuração e verificar o nível de log:

O campo Ativo deve estar com o valor 1 (ligado) e campo LogLevel com valor diferente de 0:

Totvs custom tabs box items
defaultno
referenciapasso5

Após ativar o log do Financeiro por um período de tempo, para consultar os logs recomenda-se utilizar o ObjectID da operação financeiro, gerado nos clientes PDV Desktop e Mobshop:

Abaixo um exemplo de consulta, informando o ObjectID da operação financeira.

Image Added

Bloco de código
languagesql
firstline1
titleconsulta.sql
linenumberstrue
USE rentech
GO

SELECT
	*
-- OwnerId, IdOperacao, DataOperacao, Creation, Observacao
FROM ModuloFinanceiro]..[Financeiro_LogOperacao] (nolock) 
WHERE IdOperacao = 'ID-OPERACAO-FINANCEIRA'
ORDER BY Creation


OBS: Vale lembrar que, caso ocorra alguma exceção no processamento da mensagem do financeiro, o rollback realizado nos dados também afetará a gravação dos logs, pois ambos estarão na mesma transação!Financeiro: Exemplo de consulta para análise


04. DEMAIS INFORMAÇÕES

O modelo de Plugin implementado no TaskManager utiliza o MEF, muito interessante para baixo acoplamento e controle de dependências.

...