Add Printing Support to ProcessInfoDialog
Description
Environment
Attachments
- 23 Jul 2022, 05:02 AM
is caused by
Activity
Norbert Bede August 7, 2022 at 10:57 AM
Documentation Page
https://wiki.idempiere.org/en/NF10_Print_Support_Process_Info_Dialog
Norbert Bede August 7, 2022 at 9:46 AMEdited
use case: 1. open generate shipment (manual) 2. run generate 3. popup - "this.m_logs" is null (this happens only when no shipment generated - eg gardenworld sales order 50001, 50002)
ISSUE: Cannot read the array length because "this.m_logs" is null
tested in version: 10.0.0.202208051127
NullPointerException: Cannot read the array length because "this.m_logs" is null
at org.adempiere.webui.component.ProcessInfoDialog.isPrintable(ProcessInfoDialog.java:292)
at org.adempiere.webui.component.ProcessInfoDialog.init(ProcessInfoDialog.java:188)
at org.adempiere.webui.component.ProcessInfoDialog.<init>(ProcessInfoDialog.java:106)
at org.adempiere.webui.component.ProcessInfoDialog.showProcessInfo(ProcessInfoDialog.java:329)
at org.adempiere.webui.panel.InfoPanel$4.onEvent(InfoPanel.java:2319)
at org.zkoss.zk.ui.AbstractComponent.onEvent(AbstractComponent.java:3186)
at org.zkoss.zk.ui.AbstractComponent.service(AbstractComponent.java:3156)
at org.zkoss.zk.ui.AbstractComponent.service(AbstractComponent.java:3098)
at org.zkoss.zk.ui.impl.EventProcessor.process(EventProcessor.java:138)
at org.zkoss.zk.ui.event.Events.sendEvent(Events.java:367)
at org.adempiere.webui.component.Window.onPageDetached(Window.java:86)
at org.zkoss.zk.ui.AbstractComponent.setPage0(AbstractComponent.java:520)
at org.zkoss.zk.ui.AbstractComponent.setParent(AbstractComponent.java:1255)
at org.zkoss.zk.ui.AbstractComponent.detach(AbstractComponent.java:1961)
at org.adempiere.webui.apps.ProcessModalDialog.dispose(ProcessModalDialog.java:200)
at org.adempiere.webui.apps.AbstractProcessDialog.onComplete(AbstractProcessDialog.java:962)
at org.adempiere.webui.apps.AbstractProcessDialog.onEvent(AbstractProcessDialog.java:663)
at org.adempiere.webui.apps.ProcessModalDialog.onEvent(ProcessModalDialog.java:247)
at org.zkoss.zk.ui.impl.DesktopImpl$ScheduleInfo.invoke(DesktopImpl.java:1856)
at org.zkoss.zk.ui.impl.DesktopImpl$ScheduleInfo.access$1100(DesktopImpl.java:1843)
at org.zkoss.zk.ui.impl.DesktopImpl$ScheduleListener.onEvent(DesktopImpl.java:1867)
at org.zkoss.zk.ui.AbstractComponent.onEvent(AbstractComponent.java:3186)
at org.zkoss.zk.ui.AbstractComponent.service(AbstractComponent.java:3156)
at org.zkoss.zk.ui.AbstractComponent.service(AbstractComponent.java:3098)
Norbert Bede July 28, 2022 at 8:50 AM
@Peter Takacs committed PR after some tuning last requested change I assume it is quite simple and powered print feature.
thanks for idea we hope make idempiere more usable.
Norbert

Heng Sin Low July 26, 2022 at 6:37 AM
Hi @Norbert Bede ,
Yes, printing should depends solely on whether the linked document is printable.
For feature parity with the legacy generate shipment(manual) form, the minimum is to have a “print all” option (as 1 pdf). I think having a print icon next to each linked document is not a must here.
For print all, not a must to have selection of print format (the legacy form doesn’t provide that).
Selection of print format should follow existing rule.
Regards,
Low
Norbert Bede July 23, 2022 at 5:12 AM
@Heng Sin Low , @Carlos Ruiz i write here some use cases, assumptions, topic to talk, clarify before we start any development
the print can be run from info window process info result and process related not to info window - am I right ?
we assume the process able to generate 1 or N documents
the user should print 1 document with 1 print button 1 or all (1 pdf) documents, another option print each by clicking on “link print icon”
print button open pdf preview, user change/select new print format then run browser/operating system print dialog - the print resolve local printer or IP printer registered on LAN
print format will be loaded according to default from doctype>print format defaults
please provide feedback clarify the goal of this improvment.
Norbert
This issue should complete the migration of Generate Shipments (manual) and Generate Invoices (manual) forms to Info Window, because we lost printing support there.
According to@Heng Sin Low suggestion
For printing of generated documents, one simple to implement alternative is to add printing support to the document link dialog.