Autor do artigo: João Fonseca (Não remova esse quadro) Descreva o passo a passo para o cliente seguindo os padrões de escrita de artigos, como: 1. Escreva em voz ativa. 2. Numere o passo a passo. 3. Atenção com imagens: utilize uma resolução apropriada ao local de inserção. 4. Escreva em tempo presente, na primeira pessoal e no imperativo (em passo a passo). Essas informações não se tonam parte do conteúdo em sua nova página, elas ficam ocultas e só aprecem para usuário logado e se o artigo/dica estiver em modo de edição! |
Ao enviar evento Reinf, é evidenciado o alerta:
Existe um evento R-0000 para a empresa 0000 aguardando processamento, consulte o Monitoramento para verificar o status do evento.
Como corrigir?
A falha ocorre pois existe sobra de informações de eventos excluidos na base de dados.
A correção deve ser realizada pela equipe de nível 2 em instalações. E importante efetuar o backup da base prosoft antes de executar o script |
1 - Na base prosoft efetue a consulta, onde deverá ser informado o codigo da empresa em '0000'
select emp_id from esoc_empresa
where emp_codigo ='0000'AND emp_fk_tipo_evento = '1'
Anote o ID obtido na consulta.
2 - Efetue a seguinte consulta onde, na clausula where deve ser inforado o evento que será excluido 'R2099' e no evg_fk_empresa IN ( 0000 ) deve ser informado o ID da empresa obtido na consulta anterior
SELECT TOP (1000) [evg_id]
, conf.evo_codigo
,[evg_tag_id]
,[evg_fk_empresa]
,[evg_fk_evento_configuracao]
,[evg_chave_identificacao]
,[evg_status]
,[evg_numero_recibo]
,[evg_data_geracao]
,[evg_nome_maquina]
,[evg_msg_retorno]
,[evg_proemp]
,[evg_tipo_ambiente]
,[evg_observacoes]
,[evg_operador_codigo]
,[evg_comp_ativa]
,[evg_data_status]
,[evg_competencia]
,[evg_versao]
,[evg_fk_operacao]
,[evg_excluido]
,[evg_data_exclusao]
,[evg_protocolo]
FROM [prosoft].[dbo].[esoc_evento_gerado] AS ger
INNER JOIN esoc_empresa AS emp on ger.evg_fk_empresa = emp.emp_id
INNER JOIN esoc_evento_configuracao AS conf ON ger.evg_fk_evento_configuracao = conf.evo_id
where conf.evo_codigo = 'R2099'
and evg_fk_empresa IN ( 0000 )
and evg_tipo_ambiente = 1
order by 1 desc
Na consulta obtida, anote o evg_id dos eventos que possuem a informação null no campo evg_numero_recibo
3 - efetue a consulta, onde em evc_fk_evento_gerado deverá ser informado o evg_id obtido na consutla anterior
select * from esoc_evento_chave where evc_fk_evento_gerado = 219153
Caso a consulta não retorne informações, execute os comnados de delete listados abaixo |
delete from esoc_geracao_logs_evento where fk_evento_gerado = 219153
delete from esoc_evento_chave where evc_fk_evento_gerado = 219153
delete FROM [dbo].[esoc_evento_gerado_protocolo_reinf] where egp_fk_evento_gerado = 219153
delete from esoc_evento_excluido where eex_fk_evento_gerado_origem = 219153
DELETE from esoc_evento_retificado where evr_fk_evento_atual = 219153
delete from esoc_evento_gerado where evg_id = 219153
4 - Solicite nova transmissão do evento.
(Não remova esse quadro)Essas informações não se tonam parte do conteúdo em sua nova página, elas ficam ocultas e só aprecem para usuário logado e se o artigo/dica estiver em modo de edição! |
<div id="text-end"></div> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-193974933-1"></script> <script> window.dataLayer = window.dataLayer || []; function gtag2(){dataLayer.push(arguments);} gtag2('js', new Date()); gtag2('config', 'UA-193974933-1'); function gtagevents (action,category) { console.log(category + ':' + action); gtag2('event',action,{event_category:category,event_label: document.title}); }; </script> <script src="https://player.vimeo.com/api/player.js"></script> <script> (function(){ // RASTREIO DE USO DO VÍDEO function gtagvideo(action){ gtagevents(action,'Video') } var iframe = document.querySelector('iframe'); var player = new Vimeo.Player(iframe); var seeking = false; var priorTime = 0; var currentTime = 0; var reportouFinalDoConteudo = false; // se pausar o play é acionado também. player.on('play', function(data) { if(data.seconds == 0){ gtagvideo('video-iniciado'); } priorTime = data.seconds; }); player.on('ended', function() { gtagvideo('video-finalizado'); }); //seeking e timeupdate são disparados juntos, logo o tempo dos 2 é atualizado também. Preciso garantir que a variavel starttime seja atualizada ordenadamente (sempre antes ou após o seeking). // pra isso preciso setar uma variavel no timeupdate e ler no seeking para garantir a ordem. Se ela estiver false será alterada na próxima iteração. player.on('seeking', function(data) { seeking = true; }); player.on('pause',function(data){ gtagvideo('video-pausado'); }); player.on('timeupdate', function(data) { if(seeking){ if(currentTime < priorTime){ gtagvideo('video-voltando'); } if(currentTime > priorTime){ gtagvideo('video-avancando') } seeking = false; } priorTime = currentTime; currentTime = data.seconds; var finalDoConteudo = (data.duration - data.seconds) < 5; if(finalDoConteudo && !reportouFinalDoConteudo){ gtagvideo('conteudo-finalizado') reportouFinalDoConteudo = true; } }); player.on('fullscreenchange', function() { gtagvideo('video-fullscreen'); }); })(); </script> <script> // RASTREIO DO USO DE AUDIO (function(){ function gtagaudio(action){ gtagevents(action,'Audio') } var audio = document.querySelector("audio"); var seeking = false; var priorTime = 0; var currentTime = 0; audio.addEventListener('play',function(){ if(audio.currentTime == 0){ gtagaudio('audio-iniciado'); } priorTime = audio.currentTime; }); audio.addEventListener('ended',function(){ gtagaudio('audio-finalizado'); }); audio.addEventListener('pause',function(){ gtagaudio('audio-pausado'); }); audio.addEventListener('seeking', function(data) { seeking = true; }); audio.addEventListener('timeupdate', function(data) { if(seeking){ if(currentTime < priorTime){ gtagaudio('audio-voltando'); } if(currentTime > priorTime){ gtagaudio('audio-avancando') } seeking = false; } priorTime = currentTime; currentTime = audio.currentTime; }); })(); </script> <script> (function(){ var terminou = false; //RASTREIO DE LEITURA ATÉ O FINAL DA PÁGINA document.addEventListener('scroll',() => { if(document.getElementById('text-end').getBoundingClientRect().top < window.innerHeight){ if(!terminou){ terminou = true; gtagevents('artigo-lido','Pagina') } }else{ terminou = false; } }); })(); </script> |