Removendo os formulários do sistema duplicados
De Wiki.Softwell
Quando as configurações do sistema apresentam inconsistências você pode tentar resolver resetando-as. Isto se aplica nos seguintes casos:
- Formulários, relatórios, ou regras externas não são encontradas;
- Opções do sistema como "Requer Autenticação", "Avaçado" não são salvas, ou executadas;
- Eventos do sistemas não são gravados ou executados;
Tabela de conteúdo |
Identificando o problema
Esta solução somente se aplica quando o SQL abaixo retornar mais de 1 registro:
select FR_FORMULARIO.FRM_CODIGO FROM FR_FORMULARIO inner join FR_FORMULARIO_SISTEMA FRM_SIS on (FRM_SIS.FRM_CODIGO = FR_FORMULARIO.FRM_CODIGO) where (FR_FORMULARIO.FRM_DESCRICAO = '$_FORMULARIO_DO_SISTEMA') and (FRM_SIS.SIS_CODIGO = 'ALO')
Método rápido
O comando abaixo irá remover todos os formulários do sistema, eliminando as duplicações. Será necessário sair do Maker e entrar novamente após executar esse comando.
SQL para remover todos os formulários do sistema, observe que a sigla 'ALO' deve ser substituída pela sigla do sistema:
delete from FR_FORMULARIO where FRM_CODIGO in (select FR_FORMULARIO.FRM_CODIGO FROM FR_FORMULARIO inner join FR_FORMULARIO_SISTEMA FRM_SIS on (FRM_SIS.FRM_CODIGO = FR_FORMULARIO.FRM_CODIGO) where (FR_FORMULARIO.FRM_DESCRICAO = '$_FORMULARIO_DO_SISTEMA') and (FRM_SIS.SIS_CODIGO = 'ALO'))
Método mais seguro
Faça o seguinte SQL, onde 'ALO' é o código do sistema:
select FR_FORMULARIO.FRM_CODIGO FROM FR_FORMULARIO inner join FR_FORMULARIO_SISTEMA FRM_SIS on (FRM_SIS.FRM_CODIGO = FR_FORMULARIO.FRM_CODIGO) where (FR_FORMULARIO.FRM_DESCRICAO = '$_FORMULARIO_DO_SISTEMA') and (FRM_SIS.SIS_CODIGO = 'ALO')
Observe a listagem do comando acima, e delete a partir do segundo formulário com o comando SQL abaixo, onde 123 é o código do formulário:
delete from FR_FORMULARIO where FRM_CODIGO = 123
Atenção
- Qualquer configuração previamente feita no sistema será apagada.
