Negative quantities for byproducts in BOM and production lines

75 views
Skip to first unread message

reua...@gmail.com

unread,
Apr 19, 2021, 9:48:41 AM4/19/21
to iDempiere
Hello Community,

The quantity of a product that is produced as a byproduct has to be entered as a negative number in BOM and product lines. While I am perfectly happy that the feature exists at all and that it works without any flaw I am still not happy with the requirement to use flipped sign numbers in the user windows to designate a product as a production byproduct.
To me as an IT guy this is understandable and ok. However from my experience for many people using those forms it is a constant hassle.

Question: Has anybody else found that users tend not to easily familiarize themselves with this aspect of the interface?

Proposal: How about adding a Byproduct checkbox (Only visible when IsEndproduct is unchecked) 
  • The Byproduct status would then be recognizable from the setting of the box. This way the generation of a byproduct really appears like a legitimate feature and much less like a hack.
  • With the byproduct box checked users could just enter positive quantites for the byproduct. The MProduction business logic would handle the sign flip.
  • This Addition could easily be made to be compatible with existing data.
    A simple DB script could be used to flip the sign of negative quantities and set the IsByproduct flag.
    Production runs would still produce correct results if one forgot to run the script. Then the original negative quantities would be used without the sign flip.
This might look like a cosmetic change that does not fix anything. Still I believe that for many users without an IT background this could be a considerable enhancement to the User experience.

WDYT?

Andreas
  

Carlos Antonio Ruiz Gomez

unread,
Apr 19, 2021, 3:57:32 PM4/19/21
to idem...@googlegroups.com
Hi Andreas, negative quantities or amounts are managed in many parts of the system.

The change you suggest is not just cosmetic but usually these changes require big changes on core, and also it can affect any plugin that is developed around the same functionality.

Sometimes we have confronted similar situations with users on some specific installation, possible solutions:

1 - when we think the users must be "protected" from the complexity of the system, then sometimes we create user processes that take the parameters (positive for example), and internally create the documents as iDempiere requires

2 - another possibility is to that you can add two custom columns on your implementation CUST_Qty and CUST_IsByProduct, and hide Qty from your user, then in a Callout and an EventHandler you set the Qty based on those two columns


Regards,

Carlos Ruiz


Am 19.04.21 um 15:48 schrieb reua...@gmail.com:

reua...@gmail.com

unread,
Apr 20, 2021, 6:47:22 AM4/20/21
to iDempiere
Thanks Carlos for your answer,
Of course you are right in pointing to the effects my Proposal would have on third party plugins. I did not really consider these consequences and I agree that my idea is not a good enough reason to change the api (which includes not only the public classes and methods but also the entire database as I understand now.)
I will follow your advice and implement a customization along the lines of solution 2.

Andreas

Peter Shepetko

unread,
Apr 21, 2021, 1:28:42 AM4/21/21
to iDempiere

https://groups.google.com/g/idempiere/c/v0DeJfDKqyA/m/KDUAdmxCGQAJ
вторник, 20 апреля 2021 г. в 12:47:22 UTC+2, reua...@gmail.com:

Peter Shepetko

unread,
Apr 21, 2021, 1:34:15 AM4/21/21
to iDempiere

понедельник, 19 апреля 2021 г. в 15:48:41 UTC+2, reua...@gmail.com:

reua...@gmail.com

unread,
Apr 21, 2021, 5:32:19 AM4/21/21
to iDempiere
Thanks Peter for the links to previous discussions. 
My point was not so much about the process as such but rather about accessibility to the end user. 
My user is an operator in a chemical plant who will write the reactor protocols with the system and I can not bother her with these peculiarities of the implementation. 
Instead I have to present a user interface that is intuitive and does not pose another distraction from her actual job.

Following Carlos advice the intended improvement to the interface could be achieved without much effort.
The Production line table already comes with two columns for supply and production quantities. So basically all I had to do was to change the display logic of the fields using a new Byproduct checkbox. (Plus a callout that enters the sign flipped value into the corresponding field when a value is changed + an event handler to set the Byproduct checkbox upon production line creation.)

