Suporte comum de ocorrer, são os casos, onde o usuário se depara com bloqueio de registros, e não sabe como desbloquear, as vezes ocorre por falta de conhecimento do mecanismo, por falta de configuração, ou até mesmo por algum erro.
O sistema realiza o tratamento de alguns formulários para que não ocorra conflito de informações, então imagine um usuário com uma parcela em edição, aguardando para realizar um processo, enquanto isso um segundo usuário, decide manipular este mesmo registro, ao tentar edita-lo, o sistema irá informar que o registro está bloqueado pelo primeiro usuário e em qual máquina, sendo assim, o usuário teria de entrar em contato, e comunicar sua necessidade de alteração, pois se ele editar as informações, elas podem não ficar integras, visto que se o primeiro usuário salvar, irá substituir as informações visto que elas estariam armazenas em memória. É importante explicar bem ao cliente os impactos, para que não abuse do recurso de desbloqueio sem saber o impacto causado.
A mensagem em questão ao tentar editar o registro que está em uso, é a demonstrada na imagem a seguir.
caso o usuário não tenha acesso ao seguinte ponto da imagem abaixo o sistema não prosseguirá com a edição do registro e nada será feito.
Caso o usuário tenha o acesso ao ponto 2322 o sistema irá perguntar se deseja destravar o registro.
Caso clique em sim o primeiro usuário que estava com o registro aberto receberá a mensagem ao tentar salvar o registro que o mesmo está bloqueado.
Outra forma de desbloquear o registro, é utilizar o gerenciador no menu 1904, onde ao abrir exibirá todos registro no período de um mês podendo ser alterado, e feito uma nova consulta, será exibido registros bloqueados ou não, é possível clicar em “Exibir registros bloqueados“ para visualizar somente os registros que deseja desbloquear utilizando a própria tela, no botão “Desbloquear“.
Os registros são bloqueados sempre que editados, e só são desbloqueados quando o formulário é encerrado, seja salvando ou clicando em sair, então não é normal que contenham registros nessas telas, em períodos longos, caso tenha registros, podem ser por algum problema, como queda de conexão ou travamento do sistema, ou qualquer encerramento repentino do computador, como queda de energia, enquanto o formulário está aberto ,pois dessa forma, não passou pela ação de liberar o registro pois não foi salvo ou fechado o formulário
Para isso, existe uma configuração que pode ser adaptada, a um horário que monitore registros bloqueados para destravar esses registros que ficaram alocados no banco de dados, é uma function que monitora conforme tempo escolhido, ou caso não seja informado, ele monitora por padrão no intervalo de 24 horas.
É comum que algumas bases não tenha essa função, deve ser observado caso ocorra muito em um cliente, devido sua estrutura de rede, e computadores, com essa função, é possível eliminar o suporte, para destravar manualmente pelo banco já que o usuário não tem acesso, então é necessário ficar atento, a criar essa função na base do usuário a função é a atl_prc_controleconcorrencia e pode ser criada pelo utilitário na configuração geral do sistema. ou pode ser copiada ou criada manualmente. seu código é simples, e pode ser checado abaixo.
A configuração para personalizar o tempo de checagem, está na imagem abaixo, tem de ter cuidado para não colocar um tempo muito baixo ,e encerrar o processo de um usuário por exemplo, há vendas que necessitam de alterações, então tem de ser bem alinhado com responsável.
Para casos extremos que é necessário checar pelo banco de dados deve-se lembrar que há registros que utiliza a tabela controleconcorrencia onde deve remover a linha de registro do banco, e há registro controlado pela registrotransacao onde basta alterar o campo de Bloqueado para “Não“, em qualquer caso, certifique-se que realmente é necessário fazer este processo devido algum dos erros explicados, ou se realmente o usuário deve fechar sua tela.
