O relacionamento dos banco de dados é bastante complexo, logo, qualquer alteração (delete, update, alter table) diretamente no banco do Fusion deve ser executado com segurança e cautela, pois, algum equívoco ou esquecimento pode gerar inconsistências.
Portanto, antes de executar qualquer modificação entre em contato com nossa Equipe de Sustentação para esclarecimentos.
Em anexo desta FAQ, há dois diagramas que trazem o relacionamento entre as principais tabelas do Fusion. Para melhor entendimento desses diagramas segue há algumas queries úteis para consultas na base do Fusion. É importante lembrar que é possível modificar as queries a fim de retornar outros valores/configurações/propriedades.
– Relação entre Processo (WFProcess) e Formulário (D_nomeDoFormulario)
– Consultar o código do processo e o valor de um determinado campo do formulário
SELECT wf.code, dyn.nomeDoCampo FROM WFProcess wf JOIN d_nomeDoFormulario dyn ON (wf.entity_neoId = dyn.neoId)
– Relação entre Processo (WFProcess) e sua modelagem (ProcessModel)
– Consultar o código do processo e o título da sua modelagem
SELECT wf.code, pm.title FROM WFProcess wf JOIN ProcessModel pm ON (wf.model_neoId = pm.neoId)
– Relação entre Processo (WFProcess), Atividade (Activity) e Modelagem da Atividade (ActivityModel)
– Buscar todas as Atividades do processo
– As atividades são do tipo Usuário, Script, Envio, Decisões, etc.
SELECT
am.name,
ac.startDate AS Inicio,
ac.finishDate AS Fim
FROM WFProcess wfp
JOIN Activity ac ON (ac.process_neoId = wfp.neoId)
JOIN ActivityModel am ON (ac.model_neoId = am.neoId)
WHERE wfp.neoid = neoIdDoProcesso
ORDER BY ac.startDate
– Relação entre Processo (WFProcess), Atividade (Activity), Modelagem da Atividade (ActivityModel) e Tarefa de Usuário (Task)
– Buscar todas as Atividades e Tarefas do processo
– Quando há tarefas (tasks), significa que elas são executadas por Usuários,
– isto é, atividades de Script, Envio e Deciões não serão exibidas
SELECT am.name,
ac.startDate AS ActivityInicio,
ac.finishDate AS ActivityFim,
t.startDate AS TaskInicio,
t.finishDate AS TaskFim
FROM WFProcess wfp
JOIN Activity ac ON (ac.process_neoId = wfp.neoId)
JOIN ActivityModel am ON (ac.model_neoId = am.neoId)
JOIN Task t ON (t.activity_neoId = ac.neoId)
WHERE wfp.neoid = neoIdDoProcesso
ORDER BY ac.startDate
– Relação entre Entidade do Formulário (EntityInfo) e Campos (FieldInfo)
– Consultar os campos de determinado formulário
SELECT fi.showOrder AS OrdemDeExibicao,
fi.name AS Nome,
fi.title AS Titulo
FROM FieldInfo fi
JOIN EntityInfo ei ON (fi.declaringEntity_neoId = ei.neoId)
WHERE ei.typeName = ‘nomeDoFormulario’
ORDER BY fi.showOrder ASC
– Buscar os campos de determinado formulário trazendo algumas de suas propriedades:
– viewable = Visível | Sim = 1 | Não = 0
– editable = Editável | Sim = 1 | Não = 0
– mandatory = Obtigatório | Sim = 1 | Não = 0
– adapterConverter = Adapter de Conversão
SELECT fi.showOrder AS OrdemDeExibicao,
fi.name AS Nome,
fi.title AS Titulo,
fi.viewable,
fi.editable,
fi.mandatory,
fi.adapterConverter
FROM FieldInfo fi
JOIN EntityInfo ei ON (fi.declaringEntity_neoId = ei.neoId)
WHERE ei.typeName = ‘nomeDoFormulario’
ORDER BY fi.showOrder ASC
– Relação entre Entidade do Formulário (EntityInfo) e Campos do Tipo EForm (FieldInfoEntity)
– Consultar nome e título do campo, bem como nome e título do EForm configurado no campo
SELECT fi.showOrder AS OrdemDeExibicao,
fi.name AS NomeCampo,
fi.title AS TituloCampo,
eifie.typeName AS NomeTipoCampoEForm,
eifie.title AS TituloTipoCampoEForm
FROM FieldInfo fi
JOIN FieldInfoEntity fie ON (fie.neoId = fi.neoId)
JOIN EntityInfo eifie ON (fie.typeInfo_neoId = eifie.neoId)
JOIN EntityInfo ei ON (fi.declaringEntity_neoId = ei.neoId)
WHERE ei.typeName = ‘nomeDoFormulario’
ORDER BY fi.showOrder ASC
– Relação entre Entidade Formulário (EntityInfo) e Entidade Documento (DocumentEntityInfo)
– Consultar por todos os Tipo de Documentos trazendo nome e código
SELECT ei.typeName, ei.title FROM DocumentEntityInfo di JOIN EntityInfo ei ON (di.neoId = ei.neoId)
– Busca documentos com(valor approval = 1)/sem(valor approval = 0) aprovação:
SELECT ei.typeName, ei.title, di.approval FROM DocumentEntityInfo di JOIN EntityInfo ei ON (di.neoId = ei.neoId)
– Busca documentos com(valor approval = 1)/sem(valor approval = 0) versionamento:
SELECT ei.typeName, ei.title, di.versioned FROM DocumentEntityInfo di JOIN EntityInfo ei ON (di.neoId = ei.neoId)
Arquivo: Diagramas e Queries