Sequenzen für Odoo 10
							parent
							
								
									e3988fe010
								
							
						
					
					
						commit
						86cb264579
					
				|  | @ -134,45 +134,49 @@ class Config(): | ||||||
| 
 | 
 | ||||||
|         self.stock_cost_method = 'average'               # [standard], [average], [real] |         self.stock_cost_method = 'average'               # [standard], [average], [real] | ||||||
| 
 | 
 | ||||||
|         # Wenn gesetzt, teilen sich Gutschriften und Rechnungen den selben Nummernkreis |  | ||||||
|         self.refund_invoice_sequence = True |  | ||||||
| 
 |  | ||||||
|         self.sequences = { |         self.sequences = { | ||||||
|             'sale.order': { |             'sale.order': { | ||||||
|                 'number_next_actual': 1, |                 # 'number_next_actual': 1, | ||||||
|                 'prefix': 'A-', |                 'prefix': '%(y)s', | ||||||
|                 'padding': 5, |                 'padding': 4, | ||||||
|  |                 'use_date_range': True | ||||||
|             }, |             }, | ||||||
| #             'work.order':  { |             'account.invoice': { | ||||||
| #                 'number_next_actual': 1, |                 # 'number_next_actual': 0001, | ||||||
| #                 'prefix': 'AS-', |                 'prefix': '%(y)s%(month)s', | ||||||
| #                 'padding': 5, |                 'padding': 4, | ||||||
| #             }, |                 'use_date_range': True | ||||||
| #            'picking.out':  { |             }, | ||||||
| #                #'number_next_actual': 1, |             # Wenn 'account.invoice_refund' auskommentiert ist, dann wird | ||||||
| #                'prefix': 'LS/', |             # für die Gutschrift der selbe Nummernkreis verwendet | ||||||
| #                'padding': 4, |             'account.invoice_refund': { | ||||||
| #            }, |                 # 'number_next_actual': 0001, | ||||||
| #            'picking.in':  { |                 'name': 'Gutschriften', | ||||||
| #                #'number_next_actual': 1, |                 'implementation': 'no_gap', | ||||||
| #                'prefix': 'LS/IN/', |                 'prefix': '%(y)s', | ||||||
| #                'padding': 4, |                 'padding': 4, | ||||||
| #            }, |                 'use_date_range': True | ||||||
| #            'picking.int':  { |             }, | ||||||
| #                #'number_next_actual': 1, |             #'picking.out': { | ||||||
| #                'prefix': 'LS/INT/', |             #    # 'number_next_actual': 1, | ||||||
| #                'padding': 4, |             #    'prefix': 'LS-', | ||||||
| #            }, |             #    'padding': 5, | ||||||
| #             'purchase.order':  { |             #}, | ||||||
| #                 'number_next_actual': 1, |             #            'picking.in':  { | ||||||
| #                 'prefix': 'B-', |             #                #'number_next_actual': 1, | ||||||
| #                 'padding': 5, |             #                'prefix': 'LS/IN/', | ||||||
| #             }, |             #                'padding': 4, | ||||||
| #             'account.invoice':  { |             #            }, | ||||||
| #                 'number_next_actual': 2000, |             #            'picking.int':  { | ||||||
| #                 'prefix': '15-', |             #                #'number_next_actual': 1, | ||||||
| #                 'padding': 4, |             #                'prefix': 'LS/INT/', | ||||||
| #             }, |             #                'padding': 4, | ||||||
|  |             #            }, | ||||||
|  |             #             'purchase.order':  { | ||||||
|  |             #                 'number_next_actual': 1, | ||||||
|  |             #                 'prefix': 'B-', | ||||||
|  |             #                 'padding': 5, | ||||||
|  |             #             }, | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         self.active_uoms = { |         self.active_uoms = { | ||||||
|  |  | ||||||
|  | @ -268,7 +268,7 @@ class DatenpolFunctions(): | ||||||
|         # Hauptsequenz des Picking Types mit diesem code anpassen |         # 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_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']) |         picking_type = self._execute('stock.picking.type', 'read', picking_type_id, ['sequence_id']) | ||||||
|         s_id = picking_type['sequence_id'][0] |         s_id = picking_type[0]['sequence_id'][0] | ||||||
|         if not self._execute('ir.sequence', 'write', s_id, seq_dict.get(value)): |         if not self._execute('ir.sequence', 'write', s_id, seq_dict.get(value)): | ||||||
|             return False |             return False | ||||||
| 
 | 
 | ||||||
|  | @ -314,31 +314,38 @@ class DatenpolFunctions(): | ||||||
|             if not self._execute('ir.sequence', 'write', s_ids, seq_dict.get('purchase.order')): |             if not self._execute('ir.sequence', 'write', s_ids, seq_dict.get('purchase.order')): | ||||||
|                 return False |                 return False | ||||||
| 
 | 
 | ||||||
|         # Rechnungsnummer |         # Hole Journal für Ausgangsrechnungen | ||||||
|         if seq_dict.get('account.invoice', False): |         j_ids = self._execute('account.journal', 'search', [('code', '=', 'Re.:')]) | ||||||
|             j_ids = self._execute('account.journal', 'search', [('code', '=', 'VK')]) |  | ||||||
|         if len(j_ids) != 1: |         if len(j_ids) != 1: | ||||||
|             return False |             return False | ||||||
|             journals = self._execute('account.journal', 'read', j_ids, ['sequence_id']) |         journals = self._execute('account.journal', 'read', j_ids, ['refund_sequence', 'sequence_id', 'refund_sequence_id']) | ||||||
|  | 
 | ||||||
|  |             # Rechnungsnummer | ||||||
|  |         if seq_dict.get('account.invoice', False): | ||||||
|             s_id = journals[0]['sequence_id'][0] |             s_id = journals[0]['sequence_id'][0] | ||||||
|             if not self._execute('ir.sequence', 'write', [s_id], seq_dict.get('account.invoice')): |             if not self._execute('ir.sequence', 'write', [s_id], seq_dict.get('account.invoice')): | ||||||
|                 return False |                 return False | ||||||
| 
 | 
 | ||||||
|         # Setzen Gutschriftenkreis |         # Gutschriftennummer | ||||||
|         if self.config.refund_invoice_sequence: |         ref_seq_data = seq_dict.get('account.invoice_refund', False) | ||||||
|             j_ids = self._execute('account.journal', 'search', [('code', '=', 'VK')]) |         if ref_seq_data: | ||||||
|             if len(j_ids) != 1: |             s_id = journals[0]['refund_sequence_id'] and journals[0]['refund_sequence_id'][0] or False | ||||||
|                 return False |             if not s_id: | ||||||
|             journals = self._execute('account.journal', 'read', j_ids, ['sequence_id']) |                 s_id = self._execute('ir.sequence', 'create', ref_seq_data) | ||||||
|             s_id = journals[0]['sequence_id'][0] |             else: | ||||||
|  |                 self._execute('ir.sequence', 'write', [s_id], ref_seq_data) | ||||||
|  |             # Wenn Checkbox nicht gesetzt ist, dann setzen | ||||||
| 
 | 
 | ||||||
|             gj_ids = self._execute('account.journal', 'search', [('code', '=', 'GSV')]) |  | ||||||
|             if len(gj_ids) != 1: |  | ||||||
|                 return False |  | ||||||
|             vals = { |             vals = { | ||||||
|                 'sequence_id': s_id, |                 'refund_sequence_id': s_id, | ||||||
|  |                 'refund_sequence': True | ||||||
|             } |             } | ||||||
|             self._execute('account.journal', 'write', gj_ids, vals) |             self._execute('account.journal', 'write', j_ids, vals) | ||||||
|  |         else: | ||||||
|  |             vals = { | ||||||
|  |                 'refund_sequence': False | ||||||
|  |             } | ||||||
|  |             self._execute('account.journal', 'write', j_ids, vals) | ||||||
| 
 | 
 | ||||||
|         return True |         return True | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue