Giter Site home page Giter Site logo

metasfresh / metasfresh Goto Github PK

View Code? Open in Web Editor NEW
1.6K 81.0 563.0 291.08 MB

We do Open Source ERP - Fast, Flexible & Free Software to scale your Business.

Home Page: http://metasfresh.com/en

HTML 0.10% Shell 0.08% Java 85.55% CSS 0.02% PLpgSQL 6.97% Dockerfile 0.01% Groovy 0.06% Batchfile 0.02% JavaScript 2.22% FreeMarker 0.02% SCSS 0.12% Gherkin 3.43% TypeScript 0.12% XSLT 1.27% Python 0.01% MDX 0.01%
metasfresh javascript react java management business erp manufacturing accounting crm

metasfresh's Introduction

metasfresh - We do Open Source ERP

release license

X (formerly Twitter) Follow

metasfresh is a responsive, Free and Open Source ERP System. Our aim is to create fast and easy-to-use enterprise software with an outstanding user experience.

We do Open Source ERP

Equipped with wide and detailed functionality, metasfresh fits for companies from industry and trade that are searching business software that provides high scalability and flexibility.

It has a 3-tier architecture with Rest-API and a Web User Frontend developed in HTML5/ ReactJS/ Redux.

metasfresh-sales-order

KPI Dashboard Sales Order Window Material Receipt Window

Installation

We publish a stable Release of metasfresh every Friday - ok, we skip 1 week at the end of the year ;-) . You can download it here.

metasfresh can be installed via Docker or Ubuntu Installer.

Docker How do I setup the metasfresh stack using Docker?

Ubuntu How do I install metasfresh using the Installation package?

First steps:

Documentationbadge

If you are new to metasfresh and would like to learn more, then you can find our documentation here:

Discussion

Come visit us in our Community Forum for questions, discussions and exchange of new insights. We look forward to meeting you!

Contributing

Do you want to help improving documentation, contribute some code or participate in functional requirements. That's great, you're welcome! Please read our Code of Conduct and Contributor Guidelines first.

"Monorepo"

To check out only certain parts of this repository, we recommend getting git version 2.25.0 or later and use the git-sparse-checkout feature. Examples:

  • to get started, do git sparse-checkout init --clone
    • this will leave you with just the files in the repo's root folder, such as the file you are reading
  • to get the frontend code, do git sparse-checkout set frontend
  • to go back to having everything checked out, do git sparse-checkout disable

What's new in metasfresh ERP?

If you are interested in latest improvements or bug fixes of metasfresh ERP, feel free to check out our Release Notes.

metasfresh's People

Contributors

adi-stefan avatar av-ps avatar bodorannamaria avatar chemsnouioua avatar cp-ps avatar cristinamghita avatar cristinastefan90 avatar damianprzygodzki avatar dm-ps avatar dragospodariu96 avatar dunkat avatar fp-ps avatar mergify[bot] avatar metas-dev avatar metas-lc avatar metas-mk avatar metas-rc avatar metas-ts avatar metasnw avatar mi-ps avatar mpeelen avatar mrie04 avatar pablosichert avatar petrican avatar pvpurcarcosmin avatar riadmen avatar siemiatj avatar teosarca avatar thebestpessimist avatar wiadev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

metasfresh's Issues

FRESH-481 Fix "IsActive flag found on WindowNo=2, TabNo=0, WindowName=Element" warning

When you open Element window, the console is flooded with following warning:

2016-07-05 13:49:28.552 WARN 12780 --- [ TLoader] org.compiere.model.GridField : No IsActive flag found on WindowNo=2, TabNo=0, WindowName=Element, TableName=AD_Element. Considering IsActive=Y

To fix it, pls create the IsActive field (i.e. AD_Field) in the second tab.

Extend Record_ID Column Implementation

In some of the tables we need to have more than one Record_ID column (for instance, in the RV_Missing_Counter_Documents).
This is not currently supported by our code.
Extend the Record_ID columns logic to support also names like "%_Record_ID" and "%(_AD)_Table_ID"

The % will be replace with a name, for instance "Counter_Record_ID". This name will have to be identical in the table and record column names.

FRESH-484 Error creating manual DD_Order

got an error when i created a manual distribution order:

2016-07-05 14:13:27.028 ERROR 31043 --- [WT-EventQueue-0] org.compiere.model.CalloutInOut          : start: docType

org.adempiere.exceptions.AdempiereException: Interface interface org.compiere.model.I_M_InOut (tableName=M_InOut) is not compatible with GridTab{TabNo=0, Name=Distribution Order, AD_Tab_ID=53055, TableName=DD_Order} (tableName=DD_Order)
        at org.adempiere.model.GridTabWrapper.create(GridTabWrapper.java:114)
        at org.adempiere.model.GridTabWrapper.create(GridTabWrapper.java:58)
        at org.adempiere.model.InterfaceWrapperHelper.create(InterfaceWrapperHelper.java:233)
        at org.adempiere.model.InterfaceWrapperHelper.create(InterfaceWrapperHelper.java:178)
        at org.compiere.model.CalloutInOut.docType(CalloutInOut.java:186)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.compiere.model.CalloutEngine.start(CalloutEngine.java:109)
        at org.adempiere.ad.callout.api.impl.legacy.LegacyCalloutAdapter.onFieldChanged(LegacyCalloutAdapter.java:152)
        at org.adempiere.ad.callout.api.impl.DefaultCalloutInstance.execute(DefaultCalloutInstance.java:112)
        at org.adempiere.ad.callout.api.impl.CalloutExecutor.execute(CalloutExecutor.java:151)
        at org.adempiere.ad.callout.api.impl.CalloutExecutor.execute(CalloutExecutor.java:110)
        at org.compiere.model.GridTab.processCallout(GridTab.java:3290)
        at org.compiere.model.GridTab.processFieldChange(GridTab.java:3211)
        at org.compiere.grid.GridController.dataStatusChanged(GridController.java:1265)
        at org.compiere.model.GridTab.fireDataStatusChanged(GridTab.java:2660)
        at org.compiere.model.GridTab.dataStatusChanged(GridTab.java:2626)
        at org.compiere.model.GridTable.fireDataStatusChanged(GridTable.java:3298)
        at org.compiere.model.GridTable.setValueAt(GridTable.java:1244)
        at org.compiere.grid.GridController.vetoableChange(GridController.java:1750)
        at java.beans.VetoableChangeSupport.fireVetoableChange(VetoableChangeSupport.java:375)
        at java.beans.VetoableChangeSupport.fireVetoableChange(VetoableChangeSupport.java:271)
        at javax.swing.JComponent.fireVetoableChange(JComponent.java:4534)
        at org.compiere.grid.ed.VLookup.actionCombo(VLookup.java:1011)
        at org.compiere.grid.ed.VLookup.actionPerformed(VLookup.java:946)
        at javax.swing.JComboBox.fireActionEvent(JComboBox.java:1258)
        at javax.swing.JComboBox.setSelectedItem(JComboBox.java:586)
        at javax.swing.JComboBox.setSelectedIndex(JComboBox.java:622)
        at javax.swing.plaf.basic.BasicComboPopup$Handler.mouseReleased(BasicComboPopup.java:852)
        at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:290)
        at java.awt.Component.processMouseEvent(Component.java:6535)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
        at javax.swing.plaf.basic.BasicComboPopup$1.processMouseEvent(BasicComboPopup.java:501)
        at java.awt.Component.processEvent(Component.java:6300)
        at java.awt.Container.processEvent(Container.java:2236)
        at java.awt.Component.dispatchEventImpl(Component.java:4891)
        at java.awt.Container.dispatchEventImpl(Container.java:2294)
        at java.awt.Component.dispatchEvent(Component.java:4713)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
        at java.awt.Container.dispatchEventImpl(Container.java:2280)
        at java.awt.Window.dispatchEventImpl(Window.java:2750)
        at java.awt.Component.dispatchEvent(Component.java:4713)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
        at java.awt.EventQueue.access$500(EventQueue.java:97)
        at java.awt.EventQueue$3.run(EventQueue.java:709)
        at java.awt.EventQueue$3.run(EventQueue.java:703)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
        at java.awt.EventQueue$4.run(EventQueue.java:731)
        at java.awt.EventQueue$4.run(EventQueue.java:729)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
