Pessoal,
Tenho um cadastro de pedido onde adiciono cliente, representante, produto, etc …
Para adicionar produtos eu chamo:
<p:dialog widgetVar="addProduto"
id="addProduto"
modal="true"
height="650"
width="1000"
closable="false"
draggable="false"
resizable="false"
closeOnEscape="false"
onHide="pesquisaProduto"
header="Adicionar novo #{prodServMB.labelTipo}">
<f:metadata>
<f:event type="postAddToView" listener="#{prodServMB.cadastroExterno}"/>
</f:metadata>
<ui:include src="../../cadastro/prod_serv/formprodserv.inc.xhtml"/>
</p:dialog>
Nesse include acima eu tenho, entre outros form, o cadastrar de fornecedor para o produto então eu uso um formulário de cadastro de pessoa:
<p:dialog widgetVar="addPessoa"
id="addPessoa"
modal="true"
height="600"
width="1000"
closable="false"
draggable="false"
resizable="false"
closeOnEscape="false"
header="Adicionar novo">
<f:metadata>
<f:event type="postAddToView" listener="#{cadastroPessoasMB.cadastroExterno}"/>
</f:metadata>
<ui:include src="../../cadastro/pessoa/cadastro.inc.xhtml"/>
</p:dialog>
Só que o cadastro de pedido usa esse mesmo cadastro de pessoa, no caso para clientes, representante e transportadora.
Eu poderia resolver chamando direto esse <ui:include src="…/…/cadastro/pessoa/cadastro.inc.xhtml"/> para os cadastros de cliente, repres, transp num dialog mas assim dá um erro que os componentes com esse Id já existem.
Agora se eu usar o include chamado anteriormente no dialog addProduto dá erro pois ele está dentro de um dialog. Eu testei só colocando ele fora do dialog funcionou, mas eu teria que chamar ele só ao clicar no botão e problema que ele que contém o include do form de cadastro de produto que também tem o de pessoa.
Um pouco confuso, mas se alguém tiver alguma idéia favor avisar.