diff --git a/setup/lib/config_at.py b/setup/lib/config_at.py index 54dcbdc3..eb9dc884 100644 --- a/setup/lib/config_at.py +++ b/setup/lib/config_at.py @@ -97,11 +97,21 @@ class Config(): # 'prefix': 'AS-', # 'padding': 5, # }, -# FEHLER da gleich für alle Vorgangstypen!!! 'picking.out': { -# 'number_next_actual': 1, -# 'prefix': 'L-', -# 'padding': 5, -# }, +# 'picking.out': { +# #'number_next_actual': 1, +# 'prefix': 'LS/', +# 'padding': 4, +# }, +# 'picking.in': { +# #'number_next_actual': 1, +# 'prefix': 'LS/IN/', +# 'padding': 4, +# }, +# 'picking.int': { +# #'number_next_actual': 1, +# 'prefix': 'LS/INT/', +# 'padding': 4, +# }, # 'purchase.order': { # 'number_next_actual': 1, # 'prefix': 'B-', diff --git a/setup/lib/functions.py b/setup/lib/functions.py index 489d2411..8f7a9e4e 100755 --- a/setup/lib/functions.py +++ b/setup/lib/functions.py @@ -203,18 +203,33 @@ class CamadeusFunctions(): res = self._execute('base.module.upgrade', 'upgrade_module', modules_to_install) return True + def _set_picking_sequence_prefix(self, code, value): + seq_dict = self.config.sequences + + #Hauptsequenz des Picking Types mit diesem code anpassen + picking_type_id = self._execute('stock.picking.type', 'search', [('code','=',code)], 0, 1, 'id')[0] + picking_type = self._execute('stock.picking.type', 'read', picking_type_id, ['sequence_id']) + s_id = picking_type['sequence_id'][0] + if not self._execute('ir.sequence', 'write', s_id, seq_dict.get(value)): + return False + + #Allen Picking Types mit diesem code die Haupsequenz geben + picking_type_ids = self._execute('stock.picking.type', 'search', [('code','=',code)]) + if not self._execute('stock.picking.type', 'write', picking_type_ids, {'sequence_id': s_id}): + return False + def set_dokumentennummern(self): """Dokumentennummern setzen""" seq_dict = self.config.sequences - # Lieferschein - if seq_dict.get('picking.out',False): - picking_type_ids = self._execute('stock.picking.type', 'search', [('code','=','outgoing')]) - picking_types = self._execute('stock.picking.type', 'read', picking_type_ids, ['sequence_id']) - s_ids = [t['sequence_id'][0] for t in picking_types] - if not self._execute('ir.sequence', 'write', s_ids, seq_dict.get('picking.out')): - return False + # Lieferschein + if seq_dict.get('picking.out',False): + self._set_picking_sequence_prefix('outgoing', 'picking.out') + if seq_dict.get('picking.in',False): + self._set_picking_sequence_prefix('incoming', 'picking.in') + if seq_dict.get('picking.int',False): + self._set_picking_sequence_prefix('internal', 'picking.int') # Angebot if seq_dict.get('sale.order',False): @@ -493,4 +508,4 @@ class CamadeusFunctions(): res = self._execute('decimal.precision', 'write', ids, {'digits': self.config.digits}) if not res: return False - return True \ No newline at end of file + return True