Autor do artigo: isabela.carvalho.pro

(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!



Quando utilizar?


O guia descreve passos importantes a serem revisados após uma troca de servidor para garantir que o sistema não apresentará inconsistências durante o uso, lembrando que o procedimento do Prosoft está documentado em:

I415- Troca de Servidor Prosoft - Orientações Técnicas

Antes de iniciar a instalação:


Estes itens devem ser verificados antes da instalação e na máquina que o Prosoft será instalado:

  1. Verificar se a máquina é compatível com instalação: G21 - Política de Ciclo de Vida dos Produtos Prosoft

  2. Verificar se o espaço em disco é suficiente(se tiver mais que um disco, confirmar com o cliente qual disco ocorrerá a instalação)

  3. Verificar se o disco do Servidor está integro no visualizador de eventos.
     
  4. Verificar se UAC está desativada: I371-Como desativar a UAC

  5. Verificar se Framework 3.5 está ativado: I83 - Como verificar se o net framework 3.5 está instalado e ativado no Windows
  6. Verificar chave EnableLinkedConnections: I19 - Mapeamento Prosoft não é encontrado no momento da instalação


Após finalizar instalação:



  1. Verificar se todos os serviços estão instalados e ativos:

    -Apache Couchdb

    -Prosoft Esocial

    -Prosoft Gerenciador de serviços

    -Prosoft Integração Econtador

    -Prosoft Guardião

    -Prosoft Reinf OnPremise

    -Prosoft Serviço de integração

    -Wkb.integra.Local.API

    -Wkb.Integra.Local.Health

    -Wkb.Integra.Local.Receiver

    -Wkb.Integra.Local.Sender


    -Prosoft Agendamento

  2. Verificar se todas as DSN´s estão criadas:

    Se cliente não tiver pastas/DDF´s nas pastas citadas abaixo não é necessário criaria a DSN


    -?PROSOFT: ?:\Prosoft.win
    -?PROEMP??: ?\Proemp00
    -DSN de Empresas: I408-Como realizar a manutenção das DSNs
    -?PROEMP??CTB: ?:\PROEMP00\CTB\PSQL
    -?PROEMP??ECF: ?:\PROEMP00\CTB\SPEDECF\ECF
    -?PROEMP??FOLHA: ?\PROEMP00\FOLHA
    -??PROEMP??TMP: ?\PROEMP00\TMP
    -PROSOFTECONT: ?:\Prosoft.win\PROSOFTECONT
    -PROSOFTINT: ?:\Prosoft.win\PROSOFTINT
    -?PROEMP??OFC: ?\PROEMP??\OFC
    -?PROEMP??PBI: ?:\PROEMP??\PBI\BASE_PERVASIVE
    -?PROEMP??PRWORK: ?:\PROEMP00\ASE
    - ?PROEMP??GCT: ?\PROEMPXX\GCT


  3. Verificar se o SQL está validando no SERVIDOR e nas ESTAÇÕES:
    image.png

  4. Verificar se chave permanente do Pervasive está ativa:


  5. Verificar se foi criada a Master Key: I1006 - Please Create a master key in the database or open the master key in the session

  6. Verificar se todos os usuários Prosoft e Agendamento no SQL estão com permissão sysaDMIN:




  7. Verificar se o Performance Tunning foi realizado no Servidor: I492 - Performance Tunning do Pervasive - Servidor

  8. Verificar se a UNC correta está preenchida no Servidor e estações.

  9. Orientar o cliente sobre atualizar o F3 com nome do novo Servidor(se houve troca no nome da máquina): I451 - Como configurar pastas no Gerenciador de Aplicativos Prosoft

  10. Verificar se o cliente utiliza analisador fiscal, se sim, anexar as bases do analisador fiscal na instancia.

  11. Com bases do GID anexadas, configurar o analisador apontando para novo Servidor e nova instância: I374-Recriando o cadastro e a conexão da empresa dentro do GID

  12. Caso o cliente utilize o Intax realizar a configuração: A1137-Intax - Unable to connect the relational engine (is Database name and Server available) no monitoramento de integrações



(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>