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