01. Objetivo
Visando adequar o licenciamento do Protheus para se equiparar às demais linhas de produto da TOTVS, a partir da release 12.1.27 a interface SIGAADV pode se comportar como a interface SIGAMDI.
A motivação da mudança foi o melhorar a gestão do consumo de licença no sistema. Na versão anterior da interface SIGAADV a licença fica mantida em uso pelo usuário enquanto o Protheus está aberto, mesmo que o usuário esteja somente parado na tela inicial do sistema sem utilizar nenhuma rotina.
Na nova interface a licença é mantida em uso somente enquanto a rotina está aberta, liberando a licença quando o usuário volta para a tela de Menu inicial do sistema. Essa mudança melhora a gestão das licenças do cliente, mantendo em uso as licenças somente quando o usuário realmente está utilizando uma rotina do Protheus.
02. Comportamento
Os principais comportamentos contemplados nessa mudança são:
- A melhoria é aplicada automaticamente a partir da release 12.1.27 somente para as bases Protheus com dicionário no banco de dados. É possível desativar esse comportamento através da chave ENABLENEWADV = 0 na seção do ambiente em uso (desabilitar este comportamento somente a partir da lib label 20210628);
- Ambientes na release 12.1.27 com dicionario fora do banco de dados não são afetados pela melhoria automaticamente. O novo modelo somente é habilitado nessa situação através da chave ENABLENEWADV = 1 na seção do ambiente em uso;
- Toda utilização da interface SIGAADV é redirecionada pela lib para a interface SIGAMDI;
- Quando o usuário acessa o sistema pelo SIGADV ele só consegue abrir uma rotina por vez, mesmo sendo uma interface SIGAMDI, mantendo assim o comportamento antigo do ADV de permitir que o usuário acesse somente um programa por vez. Como o SIGAADV só abre uma rotina por vez o controle de abas não possui o mesmo funcionamento do SIGAMDI;
- Quando o usuário entra no sistema os SXs (dicionários de dados) deixam de ser abertos, eles serão abertos posteriormente junto com o ambiente quando a rotina de Menu for executada;
- Cada programa acionado pelo Menu abre uma thread MDI e prepara o ambiente antes de executar a rotina definida no item de menu;
- A licença em uso pela rotina sempre é liberada quando o usuário volta para o Menu.
03. Versões afetadas
Release 12.1.27 ou superior com lib igual ou superior a 20200214