Tryton - Issues



Title Add serial number functionalities to lot
Priority feature Status testing
Superseder Prevent modify product lot if there are any move, RFC: Inventory Counting wizard
View: 7516, 7515
Nosy List Timitos, ced, nblock, nicoe, pokoli, resteve, reviewbot
Type feature request Components
Assigned To ced Keywords review
Reviews 28251002
View: 28251002

Created on 2017-04-14.18:08:12 by nicoe, last changed by ced.

msg41430 (view) 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.
msg41423 (view) 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.
msg41404 (view) Author: [hidden] (Timitos) 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
msg41402 (view) Author: [hidden] (ced) (Tryton committer) (Tryton translator) Date: 2018-06-14.10:41:23
It will be verified at the validation of the inventory.
msg41401 (view) Author: [hidden] (Timitos) 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.
review28251002 updated at
review28251002 updated at
review28251002 updated at
msg41372 (view) 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.
msg41371 (view) Author: [hidden] (Timitos) 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"
review28251002 updated at
review28251002 updated at
msg41330 (view) 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.
msg41322 (view) 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
review28251002 updated at
review28251002 updated at
msg39064 (view) 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.
review28251002 updated at
review28251002 updated at
review28251002 updated at
review28251002 updated at
review28251002 updated at
review28251002 updated at
review28251002 updated at
review28251002 updated at
review28251002 updated at
msg33237 (view) Author: [hidden] (nicoe) (Tryton committer) (Tryton translator) Date: 2017-04-14.18:08:11
Following the discussion on we can implement serial numbers as lot numbers.
Date User Action Args
2018-06-15 18:33:39cedsetmessages: + msg41430
2018-06-15 16:52:44cedsetmessages: + msg41423
2018-06-14 11:04:15Timitossetmessages: + msg41404
2018-06-14 10:41:23cedsetmessages: + msg41402
2018-06-14 10:27:54Timitossetmessages: + msg41401
2018-06-13 13:03:24reviewbotsetmessages: + msg41393
2018-06-13 12:49:04cedsetsuperseder: + Prevent modify product lot if there are any move
2018-06-13 12:28:06reviewbotsetmessages: + msg41390
2018-06-13 12:21:21cedsetsuperseder: + RFC: Inventory Counting wizard
2018-06-12 11:33:24reviewbotsetmessages: + msg41375

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