[14:20:31] Daniela Hoffmann: 2016-07-05 14:13:27.057  WARN 31043 --- [WT-EventQueue-0] org.compiere.model.GridTab               : Interface interface org.compiere.model.I_M_InOut (tableName=M_InOut) is not compatible with GridTab{TabNo=0, Name=Distribution Order, AD_Tab_ID=53055, TableName=DD_Order} (tableName=DD_Order)

Check for java8 in the rollout-scripts

  • related to FRESH-339
  • Pls extend sql_remote.sh and minor_remote.sh to check if we have hava-8 (both, because also no rollout SQL should be done unless the server will be able to run). If there is no java-8, please exit and provide a link to the update documentation.
  • if JAVA_HOME is set, afair, then that'S the java-version to check, even if that version is not in the path (but pls verify)
  • i recommend to add the check to tools.sh
  • i reccomend to also update that diag-script which we have

FRESH-472 Sequence on Org for more than 1 Doctype

Sequence on Org for more than 1 Doctype
Currently the Doc Sequence No is joined to DocType. If you create a new Org, then u have to create new DocTypes if this new Org shall have its own Doc Sequence. This leads to awkward DocType Names like "Sales Order" and "Sales Order Org1".
Suggestion:

  • Don't join the Sequence in C_DocType (column)
  • Add Sub-Table instead C_DocType_Sequences which can take many lines (1 per Org) for Doc Sequences

Amazon EDI Interface

Customize existing EDI templates to connect metasfresh to Amazons EDI interface for RETAIL

Excel Export of report Konten-Information not working

Excel Export of report Konten-Information not working
Error Taken from Server Console:


org.postgresql.util.PSQLException: ERROR: function report.fresh_account_info_report(numeric, unknown, unknown, numeric, character varying, character varying) does not exist
  Hint: No function matches the given name and argument types. You might need to add explicit type casts
