Árvore de páginas

Carregando...


01. DADOS GERAIS

Produto:

TOTVS Backoffice

Linha de Produto:

Linha Protheus

Segmento:

Backoffice

Módulo:TOTVS Backoffice (Linha Protheus) - Automação Fiscal
Função:

TAFPROC5.PRW

WSTAF024.PRW

Ticket:
Requisito/Story/Issue (informe o requisito relacionado) :DSERTAF1-35854


02. 
SITUAÇÃO/REQUISITO

* Na ocorrêcia de um error.log no processo de consulta, o mesmo não está sendo exibido no console.

* Em algumas situações o processo de consulta está ficando travado por conta do semaforo utilizando o lockbyname.


03. SOLUÇÃO

1 - Remoção da Função BEGIN SEQUENCE: A função BEGIN SEQUENCE, que era utilizada no serviço de consulta do Angular (POUI) para tratar error.log, foi removida. Dependendo da sua implementação, essa função podia ocultar erros no console.


2 -Criação de Função de Controle Dinâmico de Semáforo: Foi desenvolvida uma nova função para substituir o lockByName, que realiza um controle de semáforo dinâmico. Essa função verifica se o processo está travado, e, em caso afirmativo, o semáforo é desabilitado seguindo as seguintes regras: 

Primeira Execução: Na primeira execução, o sistema armazena a quantidade atual a ser processada, realiza o lock e permite o processamento. Ao final da execução, o sistema libera o bloqueio, permitindo novas execuções.

Manutenção do Bloqueio: Se, ao iniciar uma nova execução, a quantidade a ser processada for diferente da anterior, o sistema entende que o processo está fluindo normalmente e mantém o bloqueio, permitindo a continuação do processamento.

Verificação de Execução em Andamento: Quando uma nova execução é iniciada, o sistema verifica se já existe uma execução em andamento. Se houver, ele compara a quantidade processada pela última thread com a quantidade que a nova thread precisa processar. Se as quantidades forem iguais, o sistema não executa o novo processo e incrementa o contador de tentativas. Se a quantidade de processamento permanecer a mesma por 5 execuções consecutivas, o sistema assume que o processo está travado e o libera.


Adicionalmente foi Criado o seguinte parâmetro para desabilitar o controle de semáforo:

Nome do parâmetro:MV_TAFCLOC 
Tipo Lógico (.T. - Habilita o Semáforo, .F. - Desabilita o Semáforo)
Decrição:Desabilita o controle de semáforo na rotina TAFPROC5 (consulta de documentos e-social)

Desabilitar este parâmetro pode resultar em processamentos desnecessários e causar duplicidades na gravação dos totalizadores.


04. DEMAIS INFORMAÇÕES

Não se aplica

05. ASSUNTOS RELACIONADOS

        Não se aplica