Issue 6442

Add serial number functionalities to lot
Prevent modify product lot if there are any move (issue 7516)
Project-Id-Version: Roundup 0.7.0 Report-Msgid-Bugs-To: POT-Creation-Date: 2020-07-12 23:40-0400 PO-Revision-Date: 2004-11-20 13:47+0200 Language-Team: English Language: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii
RFC: Inventory Counting wizard (issue 7515)
Nosy list
Timitos, ced, nblock, nicoe, pokoli, resteve, reviewbot, roundup-bot
Assigned to

Created on 2017-04-14.18:08:12 by nicoe, last changed 27 months ago by roundup-bot.


New changeset d3b79816d7d1 by Cédric Krier in branch 'default':
Add stock_lot_unit and count wizard on inventory
New changeset 2fbd11633ede by Cédric Krier in branch 'default':
Initial commit
Author: [hidden] (ced) Tryton committer Tryton translator
Date: 2018-06-29.09:18:34
Last patch version was missing a super call.
Author: [hidden] (Timitos) Tryton translator
Date: 2018-06-28.19:34:49
I tested the latest version and it seems that there are no stock moves created any more. I tested it with a product with lots and with one without lots. No difference on this problem for these types. I had only the following reviews applied:

Am i missing something?
Author: [hidden] (ced) Tryton committer Tryton translator
Date: 2018-06-28.11:30:03
I added on last version a check at the inventory confirmation.
Author: [hidden] (Timitos) Tryton translator
Date: 2018-06-27.14:20:44
The validation does not raise an error if you add to a lot that already has a quantity of 1 in stock another quantity of 1 (expected quantity: 1, quantity: 2, lot_unit: 1 unit) as in this case the quantity of the stock move is not greater than the lot unit.
Author: [hidden] (ced) Tryton committer Tryton translator
Date: 2018-06-26.13:07:53
I do not understand what you mean by validation. On confirmation, if the inventory creates such moves, an exception will be raised
Author: [hidden] (Timitos) Tryton translator
Date: 2018-06-26.12:52:31
It is still possible to enter a quantity for a lot that is higher than the defined quantity on the lot. And there is no error raised on validation of the inventory.
Author: [hidden] (ced) Tryton committer Tryton translator
Date: 2018-06-15.18:33:39
Indeed make lot required on inventory is not correct see issue7519, so I put an error message on issue7515.
Author: [hidden] (ced) Tryton committer Tryton translator
Date: 2018-06-15.16:52:44
I understand so I think the inventory line should make the lot required. But it is not really linked to this issue so I will create a new one.
Author: [hidden] (Timitos) Tryton translator
Date: 2018-06-14.11:04:15
I think that this is too late. The user should not be able to enter values that do not validate in a later stage of the process
Author: [hidden] (ced) Tryton committer Tryton translator
Date: 2018-06-14.10:41:23
It will be verified at the validation of the inventory.
Author: [hidden] (Timitos) Tryton translator
Date: 2018-06-14.10:27:53
With the new counting wizard it is currently possible to add a quantity that is higher than the quantity of the selected lot. And it is possible to select a product that requires a lot and to add any quantity without selecting a lot. Both should be not possible.
Author: [hidden] (ced) Tryton committer Tryton translator
Date: 2018-06-12.11:10:05
On 2018-06-12 10:42, Korbinian Preisler wrote:
>     AttributeError: "product.product,1" has no attribute "lot_unit"

Must be fixed in last patch.
Author: [hidden] (Timitos) Tryton translator
Date: 2018-06-12.10:42:24
When running the tests on the newest version i get this error:

trytond/trytond/tests/ -m stock_lot_unit

Failed example:
    lot = Lot(number='00001', product=product)
