Por acaso existe alguma forma de pesquisar os lugares que são chamados um formulário?
Exemplo: Estou alterando o frm 289, mas queria saber se é chamado em outro lugar, para verificar possível impacto.
Por acaso existe alguma forma de pesquisar os lugares que são chamados um formulário?
Exemplo: Estou alterando o frm 289, mas queria saber se é chamado em outro lugar, para verificar possível impacto.
Olá @Deia!
Seja bem vinda a comunidade!
Atualmente não temos nenhum utilitário nativo para fazer essa busca. Até existe um formulário de pesquisa no módulo “LATROMI Tool” mas o mesmo já está obsoleto.
Está nos nossos planos desenvolver uma nova tela de pesquisa.
Por enquanto, você pode executar o Comando SQL abaixo no banco do Latromi para descobrir onde um objeto é utilizado.
Basta substituir o valor da coluna “upgradecode” da query “filter” pelo Código de Atualização do objeto que você deseja procurar.
SET search_path = wecdb;
WITH filter AS
(
-- Informar a chave que será pesquisada aqui
SELECT 'UPGRADE_CODE_AQUI'::TEXT AS upgradecode
)
-- Tradução da Consulta
SELECT
'Consulta' AS containingobjecttype
, c.id AS containingobjectid
, g.upgradecode AS containingobjectupgradecode
, g.objectdescription AS containingobjectname
, NULL::TEXT AS containingmembertype
, NULL::TEXT AS containingmembername
FROM consulta c
JOIN globalidmapping g ON g.id = c.globalid
JOIN filter ON c.translatesetupgradecode = filter.upgradecode
UNION ALL
-- Parâmetros da Consulta
SELECT
'Consulta' AS containingobjecttype
, c.id AS containingobjectid
, g.upgradecode AS containingobjectupgradecode
, g.objectdescription AS containingobjectname
, 'Parâmetro'::TEXT AS containingmembertype
, p.nome AS containingmembername
FROM consulta c
JOIN globalidmapping g ON g.id = c.globalid
JOIN consulta_parametro p ON p.idconsulta = c.id
JOIN filter ON p.browsersettings LIKE ('%upgradeCode="'||filter.upgradecode||'"%')
UNION ALL
-- Links da Consulta
SELECT
'Consulta' AS containingobjecttype
, c.id AS containingobjectid
, g.upgradecode AS containingobjectupgradecode
, g.objectdescription AS containingobjectname
, 'Link'::TEXT AS containingmembertype
, l.nome AS containingmembername
FROM consulta c
JOIN globalidmapping g ON g.id = c.globalid
JOIN consulta_query q ON q.idconsulta = c.id
JOIN consulta_query_coluna col ON col.idquery = q.id
JOIN link l ON l.id = col.idlink
JOIN link_referencia lr ON lr.idlink = l.id
JOIN filter ON filter.upgradecode = lr.targetupgradecode
UNION ALL
-- Botões da Consulta
SELECT
'Consulta' AS containingobjecttype
, c.id AS containingobjectid
, g.upgradecode AS containingobjectupgradecode
, g.objectdescription AS containingobjectname
, 'Botão'::TEXT AS containingmembertype
, l.nome AS containingmembername
FROM consulta c
JOIN globalidmapping g ON g.id = c.globalid
JOIN consulta_query q ON q.idconsulta = c.id
JOIN consulta_query_botao botao ON botao.idquery = q.id
JOIN link l ON l.id = botao.idlink
JOIN link_referencia lr ON lr.idlink = l.id
JOIN filter ON filter.upgradecode = lr.targetupgradecode
UNION ALL
-- Tradução do Browser
SELECT
'Browser' AS containingobjecttype
, b.id AS containingobjectid
, g.upgradecode AS containingobjectupgradecode
, g.objectdescription AS containingobjectname
, NULL::TEXT AS containingmembertype
, NULL::TEXT AS containingmembername
FROM browsedinamico b
JOIN globalidmapping g ON g.id = b.globalid
JOIN filter ON b.translatesetupgradecode = filter.upgradecode
UNION ALL
-- Tradução do Form
SELECT
'Form' AS containingobjecttype
, f.id AS containingobjectid
, g.upgradecode AS containingobjectupgradecode
, g.objectdescription AS containingobjectname
, NULL::TEXT AS containingmembertype
, NULL::TEXT AS containingmembername
FROM formdinamico f
JOIN globalidmapping g ON g.id = f.globalid
JOIN filter ON f.translatesetupgradecode = filter.upgradecode
UNION ALL
-- Campos do Form
SELECT
'Form' AS containingobjecttype
, f.id AS containingobjectid
, g.upgradecode AS containingobjectupgradecode
, g.objectdescription AS containingobjectname
, 'Campo'::TEXT AS containingmembertype
, c.nome AS containingmembername
FROM formdinamico f
JOIN globalidmapping g ON g.id = f.globalid
JOIN campodinamico c ON c.idformdinamico = f.id
JOIN filter ON c.referencesxml LIKE ('%upgradeCode="'||filter.upgradecode||'"%')
UNION ALL
-- Janelas do Form
SELECT
'Form' AS containingobjecttype
, f.id AS containingobjectid
, g.upgradecode AS containingobjectupgradecode
, g.objectdescription AS containingobjectname
, 'Janela'::TEXT AS containingmembertype
, w.name AS containingmembername
FROM formdinamico f
JOIN globalidmapping g ON g.id = f.globalid
JOIN formdinamico_windows fw ON fw.idformdinamico = f.id
JOIN windows w ON w.id = fw.windowid
JOIN filter ON w.targetreferences LIKE ('%upgradeCode="'||filter.upgradecode||'"%')
UNION ALL
-- Documentos vinculados
SELECT
'Documento' AS containingobjecttype
, doc.id AS containingobjectid
, g.upgradecode AS containingobjectupgradecode
, g.objectdescription AS containingobjectname
, NULL::TEXT AS containingmembertype
, NULL::TEXT AS containingmembername
FROM markdowndocument doc
JOIN globalidmapping g ON g.id = doc.globalid
JOIN markdowndocument_use use ON use.markdowndocumentid = doc.id
JOIN filter ON use.objectupgradecode = filter.upgradecode
UNION ALL
-- Alvo do Menu
SELECT
'Menu' AS containingobjecttype
, m.id AS containingobjectid
, g.upgradecode AS containingobjectupgradecode
, fnc_get_menupath(m.id, ' / ') AS containingobjectname
, NULL::TEXT AS containingmembertype
, NULL::TEXT AS containingmembername
FROM menu m
JOIN globalidmapping g ON g.id = m.globalid
JOIN filter ON m.targetupgradecode = filter.upgradecode
UNION ALL
-- Menu Pai
SELECT
'Menu' AS containingobjecttype
, mp.id AS containingobjectid
, gmp.upgradecode AS containingobjectupgradecode
, fnc_get_menupath(mp.id, ' / ') AS containingobjectname
, NULL::TEXT AS containingmembertype
, NULL::TEXT AS containingmembername
FROM menu m
JOIN globalidmapping g ON g.id = m.globalid
JOIN menu mp ON mp.id = m.idmenupai
JOIN globalidmapping gmp ON gmp.id = mp.globalid
JOIN filter ON g.upgradecode = filter.upgradecode
ORDER BY
containingobjecttype,
containingobjectid,
containingmembertype,
containingmembername
Abaixo uma explicação sobre as colunas retornadas.
Coluna | Descrição |
---|---|
containingobjecttype | Tipo do objeto que contém a referência. |
containingobjectid | Id do objeto que contém a referência. |
containingobjectupgradecode | Código de Atualização do objeto que contém a referência. |
containingobjectname | Nome do objeto que contém a referência. |
containingmembertype | Tipo do membro do objeto que contém a referência. |
containingmembername | Nome do membro do objeto que contém a referência. |
@Deia, adicionei uma Consulta no módulo LATROMI Tool chamada “Referências de Objeto”.
Essa Consulta executa exatamente o mesmo SELECT que coloquei na outra resposta.
Segue o link para baixar o pacote LATROMI Essentials Atualizado: LATROMI Tools.lcp
Bah deu certinho, valeu!