页签类型按钮上面记录条数获得
Posted 行走在云端
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了页签类型按钮上面记录条数获得相关的知识,希望对你有一定的参考价值。
这里是销售订单记录条数
固定格式(self, cr, uid, ids, field_name, arg, context=None):
def _sales_count(self, cr, uid, ids, field_name, arg, context=None):
res = dict.fromkeys(ids, 0)
try:
sale_order_obj=self.pool.get(‘sale.order‘) 获取该表 sale.order
sale_ids=sale_order_obj.search(cr,uid,[(‘sale_origin_id‘,‘=‘,ids[0])]) 找到满足条件的数据
res[ids[0]]=len(sale_ids)
except:
print u"err!"
finally:
return res
create是 新建 点击保存后操作的一系列动作
def create(self,cr,uid,vals,context=None):
if context is None:
context ={}
if vals.get(‘name‘,‘/‘)==‘/‘:
vals[‘name‘]=self.pool.get(‘ir.sequence‘).get(cr,uid,‘sale.origin‘) or ‘/‘
ctx=dict(context or {},mail_create_nolog=True)
#如果存在这个字段 则不处理 反之 删除本元素
flagline=vals
linenum=len(vals.get(‘line_id‘))
new_line_id=[]
# for 循环遍历出所有的数据,再将满足条件数据放到一个新的数组里,重新赋值给输出变量,linenum固定长度
for i in range(linenum):
if ‘choice‘ in vals.get(‘line_id‘)[i][2] and vals.get(‘line_id‘)[i][2][‘choice‘] is True:
new_line_id.append(vals.get(‘line_id‘)[i])
vals[‘line_id‘]=new_line_id
new_id=super(sale_origin,self).create(cr,uid,vals,context=ctx)
增加关注者 这里依赖于od-oa模块
res_model=self._name
obj=self.pool.get(‘od.oa.add.user‘)
obj.add_follower_ids(cr,uid,res_model,new_id)
return new_id
而这里则是编辑后保存所执行的动作
######修改外部交期后 同时修改销售订单的交期
def write(self, cr, uid, ids, vals, context=None):
choice1=vals.get(‘choice‘)
ddate=vals.get(‘date_planned‘)
price=vals.get(‘price‘)
# if choice1 == False:
# print ‘11‘
# self.unlink(cr,uid,ids,context=context)
# else:
if ddate or price or choice1 :
obj=self.pool(‘sale.order.line‘)
sale_order_line_id=obj.search(cr,uid,[(‘sale_origin_line_id‘,‘=‘,ids[0])])
obj.write(cr,uid,sale_order_line_id,{‘finish_date‘:ddate,‘price_unit‘:price})
# print ids
return super(sale_origin_line, self).write(cr, uid,ids, vals, context=context)
以上是关于页签类型按钮上面记录条数获得的主要内容,如果未能解决你的问题,请参考以下文章
MySQL 分组之后如何统计记录条数 gourp by 之后的 count()
MySQL 分组之后如何统计记录条数 gourp by 之后的 count()
华为OD机试真题 JavaScript 实现最多获得的短信条数2023 Q1 | 100分