Python 行计数器Openerp-项目自定义模块
我需要计算和显示项目的数量,例如Python 行计数器Openerp-项目自定义模块,python,module,counter,openerp,Python,Module,Counter,Openerp,我需要计算和显示项目的数量,例如purchase.order.line,并在integer类型字段中显示它们 例如,在采购订单中,我添加了13个项目或产品;此字段将存储并在purchase.order.line之外显示此采购的项目数量 我在stackexchange和openerp书籍中查找过,但没有找到此类函数的示例 我应该查找任何模块或现有函数吗 提前谢谢我不太清楚你在问什么。您的意思是,如果您的采购订单有13行,您希望采购订单上的字段显示13行订单上数量字段的总和吗 如果是这样,您需要扩展
purchase.order.line
,并在integer
类型字段中显示它们
例如,在采购订单中,我添加了13个项目或产品;此字段将存储并在purchase.order.line
之外显示此采购的项目数量
我在stackexchange和openerp书籍中查找过,但没有找到此类函数的示例
我应该查找任何模块或现有函数吗
提前谢谢我不太清楚你在问什么。您的意思是,如果您的采购订单有13行,您希望采购订单上的字段显示13行订单上数量字段的总和吗
如果是这样,您需要扩展purchase.order模型并添加一个函数字段,该字段将遍历订单行并合计数量
你的专栏是:
'total_quantity': fields.function(_get_total_quantity, type='float', method = True, string = 'Total Quantity', readonly = True),
def _get_total_quantity(self, cr, uid, ids, field, args, context = None):
res = {}
for po in self.browse(cr, uid, ids, context = context):
res[po.id] = sum([x.quantity for x in po.order_line])
return res
你的方法是:
'total_quantity': fields.function(_get_total_quantity, type='float', method = True, string = 'Total Quantity', readonly = True),
def _get_total_quantity(self, cr, uid, ids, field, args, context = None):
res = {}
for po in self.browse(cr, uid, ids, context = context):
res[po.id] = sum([x.quantity for x in po.order_line])
return res
请检查采购订单行的purchase.order上的one2many名称是否为“order\u line”。我是凭记忆做的,我记不起列名。是的,谢谢,但我需要它完全是为了一个客户模块,类似于purchase.order,当然是最小化的,所以我想我要更改“order\u line”以适应我的“custom\u line”是正确的吗?是的,“order\u line”是purchase中的字段。pyNevermind,我刚刚做了一个替换,分配了一个“cc”变量来代替“po”,并用订单行代替证书行,证书行是我的订单行,非常感谢!