Now instead of this:

Bildschirmfoto 2021-04-21 um 11.18.48.png

We have got this:

Bildschirmfoto 2021-04-21 um 11.15.38.png

I am now thinking about making a similar modification to the BOM line table and window.

best regards

Andreas

Peter Shepetko

unread,
Apr 21, 2021, 6:55:24 AM4/21/21
to idem...@googlegroups.com
Hi Andreas,
My opinion that for chemical plant better use liberomfg plugin and add this change without changing of core.

Peter

среда, 21 апреля 2021 г. пользователь reua...@gmail.com <reua...@gmail.com> написал:
--
You received this message because you are subscribed to a topic in the Google Groups "iDempiere" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/idempiere/dKnNYQM39fs/unsubscribe.
To unsubscribe from this group and all its topics, send an email to idempiere+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/idempiere/48e594ab-3206-476a-8c35-fd1338dc403cn%40googlegroups.com.


--
Best regards,
Peter Shepetko
phone/telegram/viber/watsapp:+380965550585

reua...@gmail.com

unread,
Apr 21, 2021, 8:08:36 AM4/21/21
to iDempiere
Thanks Peter for suggesting Libero mfg. I am afraid I don't think it is suitable for the client because the production of the plant is controlled by the incoming material flow and not by customer requests.
Also I was not able to find any mention of a byproduct implementation in Libero mfg and that is mandatory for the client. Do you think my tiny mod could also benefit Libero? In that case I'll be happy to share.

Andreas
 

To unsubscribe from this group and all its topics, send an email to idempiere+...@googlegroups.com.

Peter Shepetko

unread,
Apr 21, 2021, 11:02:05 AM4/21/21
to idem...@googlegroups.com
Andreas,
You can work in liberomfg manually without customer request. You can set byproduct on componenttype field on libero bom. I think you can add your  mod to the plugin for your usability.

To unsubscribe from this group and all its topics, send an email to idempiere+unsubscribe@googlegroups.com.


--
Best regards,
Peter Shepetko
phone/telegram/viber/watsapp:+380965550585

--
You received this message because you are subscribed to a topic in the Google Groups "iDempiere" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/idempiere/dKnNYQM39fs/unsubscribe.
To unsubscribe from this group and all its topics, send an email to idempiere+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/idempiere/188094fa-ff4b-4eda-b604-0037b5f76903n%40googlegroups.com.

reua...@gmail.com

unread,
Apr 22, 2021, 2:06:11 AM4/22/21
to iDempiere
Thanks Peter for the Info. I'll have a look.


To unsubscribe from this group and all its topics, send an email to idempiere+...@googlegroups.com.


--
Best regards,
Peter Shepetko
phone/telegram/viber/watsapp:+380965550585

--
You received this message because you are subscribed to a topic in the Google Groups "iDempiere" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/idempiere/dKnNYQM39fs/unsubscribe.
To unsubscribe from this group and all its topics, send an email to idempiere+...@googlegroups.com.

Leszek Bober

unread,
Apr 26, 2021, 1:59:23 PM4/26/21
to iDempiere
Hi Andreas
My suggestion for your case:
  1. If Byproduct is in Byproduct Product Category 
  2. You can add callout on column Used Qty working as:
    If BOMProduct Exist in Byproduct Product Category, user entered positive value and callout multiplies -1.

Production accounting working good with negative values, we use it in GoLive systems.

Regards
Leszek Bober

reua...@gmail.com

unread,
Apr 26, 2021, 2:57:21 PM4/26/21
to iDempiere
Thanks Leszek, 
I have already found a good solution for the production line that does not involve sign flipping of an existing column value. I just use the MovedQuantity column instead of the UsedQuantity column for the byproduct. that is also much better to understand for the user because the feed quantities are in one column while the produced quantities are in the other.
(see the screenshot in my earlier post. That is not a mock but the actual dialog) 
 I have to check with my client if a change to the BOM to avoid negative quantities is really required. 

Andreas
Reply all
Reply to author
Forward
0 new messages