```.

Create view and window to identify missing counter documents

We need a view and and windows for users to see the view.
The view needs to show those purchase orders that should have but don't have a (complete) counter document sales order.

To find out which documents should have a counter document, check out CounterDocumentHandlerAdapter.isCreateCounterDocument()

To find out if a document does have a counter document: for orders, every C_OrderLine's Ref_OrderLine_ID column needs to be set.

There might be the case of the counter sales order not having been created and the case of not all counter lines having been created.
The user watching the view needs to be able to distinguish between those cases, and in the case of an incomplete counter sales order, needs to see it. I suggest to have in that view one line per document line that has no pendant.

Note in that context:

That user needs to have the counter-DocumentNo, even if he doesn't have the rights to zoom to the counter-Doc itself, so i would saw, sow the C_Order_ID, but also explicitly show the doctype and documentno of the (incomplete) counter doc.

Also note that currently we only support purchase-order -> counter sales order, but in future we will probably support a lot more doc types, so if it's not too hard i suggest to not "bind" to C_OrderLine, but rather use AD_Table_ID/Record_ID and generally be agnostic to the type of document.

Sales Order complete - Record was changed by another user

Szenario:

  • 1st user creates a sales order with a few order lines. save.
  • 2nd user opens that sales order. changes some qties in orderlines, saves lines. button complete.

Error: record on parent tab was changed by anoter user, please navigate to tab and requery order.

PMM_PurchaseCandidate for Trend has the wrong price

found during e2e, how to reproduce:

  • procurement contract with price set in C_Flatrate_DataEntry for the current & following month
  • create a PMM_PurchaseCandidate in WebUI for Trend only
  • open PMM_PurchaseCandidate:
    ** price is not taken from C_Flatrate_DataEntry, but from pricelist, NOK

(working fine for PMM_PurchaseCandidate with product qty!)

FRESH-487 Improve our missing-counerdocs-view

this is a follow-up for #90 FRESH-417

Please

  • add Created, Updated and DocStatus, so that the user can better see how current/relevant the document still is
  • give a nicer name for the window (eg. Missing Counter Docs / Fehlender/Unvollständiger Gegenbeleg)
  • add also show which lines are missing (can be text, e.g. string_agg on the ol.Lines that have no counterpart, like "10, 30, 80")
  • can there be a case where a record is shown in the view, and the LEFT-JOINED counter is not null? I'm not sure..
  • pls make the field names more consistend: in "doc" the Record_ID is the C_OrderLine_ID, in "counter_doc" the Counter_Record_ID the C_Order_ID
  • problem: there might be really old and irrelevant records being shown
    ** suggestion: add the procssed field and make the window "transactional", so that by default only recent records are shown. but pls also talk with @metas-mk
  • add a condition like bp.AD_OrgBP_ID != o.AD_Org_ID /* if someone creates an order for its own org's BPartner, the system won't create a counter-doc, but it's not an error */ because see comment

Make recipient of the mail configurable in Process SendPDFMailsForSelection

Functional concept

Extend Mail routing feature, so that can specify the column(its content from the document) that will be used as recipient of the email
This will work only when DocumentBaseType is filled up in mail routing
If no routing is defined , then will fallback to the existent logic, which goes after bill location and based on that gets first user created linked to that location

Technical concept

Introduce a new field in AD_MailConfig, Something like ColumnUserTo(will be filled with AD_User_ID or Bill_User_ID or something similar)
Change IMailbox by adding a method for retrieving ColumnUserTo from config
Modify de.metas.notification.impl.MailBL.Mailbox to store ColumnUserTo
Based on Mailbox.ColumnUserTo, try to retrieve the user that will receive the mail
check in that table, for that specified field ; if exist use the content
if not, or not mail config existent, fallback to existent logic

Invoice Candidate with error does not have IsProcessed after the closing process in invoice candidates

Found during IT for FRESH-378:

  • IC with InDispute=Y, because of error in invoicing (e.g. Tax_Not_Found, product not on pricelist): after running the closing process in invoices candidates (Gear, Auswahl schließen), the IC has IsProcessed_Override=Y, BUT IsProcessed (Komplett abgerechnet eff.) is NOT set
  • IC with InDispute=Y, because of quality issue in inout, has both IsProcessed_Override=Y and IsProcessed=Y

FRESH-501 Wrong LU taken in InOut Generate

Szenario: In Shipment Scheduler, when generating a Shipment for an Order, the Shipment is created with a corresponding LU (shall be parent LU to TU Config in Orderlines/ Shipment Schedule). In current Case we have HU-PI Configs with LU in 2 different Organisations. The wrong (new) config is taken for LU.

FRESH-493 Allow to configure shipment address to always be delivery address

Examples/Notes about where this shall work:

  • A BPartner with two locations both are ShipTo and BillTo addresses and that both are "equal" (none is flagged as default).
  • If the user changes C_Order.C_BPartner_Location_ID in an uncompleted order => C_Order.Bill_Location_ID shall be changed as well
  • For a (packaging) receipt (e.g. some palletes without a referenced order): in this case, the C_Invoice_Candidate shall have delivery-location == billto-Location
    ** currently, in this case (->no default-billTo), the M_InOut_Handler just picks the "first" billto-location instead. It only looks at bpartner-relations if there is no bpartner-"local" billTo-location

Suggestions:

  • from an user/admin perpective, it can be configured via bpartner-relations which have C_BPartner_ID == C_BPartnerRelation_ID.
  • from a developer's view, i think that we need, in certain cases to thread the case of multiple C_BPartner_Locations with no distinction (no "default" one) as if there was none at all. That way, the system should then try to check the bp-relations as next step.

FRESH-488 PaymentRule = S in Invoice

Although niot set in C_BPartner the PaymentRule = S sometime is set Invoice (Purchase and Sales).
Please deactivate S as PaymentRule and make sure that this does not have any Side Effects.

CMP not working correctly

found while setting up data for production demo on mf15:

  • sales order for a product which is produced
  • setting up production warehouse, production ressource, BOM etc.
  • after running CMP, to get a PP_Order: no results, MRP Info stays empty:
    => PP_MRP remains empty, should be filled after a sales order is created for a product that is produced
  • to be done as well: full documentation on how to set up data for the production (warehouses, ressources, BOM etc.)! (by nw or dh)

M_PickingSlot_HU error when creating shipments from shipment schedule

From the AD_Issue:

"de.metas.document.exceptions.DocumentProcessingException: Error Processing Document
document: Lieferschein xxxxxx
Belegverarbeitung: CO
ProcessMsg: null
Cause: Der Datensatz kann nicht gelöscht werden, bitte de-aktivieren: X_M_PickingSlot_HU[M_PickingSlot_HU_ID=1136674, trxName=GenerateInOutFromShipmentSchedules_9fa9e14c-9138-4e79-b982-45f9533b2ab1]+; SQL update returned no=0; SQL=(DELETE FROM M_PickingSlot_HU WHERE M_PickingSlot_HU_ID=1136674) (AdempiereException)
    at de.metas.document.engine.impl.AbstractDocActionBL$1.doCatch(AbstractDocActionBL.java:105)
    at org.adempiere.ad.trx.api.impl.AbstractTrxManager.run0(AbstractTrxManager.java:678)
    at org.adempiere.ad.trx.api.impl.AbstractTrxManager.run(AbstractTrxManager.java:569)
    at org.adempiere.ad.trx.api.impl.AbstractTrxManager.run(AbstractTrxManager.java:476)
    at org.adempiere.ad.trx.api.impl.AbstractTrxManager.run(AbstractTrxManager.java:420)
    at de.metas.document.engine.impl.AbstractDocActionBL.processIt(AbstractDocActionBL.java:87)
    at de.metas.document.engine.impl.AbstractDocActionBL.processEx(AbstractDocActionBL.java:144)
    at de.metas.handlingunits.shipmentschedule.spi.impl.InOutProducerFromShipmentScheduleWithHU.completeChunk(InOutProducerFromShipmentScheduleWithHU.java:346)
    at org.adempiere.ad.trx.processor.api.impl.TrxItemChunkProcessorExecutor.completeChunk(TrxItemChunkProcessorExecutor.java:289)
    at org.adempiere.ad.trx.processor.api.impl.TrxItemChunkProcessorExecutor.execute(TrxItemChunkProcessorExecutor.java:154)
    at de.metas.handlingunits.shipmentschedule.async.GenerateInOutFromHU.generateInOuts(GenerateInOutFromHU.java:192)
    at de.metas.handlingunits.shipmentschedule.async.GenerateInOutFromShipmentSchedules.processWorkPackage(GenerateInOutFromShipmentSchedules.java:152)
    at de.metas.async.processor.impl.WorkpackageProcessorTask.processWorkpackage(WorkpackageProcessorTask.java:268)
    at de.metas.async.processor.impl.WorkpackageProcessorTask.access$000(WorkpackageProcessorTask.java:78)
    at de.metas.async.processor.impl.WorkpackageProcessorTask$1.run(WorkpackageProcessorTask.java:156)
    at org.compiere.util.TrxRunnable2Wrapper.run(TrxRunnable2Wrapper.java:68)
    at org.adempiere.ad.trx.api.impl.AbstractTrxManager.run0(AbstractTrxManager.java:656)
    at org.adempiere.ad.trx.api.impl.AbstractTrxManager.run(AbstractTrxManager.java:569)
    at de.metas.async.processor.impl.WorkpackageProcessorTask.run(WorkpackageProcessorTask.java:146)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at Thread.run(Thread.java:745)
Caused by: org.adempiere.exceptions.AdempiereException: Der Datensatz kann nicht gelöscht werden, bitte de-aktivieren: X_M_PickingSlot_HU[M_PickingSlot_HU_ID=1136674, trxName=GenerateInOutFromShipmentSchedules_9fa9e14c-9138-4e79-b982-45f9533b2ab1]+; SQL update returned no=0; SQL=(DELETE FROM M_PickingSlot_HU WHERE M_PickingSlot_HU_ID=1136674)
    at org.compiere.model.PO.delete0(PO.java:3871)
    at org.compiere.model.PO.access$400(PO.java:129)
    at org.compiere.model.PO$3.run(PO.java:3760)
    at org.adempiere.ad.trx.api.impl.AbstractTrxManager.run0(AbstractTrxManager.java:656)
    at org.adempiere.ad.trx.api.impl.AbstractTrxManager.run(AbstractTrxManager.java:569)
    at org.adempiere.ad.trx.api.impl.AbstractTrxManager.run(AbstractTrxManager.java:476)
    at org.adempiere.ad.trx.api.impl.AbstractTrxManager.run(AbstractTrxManager.java:420)
    at org.compiere.model.PO.deleteEx(PO.java:3753)
    at org.adempiere.model.POWrapper.delete(POWrapper.java:801)
    at org.adempiere.model.InterfaceWrapperHelper.delete(InterfaceWrapperHelper.java:723)
    at de.metas.handlingunits.impl.HUPickingSlotBL.removeFromPickingSlotQueue(HUPickingSlotBL.java:383)
    at de.metas.handlingunits.impl.HUPickingSlotBL.removeFromPickingSlotQueue(HUPickingSlotBL.java:408)
    at de.metas.handlingunits.impl.HUPickingSlotBL$4.afterHU(HUPickingSlotBL.java:439)
    at de.metas.handlingunits.impl.AbstractHUIterator$HUNodeIterator.afterIterate(AbstractHUIterator.java:518)
    at de.metas.handlingunits.impl.AbstractHUIterator$HUNodeIterator.afterIterate(AbstractHUIterator.java:501)
    at de.metas.handlingunits.impl.AbstractHUIterator$AbstractNodeIterator.iterate(AbstractHUIterator.java:400)
    at de.metas.handlingunits.impl.HUIterator.iterate(HUIterator.java:90)
    at de.metas.handlingunits.impl.HUIterator.iterate(HUIterator.java:76)
    at de.metas.handlingunits.impl.HUPickingSlotBL.removeFromPickingSlotQueueRecursivelly(HUPickingSlotBL.java:443)
    at de.metas.handlingunits.model.validator.M_InOut.emptyPickingSlots(M_InOut.java:137)
    at sun.reflect.GeneratedMethodAccessor421.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at reflect.Method.invoke(Method.java:606)
    at org.adempiere.ad.modelvalidator.AnnotatedModelInterceptor.executeNow(AnnotatedModelInterceptor.java:559)
    at org.adempiere.ad.modelvalidator.AnnotatedModelInterceptor.execute(AnnotatedModelInterceptor.java:503)
    at org.adempiere.ad.modelvalidator.AnnotatedModelInterceptor.execute(AnnotatedModelInterceptor.java:458)
    at org.adempiere.ad.modelvalidator.AnnotatedModelInterceptor.onDocValidate(AnnotatedModelInterceptor.java:443)
    at org.adempiere.ad.modelvalidator.ModelInterceptor2ModelValidatorWrapper.docValidate(ModelInterceptor2ModelValidatorWrapper.java:132)
    at org.compiere.model.ModelValidationEngine.fireDocValidate(ModelValidationEngine.java:1108)
    at org.compiere.model.ModelValidationEngine.fireDocValidate0(ModelValidationEngine.java:1078)
    at org.compiere.model.ModelValidationEngine.access$100(ModelValidationEngine.java:89)
    at org.compiere.model.ModelValidationEngine$3.run(ModelValidationEngine.java:1062)
    at org.compiere.model.ModelValidationEngine$2.run(ModelValidationEngine.java:744)
    at org.adempiere.ad.trx.api.impl.AbstractTrxManager.run0(AbstractTrxManager.java:656)
    at org.adempiere.ad.trx.api.impl.AbstractTrxManager.run(AbstractTrxManager.java:569)
    at org.compiere.model.ModelValidationEngine.executeInTrx(ModelValidationEngine.java:738)
    at org.compiere.model.ModelValidationEngine.fireDocValidate(ModelValidationEngine.java:1057)
    at org.compiere.model.MInOut.completeIt(MInOut.java:1733)
    at org.compiere.process.DocumentEngine.completeIt(DocumentEngine.java:523)
    at org.compiere.process.DocumentEngine.processIt0(DocumentEngine.java:336)
    at org.compiere.process.DocumentEngine.processIt(DocumentEngine.java:296)
    at org.compiere.process.DocumentEngine.processIt(DocumentEngine.java:264)
    at de.metas.document.engine.impl.AbstractDocActionBL.processIt(AbstractDocActionBL.java:68)
    at org.compiere.model.MInOut.processIt(MInOut.java:1174)
    at de.metas.document.engine.impl.AbstractDocActionBL.processIt0(AbstractDocActionBL.java:135)
    at de.metas.document.engine.impl.AbstractDocActionBL$1.run(AbstractDocActionBL.java:94)
    at org.adempiere.ad.trx.api.impl.AbstractTrxManager.run0(AbstractTrxManager.java:656)
    ... 22 more
"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.