gpt4 book ai didi

odoo - Openerpv7 : Numbeing in OrderLine

转载 作者:行者123 更新时间:2023-12-02 10:59:27 25 4
gpt4 key购买 nike

我正在使用 OpenERP v7 并在采购订单行窗口中请求以下输出

PO0001      PO0002    PO0003  
Line Line Line
10 10 10
20 20 20
30 30

我的代码:

<field name="order_line" context="{'order_id':active_id}">

_columns={
'sequence':fields.integer('Sequence', store=True),
}
_defaults = {
lambda obj, cr, uid, context: obj._default_sequence(cr, uid, context)
}
def _default_sequence(self, cr, uid, context=None):
if context is None:
context = {}
max_sequence = 0
if context.get('order_id'):
order_line = self.search(cr, uid, [('order_id', '=', context['order_id'])])
if order_line:
max_sequence = max([line['sequence'] for line in self.read(cr, uid, order_line, ['sequence'])])
return max_sequence + 10

但是我得到了这种输出。任何建议都会非常感激。

PO0001      PO0002    PO0003  
Line Line Line
10 10 10
10 10 10
10 10

任何人都可以帮助我实现所需的输出。

最佳答案

我认为你做错了。仅当您第一次单击记录的任何按钮操作(除添加行之外的按钮)后才会创建记录。然后只有您才能进行搜索。我希望即使我们不指定上下文,默认值也能获取上下文。仍然没有得到上下文,然后尝试按照Andrei Boyanov给出的答案进行尝试另外请理解,active、state、sequence 等字段名称在 openerp 中具有一些超能力。例如,如果表有一个字段“序列”,那么表的 TreeView 将具有拖放功能,如果我们执行拖放功能,则表中每条记录的新序列将自动计算并保存。

所以我的意见是不要使用序列字段。使用任何其他字段名称。然后将 on_change 方法写入 one2many 字段,并将 one2many 字段名称作为属性传递给 on_change 方法。然后在 on_change 方法中检查添加新行时出现的所有值。如果新行的值的格式为 (0,0,dictionary_with_fields_as_keys_and_its_values_as_values)。则向此字典添加带有值的sequence_number。例如:

<field name="order_line" on_change="onchange_line(order_line)">

def onchange_line(self, cr, uid, ids, lines,context=None):
result = {}
result['value'] = {}
#do the proper checking
count_dict = {}
count = 10
had_seq = 0
for index,line in enumerate(lines):
if line[0] == 0:
count_dict[index] = count
count +=10
else:
had_seq +=1
#seqnece_no is the new sequence field defined
for k in count_dict:
if had_seq:
lines[k][2]['sequence_no'] = had_seq*10 + count_dict[k]
else:
lines[k][2]['sequence_no'] = count_dict[k]
result['value'].update({'order_line':lines})
return result

请尝试一下。

关于odoo - Openerpv7 : Numbeing in OrderLine,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21495783/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com