Com as mudanças do Lobo Guará, veja como fica a estrutura de tabelas no Banco de Dados.
Conhecendo as novas tabelas no SQL:
- SIGAPSS – Se transformou nas tabelas com prefixo SYS_GRP (grupos), SYS_POL (políticas), SYS_RULES (regras de acesso) e SYS_USR (usuários);
- Menus xnu – Tabelas com prefixo MPMENU
- SIGAMAT.emp – Tabela SYS_COMPANY
- XX8 – Tabela SYS_COMPANY_CFG
- XX9 – Tabela SYS_COMPANY_CFGIT
- SIGAHLP – Tabela XB4
- Tabelas de Metadado – Mesmo nome no SQL
- Profile – MP_SYSTEM_PROFILE
- Workrole – MP_SYSTEM_WORKROLE
- Layouts do TOTVS Report – XB5
Tabelas relacionadas ao cadastro de Usuários:
- SYS_USR
- SYS_ACCESS
- SYS_ACCRESTRIC
- SYS_ACESSIB
- SYS_FILIAL
- SYS_GROUPS
- SYS_LOGCFG
- SYS_MODULE
- SYS_PANEIS
- SYS_PAPER
- SYS_PRINTER
- SYS_SSIGNON
- SYS_SUPER
- SYS_VINCFUNC
Observações:
- Por enquanto o TOTVS PDV e o Retaguarda não são suportados;
- Registros deletados do dicionário, não serão considerados nas migrações;
- Após realizar a migração do dicionário para SQL, não é possível reverter de forma automática;
- É necessário a utilização do License Server para numeração automática;
- No cadastro de usuários, não será permitido 2 ou mais usuários com o mesmo login;
- Terá que ter um email válido para recuperação de senha do usuário Administrador;
- A Chave TopMemoMega deve estar habilitada nos ambientes;
- Os dicionários que serão migrados devem estar íntegros e sem erros;
- Cada conexão de usuário no Protheus, criará duas conexões no DbAccess (sendo que a conexão com o dicionário, não é transacionada);
- Campos das tabelas do Dicionário não poderão ser acessados diretamente, por exemplo, ao invés de SX3->X3_USO, utilizar a função X3Uso() – https://centraldeatendimento.totvs.com/hc/pt-br/articles/360026047911
- O mesmo aplica-se para a tabela SM0 de empresas, deve se usar a OpenSM0 ou a OpenSM0Exc
Links de Apoio:
- https://centraldeatendimento.totvs.com/hc/pt-br/articles/360026047911
- http://tdn.totvs.com/display/framework/MPDicInDB
- http://tdn.totvs.com/display/framework/MPSysSqlName
- http://tdn.totvs.com/display/framework/OpenSxs
- http://tdn.totvs.com/display/framework/OpenSm0
- http://tdn.totvs.com/display/framework/OpenSM0Excl
- http://tdn.totvs.com/display/framework/FWTemporaryTable
Essa dica enviada por Joalisson Ribeiro, que disponibilizou uma apresentação ppt para estudo.
Bom pessoal, por hoje é só.
Abraços e até a próxima.
Muito obrigado
Eu que agradeço pelo comentário jovem.
Abraços.
Bom dia Dan Atilio,
Primeiramente agradeço demais todo o seu conteúdo!
Como fazer para replicar um menu para uma base diferente, já que está no banco de dados com suas devidas chaves?
Bom dia Wellington, tudo joia?
Infelizmente eu desconheço uma forma de se fazer essa replicação.
Pode ser que a TOTVS tenha criado ou esteja criando essa funcionalidade.
Pessoal, alguém sabe quais são os relacionamentos entre as tabelas MPMENU? Estou com uma demanda de listar em uma planilha os menus padrão de alguns modulos do Protheus.
Bom dia Luis, tudo joia?
Infelizmente não temos uma lista pronta dos relacionamentos.
Mas o que você pode fazer também, que poderá lhe ajudar, será dar um trace no DbMonitor e abrir o cadastro de Menus.
Ai dentro dele, analise os SELECTs que são executados para você montar os JOINs.
De antemão, também preparamos um artigo que vai ao ar ano que vem, sobre uma query na tabela de menus, pode ser que te ajude, segue abaixo:
SELECT M_NAME AS MODULO_NOME, M_MODULE AS MODULO_COD, I_TABLES AS TABELAS, F_FUNCTION AS FUNCAO, DADOS_MENU.N_DESC AS SUBMENU_NOME, DADOS_ITEM.N_DESC AS ROTINA_NOME FROM MPMENU_MENU MENU INNER JOIN MPMENU_ITEM ITEM ON ( ITEM.I_ID_MENU = MENU.M_ID AND ITEM.D_E_L_E_T_ = ' ' ) INNER JOIN MPMENU_FUNCTION FUNC ON ( FUNC.F_ID = ITEM.I_ID_FUNC AND FUNC.D_E_L_E_T_ = ' ' ) INNER JOIN MPMENU_I18N DADOS_MENU ON ( DADOS_MENU.N_PAREN_ID = ITEM.I_FATHER AND DADOS_MENU.N_LANG = '1' AND DADOS_MENU.D_E_L_E_T_ = ' ' ) INNER JOIN MPMENU_I18N DADOS_ITEM ON ( DADOS_ITEM.N_PAREN_ID = ITEM.I_ID AND DADOS_ITEM.N_LANG = '1' AND DADOS_ITEM.D_E_L_E_T_ = ' ' ) WHERE MENU.D_E_L_E_T_ = ' ' AND F_FUNCTION LIKE '%MATA010%' ORDER BY MODULO_CODUm grande abraço.
Daniel muito obrigado, esta query já me ajudou!!
Opa, nós que agradecemos pelo comentário Luis.
Um forte abraço.
Boa tarde,
Eu precisaria sabe o acesso por item da rotina, por exemplo: se o usuario tem acesso para incluir/Alterar/Consultar… isso por rotina, tem alguma tabela que tem estes acessos? Obrigado,
Bom dia Newton, tudo joia?
Talvez você teria que fazer uma query, que relaciona SYS_USR_MODULE (menus que o usuário tem acesso) com as tabelas MPMENU*.
Nesse link tem uma query que busca rotinas de um menu, ai você pode tentar adicionar nela um join com a SYS_USR_MODULE: https://terminaldeinformacao.com/2024/10/02/exemplo-de-query-que-busca-rotinas-em-um-menu-do-protheus/
Tenha uma ótima e abençoada quarta feira.
Um grande abraço.