Add Printing Support to ProcessInfoDialog

Description

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 suggestion

For printing of generated documents, one simple to implement alternative is to add printing support to the document link dialog.

 

Environment

None

Attachments

1
  • 23 Jul 2022, 05:02 AM

Activity

Show:

Norbert Bede August 7, 2022 at 10:57 AM

Norbert Bede August 7, 2022 at 9:46 AM
Edited

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

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 ,

  • 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

, 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

Fixed

Details

Assignee

Reporter

Fix versions

Priority

Created July 22, 2022 at 2:27 PM
Updated October 1, 2022 at 7:25 AM
Resolved August 9, 2022 at 9:50 AM