Hybris 6.2 During the CSCockpit refund process, the DefaultOrderHistoryService.createHistorySnapshot is called. It uses modelService.clone to clone the current version of the OrderModel. This clone is not cloning the consignments on the OrderEntryModel entries.
We have the warehouse module and eventually it attempts to call the WarehouseReturnService.createRefund which calls validateRefund. The validateRefund method checks the consignments to determine how many where shipped. Since the cloned version does not include the consignments, it returns 0 shipped which is less than the number attempting to be refunded. This then throws an IllegalArgumentException with the following log entries:
ERROR [Thread-59] [DefaultReturnsController] failed to create refund order
java.lang.IllegalArgumentException: Item is not returnable for this quantity
at de.hybris.platform.warehousing.returns.service.impl.WarehousingReturnService.validateRefund(WarehousingReturnService.java:120) ~[warehousingserver.jar:?]
at de.hybris.platform.warehousing.returns.service.impl.WarehousingReturnService.createRefund(WarehousingReturnService.java:48) ~[warehousingserver.jar:?]
at de.hybris.platform.cscockpit.widgets.controllers.impl.DefaultReturnsController.applyRefunds(DefaultReturnsController.java:423) ~[cscockpitserver.jar:?]
at de.hybris.platform.cscockpit.widgets.controllers.impl.DefaultReturnsController.createRefundOrderPreview(DefaultReturnsController.java:302) [cscockpitserver.jar:?]
at de.hybris.platform.cscockpit.widgets.renderers.impl.ReturnRequestCreateWidgetRenderer.handleReturnRequestCreateEvent(ReturnRequestCreateWidgetRenderer.java:386) [cscockpitserver.jar:?]
at de.hybris.platform.cscockpit.widgets.renderers.impl.ReturnRequestCreateWidgetRenderer$ReturnRequestCreateEventListener.onEvent(ReturnRequestCreateWidgetRenderer.java:372) [cscockpitserver.jar:?]
at org.zkoss.zk.ui.impl.EventProcessor.process0(EventProcessor.java:197) [zk-3.6.4-hybris-patched.jar:3.6.4]
at org.zkoss.zk.ui.impl.EventProcessor.process(EventProcessor.java:141) [zk-3.6.4-hybris-patched.jar:3.6.4]
at org.zkoss.zk.ui.impl.EventProcessingThreadImpl.process0(EventProcessingThreadImpl.java:519) [zk-3.6.4-hybris-patched.jar:3.6.4]
at org.zkoss.zk.ui.impl.EventProcessingThreadImpl.run(EventProcessingThreadImpl.java:446) [zk-3.6.4-hybris-patched.jar:3.6.4]
What do we need to change to our configuration to make this work OOTB?