diff --git a/stock.py b/stock.py index 1aaed9f..c0892e6 100644 --- a/stock.py +++ b/stock.py @@ -10,7 +10,7 @@ from sql.operators import Concat from trytond.model import ModelSQL, ModelView, fields from trytond.model import Workflow from trytond.pool import PoolMeta, Pool -from trytond.pyson import Eval, If +from trytond.pyson import Eval, If, Id from trytond.tools import grouped_slice from trytond.transaction import Transaction from trytond.wizard import Wizard, StateTransition, StateView, Button @@ -26,10 +26,12 @@ class Configuration(metaclass=PoolMeta): reconcile_sequence = fields.MultiValue( fields.Many2One('ir.sequence', 'Shipment reconcile Sequence', - domain=[('company', 'in', - [Eval('context', {}).get('company', -1), None]), - ('code', '=', 'stock.shipment.reconciliation')], - required=True) + domain=[ + ('company', 'in', + [Eval('context', {}).get('company', -1), None]), + ('sequence_type', '=', Id('stock_shipment_reconcile', + 'sequence_type_reconcile')) + ], required=True) ) @classmethod @@ -50,11 +52,14 @@ class ConfigurationSequence(metaclass=PoolMeta): reconcile_sequence = fields.Many2One('ir.sequence', 'Shipment reconcile Sequence', - domain=[('company', 'in', - [Eval('company', -1), None]), - ('code', '=', 'stock.shipment.reconciliation')], - depends=['company'], - required=True) + domain=[ + ('company', 'in', + [Eval('company', -1), None]), + ('sequence_type', '=', Id('stock_shipment_reconcile', + 'sequence_type_reconcile')) + ], + depends=['company'], + required=True) @classmethod def __register__(cls, module_name): @@ -201,15 +206,16 @@ class ShipmentReconciliation(Workflow, ModelSQL, ModelView): @classmethod def create(cls, vlist): pool = Pool() - model_sequence = pool.get('ir.sequence') - model_config = pool.get('stock.configuration') + Config = pool.get('stock.configuration') vlist = [x.copy() for x in vlist] - config = model_config(1) + config = Config(1) + default_company = cls.default_company() for values in vlist: if not values.get('code'): - values['code'] = model_sequence.get_id( - config.reconcile_sequence.id) + values['code'] = config.get_multivalue( + 'reconcile_sequence', + company=values.get('company', default_company)).get() return super(ShipmentReconciliation, cls).create(vlist) def _get_shipment_type(self): diff --git a/stock.xml b/stock.xml index d8ab4df..fa1a4ba 100644 --- a/stock.xml +++ b/stock.xml @@ -23,7 +23,6 @@ this repository contains the full copyright notices and license terms. --> Shipment reconcile - stock.shipment.reconciliation @@ -37,7 +36,7 @@ this repository contains the full copyright notices and license terms. --> Shipment reconcile - stock.shipment.reconciliation +