Problema com "Confrontar XML do DF-e" e outros formulários


#1

Bom dia,
Estou trabalhando com o Idempiere atualmente e me deparei com alguns problemas.
Versão 6.2 KenosLBR >> atualizada da versão 5.1 AdempiereLBR
Ao tentar acessar o “Confrontar XML do DF-e” no menu me deparei com a seguinte mensagem de erro

Failed to open org.kenos.apps.form.VXMLMatch

Procurei essa classe no projeto da Kenos e não encontrei.
Executei sistema em modo debug e o meu console retornou o seguinte:

11:31:58.114 ADForm.openForm: AD_Form_ID=1120019 - Class=org.kenos.apps.form.VXMLMatch [334]

11:31:58.116-----------> DefaultFormFactory.newFormInstance: Web UI form not implemented for the swing form org.kenos.apps.form.VXMLMatch [334]
11:31:58.116 DefaultFormFactory.newFormInstance: org.kenos.apps.form.VXMLMatch not found at extension registry and classpath [334]
11:31:58.117===========> UiEngineImpl.error: [334]
org.adempiere.webui.exception.ApplicationException: Failed to open org.kenos.apps.form.VXMLMatch
at org.adempiere.webui.panel.AbstractMenuPanel.fireMenuSelectedEvent(AbstractMenuPanel.java:331)
at org.adempiere.webui.panel.AbstractMenuPanel.doOnClick(AbstractMenuPanel.java:276)
at org.adempiere.webui.panel.AbstractMenuPanel.onEvent(AbstractMenuPanel.java:250)
at org.adempiere.webui.panel.MenuTreePanel.onEvent(MenuTreePanel.java:119)
at org.zkoss.zk.ui.AbstractComponent.onEvent(AbstractComponent.java:3177)
at org.zkoss.zk.ui.AbstractComponent.service(AbstractComponent.java:3147)
at org.zkoss.zk.ui.AbstractComponent.service(AbstractComponent.java:3089)
at org.zkoss.zk.ui.impl.EventProcessor.process(EventProcessor.java:138)
at org.zkoss.zk.ui.impl.UiEngineImpl.processEvent(UiEngineImpl.java:1846)
at org.zkoss.zk.ui.impl.UiEngineImpl.process(UiEngineImpl.java:1618)
at org.zkoss.zk.ui.impl.UiEngineImpl.execUpdate(UiEngineImpl.java:1321)
at org.zkoss.zk.au.http.DHtmlUpdateServlet.process(DHtmlUpdateServlet.java:611)
at org.zkoss.zk.au.http.DHtmlUpdateServlet.doGet(DHtmlUpdateServlet.java:487)
at org.zkoss.zk.au.http.DHtmlUpdateServlet.doPost(DHtmlUpdateServlet.java:495)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:859)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1623)
at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:214)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540)
caused by: org.adempiere.webui.exception.ApplicationException: Failed to open org.kenos.apps.form.VXMLMatch
at org.adempiere.webui.panel.ADForm.openForm(ADForm.java:185)
at org.adempiere.webui.panel.ADForm.openForm(ADForm.java:137)
at org.adempiere.webui.desktop.TabbedDesktop.openForm(TabbedDesktop.java:89)
at org.adempiere.webui.desktop.DefaultDesktop.openForm(DefaultDesktop.java:1009)
at org.adempiere.webui.desktop.AbstractDesktop.onMenuSelected(AbstractDesktop.java:77)
at org.adempiere.webui.desktop.DefaultDesktop.onMenuSelected(DefaultDesktop.java:1049)
at org.adempiere.webui.panel.AbstractMenuPanel.fireMenuSelectedEvent(AbstractMenuPanel.java:327)
at org.adempiere.webui.panel.AbstractMenuPanel.doOnClick(AbstractMenuPanel.java:276)
at org.adempiere.webui.panel.AbstractMenuPanel.onEvent(AbstractMenuPanel.java:250)
at org.adempiere.webui.panel.MenuTreePanel.onEvent(MenuTreePanel.java:119)
at org.zkoss.zk.ui.AbstractComponent.onEvent(AbstractComponent.java:3177)
at org.zkoss.zk.ui.AbstractComponent.service(AbstractComponent.java:3147)
at org.zkoss.zk.ui.AbstractComponent.service(AbstractComponent.java:3089)
at org.zkoss.zk.ui.impl.EventProcessor.process(EventProcessor.java:138)
at org.zkoss.zk.ui.impl.UiEngineImpl.processEvent(UiEngineImpl.java:1846)
at org.zkoss.zk.ui.impl.UiEngineImpl.process(UiEngineImpl.java:1618)
at org.zkoss.zk.ui.impl.UiEngineImpl.execUpdate(UiEngineImpl.java:1321)
at org.zkoss.zk.au.http.DHtmlUpdateServlet.process(DHtmlUpdateServlet.java:611)
at org.zkoss.zk.au.http.DHtmlUpdateServlet.doGet(DHtmlUpdateServlet.java:487)
at org.zkoss.zk.au.http.DHtmlUpdateServlet.doPost(DHtmlUpdateServlet.java:495)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)

11:31:58.163 Trx.commit: **** POSaveAD_Issue_abf317d7-67ee-4e2b-a1bb-6e9d97f8b915 [334]

Tive o mesmo problema ao tentar executar outros formulários, “Failed open …”, ainda não estou 100% familiarizado com o Idempiere e não consegui identificar a raiz do problema.

Se alguém souber como resolver. Ficarei agradecido.


#2

Olá keltonvr, bom dia!

A função estava sendo desenvolvida numa branch separada e não está funcionando ainda. Não sei porque foi parar na branch principal, mas esta função ainda não está finalizada.

Att.
Ricardo


#3

Entendi. Obrigado pelo esclarecimento.

Um outro esclarecimento.

DefaultFormFactory.newFormInstance: Web UI form not implemented for the swing form org.kenos.apps.form.VXMLMatch [334]

e
11:31:58.116 DefaultFormFactory.newFormInstance: org.kenos.apps.form.VXMLMatch not found at extension registry and classpath [334]

Indicam que eu não posso realizar uma chamada a essa classe que pois ela não existe no projeto. Quando eu aponto para classes que existem, como no caso das classes criadas para o 5.1 o mesmo erro aparece.

Estive analisando o que está acontecendo e no momento que o Idempiere verifica os “FormFactory” ele não identifica o desse plugin. Esso processo acontece na classe “Extensions”, método “getForm(String formId)”.

Caso você saiba como fazer com que o Idempiere identifique o novo plugin me ajudaria a resolver esse problema.


#4

Se você tem algum formulário customizado, é necessário deixá-lo disponível via OSGi. Você pode fazer via interface IFormFactory ou via Eclipse-RegisterBuddy no MANIFEST.MF.

Exemplos:
org.kenos.idempiere.lbr.base.zk.form.FormFactory
org.kenos.idempiere.lbr.base/META-INF/MANIFEST.MF

Att.
Ricardo