odoo返写数据

#确认按钮  反写回合同页面,当前页面反写数据:

def action_split_order_ht(self,cr,uid,ids,context=None):
assert len(ids)==1
sigining_contract_obj=self.browse(cr,uid,ids,context)
sigining_contract_obj.state='confirm'
name=sigining_contract_obj.contract_origin
sql="select sum(total_pay) as paytotal,sum(total_jies) as jiestotal from settle_account where contract_origin='%s' GROUP BY contract_origin "%(str(name))
cr.execute(sql)
dict1=cr.dictfetchall()[0]
sigining_contract_obj.accumulated_amount= dict1['jiestotal']
sigining_contract_obj.accumulated_pay= dict1['paytotal']


在其他页面反写数据,可用sql语句
#确认按钮
def action_split_order_js(self,cr,uid,ids,context=None):
assert len(ids)==1
settle_account_obj=self.browse(cr,uid,ids,context)
settle_account_obj.state='confirm'
name=settle_account_obj.contract_origin
print name


汇总合同号相同的数据,相当于每次做累加
sql="select sum(total_pay) as paytotal,sum(total_jies) as jiestotal from settle_account where contract_origin='%s' GROUP BY contract_origin "%(str(name))
cr.execute(sql)
dict1=cr.dictfetchall()[0]
反写数据
if dict1:
PT=dict1['paytotal']
JT=dict1['jiestotal']
sql2=" UPDATE sigining_contract SET accumulated_amount='%d',accumulated_pay='%d' where contract_origin='%s'"%(JT,PT,str(name))
cr.execute(sql2)
else:

return True


这里调用其他模块所用方法
sigining_obj=self.pool.get('sigining.contract')
sigining_obj_obj=sigining_obj.brows(cr,uid,[str('contract_origin'),'=','id'],context)
sigining_obj.create(cr,uid,{'accumulated_amount':dict1['jiestotal'],'accumulated_pay':dict1['paytotal']},context=None)
sigining_obj.accumulated_amount= dict1['jiestotal']








 

转载于:https://www.cnblogs.com/1314520xh/p/6941198.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值