Exception raised:
    Traceback (most recent call last):
      File "/usr/lib/python2.7/", line 1315, in __run
        compileflags, 1) in test.globs
      File "<doctest scenario_stock_lot_unit.rst[51]>", line 1, in <module>
        lot = Lot(number='00001', product=product)
      File "/home/kpreisler/fab_venv/projects/trytondev/proteus/proteus/", line 726, in __init__
        setattr(self, field_name, value)
      File "/home/kpreisler/fab_venv/projects/trytondev/proteus/proteus/", line 265, in __set__
        super(Many2OneDescriptor, self).__set__(instance, value)
      File "/home/kpreisler/fab_venv/projects/trytondev/proteus/proteus/", line 129, in __set__
      File "/home/kpreisler/fab_venv/projects/trytondev/proteus/proteus/", line 1094, in _on_change
        changes = getattr(self._proxy, 'on_change')(values, names, context)
      File "/home/kpreisler/fab_venv/projects/trytondev/proteus/proteus/", line 185, in __call__
        result = rpc.result(meth(inst, *args, **kwargs))
      File "/home/kpreisler/fab_venv/projects/trytondev/trytond/trytond/model/", line 683, in on_change
      File "/home/kpreisler/fab_venv/projects/trytondev/trytond/trytond/model/", line 84, in wrapper
        result = func(self, *args, **kwargs)
      File "/home/kpreisler/fab_venv/projects/trytondev/trytond/trytond/model/fields/", line 113, in wrapper
        return func(self, *args, **kwargs)
      File "/home/kpreisler/fab_venv/projects/trytondev/trytond/trytond/modules/stock_lot_unit/", line 50, in on_change_product
        if self.product and self.product.lot_unit:
      File "/home/kpreisler/fab_venv/projects/trytondev/trytond/trytond/model/", line 1226, in __getattr__
        raise AttributeError('"%s" has no attribute "%s"' % (self, name))
    AttributeError: "product.product,1" has no attribute "lot_unit"
Author: [hidden] (ced) Tryton committer Tryton translator
Date: 2018-06-11.14:28:13
I updated the review to implement design of msg41322
The behavior did not change too much as the scenario had received only small changes.
Author: [hidden] (ced) Tryton committer Tryton translator
Date: 2018-06-08.12:48:46
I think the current proposal is too strict by defining the serial property only on the product.
Indeed I think we could have serial number for a pack of products. This will be expressed by a different unit of measure with still 1 as quantity.
The same product could have different kind of serial number, one when it was in a bigger packaging and one when it is unpacked.
For this, I think that the serial property should be stored on the lot itself.
This serial property will be stored as a UoM which represent the total quantity that contains the lot. This way the constraints will be that a move with this lot can not have a quantity greater than the 1 UoM of the lot (and for shipment constraint the sum can not be greater).
The serial case will be managed by using the smallest UoM with 0 digits and rounding of 1.

As serial number will be just a particular case of this module, I think we should have a better name. I propose stock_lot_unit
Author: [hidden] (pokoli) Tryton committer Tryton translator
Date: 2018-03-19.10:21:38
I'm wondering if we should also check that the quantity of an inventory is not greater than 1 for serializable products.
Author: [hidden] (nicoe) Tryton committer
Date: 2017-04-14.18:08:11
Following the discussion on we can implement serial numbers as lot numbers.
Date User Action Args
2018-07-27 17:30:04roundup-botsetmessages: + msg42395
2018-07-27 17:14:12roundup-botsetstatus: testing -> resolved
nosy: + roundup-bot
messages: + msg42392
2018-07-05 10:13:07reviewbotsetmessages: + msg42066
2018-06-29 09:23:16reviewbotsetmessages: + msg41959
2018-06-29 09:18:34cedsetmessages: + msg41958
2018-06-28 19:58:49reviewbotsetmessages: + msg41953
2018-06-28 19:34:50Timitossetmessages: + msg41952
2018-06-28 11:33:13reviewbotsetmessages: + msg41936
2018-06-28 11:30:03cedsetmessages: + msg41935
2018-06-27 14:20:44Timitossetmessages: + msg41916

Showing 10 items. Show all history (warning: this could be VERY long)