odoo学习之带出信息
# 输入客户带出它默认的发运方式和包装方式
def on_change_partner_id_return(self,cr,uid,ids,partner_id,context=None):
result={}
if partner_id:# 如果存在
#找到满足条件的值
obj=self.pool.get('res.partner').browse(cr,uid,partner_id,context=context)
#取出数据显示在前端
fyfs=obj.send_type
zxbzfs=obj.packing_type
print fyfs
print zxbzfs
# 返回结果
result['send_invoice_type']=fyfs
result['packing_type']=zxbzfs
return {'value':result} 这是在sale_origin表中 判断年月算法:
#判断开始日期和结束日期
def get_prompt_end_date(self, cr, uid, ids,state_date,end_date, context=None): if state_date>=end_date:
raise osv.except_osv(u'提示',u'结束日期不能小于开始日期!')
return
#创建时修改上次的结束日期
def create(self, cr, uid, vals, context=None):
if context is None:
context ={}
if vals.get('state_date')>vals.get('end_date'):
raise osv.except_osv(u'提示',u'结束日期不能小于开始日期!')
se osv.except_osv(u'提示',u'开始日期不能小于上次开始日期!')
obj1=self.search(cr, uid, [('lproduct_id','=',vals.get('lproduct_id')),('partner_id','=',vals.get('partner_id'))],order='id desc', limit=1)
if obj1:
sdate=vals.get('state_date')
date_state=self.browse(cr, uid,obj1,context=None)
if sdate<date_state.state_date:
raise osv.except_osv(u'提示',u'开始日期不能小于上次开始日期!')
yy=int(sdate[0:4])
mm=int(sdate[5:7])
dd=int(sdate[8:10])
if (yy%400==0) or ( yy%100 !=0 and yy%4==0):
print '闰年'
if dd==1:
if mm==2 or mm==4 or mm==6 or mm==8 or mm==9 or mm==11:
mm=mm-1
dd=31
elif mm==5 or mm==7 or mm==10 or mm==12:
mm=mm-1
dd=30
elif mm==3:
mm=mm-1
dd=29
else:
dd=31
mm=12
yy=yy-1
else:
dd=dd-1
else:
print '平年'
if dd==1:
if mm==2 or mm==4 or mm==6 or mm==8 or mm==9 or mm==11:
dd=31
mm=mm-1
elif mm==5 or mm==7 or mm==10 or mm==12:
mm=mm-1
dd=30
elif mm==3:
mm=mm-1
dd=28
else:
dd=31
mm=12
yy=yy-1
else:
dd=dd-1
sdd=str(dd)
smm=str(mm)
if dd<10:
sdd='0'+str(dd)
if mm<10:
smm='0'+str(mm)
ndate=str(yy)+'-'+smm+'-'+sdd
# print ndate
self.write(cr, uid, obj1, {'end_date': ndate}, context=context)
# ndate = sdate + datetime.timedelta(-1)
new_id=super(sale_price_list_line,self).create(cr,uid,vals,context=context)
return new_id
_columns = {
'price_id':fields.many2one('sale.price.list',u'产品售价号',required=True,),
'lproduct_id':fields.many2one('product.product',u'产品'),
'partner_id':fields.many2one('res.partner',u'客户',required=True),
'puom':fields.many2one('product.uom',u'单位'),
'state_date':fields.date(u'开始日期'),
'end_date':fields.date(u'结束日期'),
'price_unit':fields.float(u'单价',required=True),
'price_tax':fields.float(u'含税单价'),
}
_defaults = {
# 'state_date':'1999-01-01',
'end_date':'2999-01-01',
}
odoo学习之带出信息的更多相关文章
- QT如何编译出带调试信息的qtwebkit库
因为在编译QT的时候默认是不编译成带调试信息的qtwebkit库的,不论如何设置参数都是没有用的.后面在一博客中查找到相关信息 1.编译带debug 信息的webkit 库 注释或者删除qt-ev ...
- css案例学习之通过relative与absolute实现带说明信息的菜单
效果如下 代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www ...
- odoo之带出历史订单产品
这是在sale_origin中下由两张单子{sale_origin_line和history_order} class history_order(osv.osv): _name="hist ...
- (私人收藏)[开发必备]最全Java离线快速查找手册(可查询可学习,带实例)
(私人收藏)[开发必备]最全Java离线快速查找手册(可查询可学习,带实例) https://pan.baidu.com/s/1L54VuFwCdKVnQGVc8vD1TQnwmj java手册 Ja ...
- layer弹出信息框API
首先向大家推荐layer,在这里也非常感谢贤心的贡献,非常不错的信息框及弹出层解决方案,为一些项目的前端开发提高了很大的效率,希望layer 越办越好! 下面是API,呵呵,官方抄袭过来的,为了自己看 ...
- alv行可编辑时带出描述
ALV显示可以编辑的状态下可以带出描述信息等,比如维护表程序输入公司代码时需要带出公司代码的描述,这时就需要通过下面事件来触发 定义一个类: CLASS lcl_event_receiver DEFI ...
- MVC扩展控制器, 把部分视图转换成字符串(带验证信息), 并以json传递给前端视图
当我们使用jQuery异步提交表单数据的时候,需要把部分视图转换成字符串(带验证信息),以json的形式传递给前端视图. 使用jQuery异步加载部分视图,返回内容追加到页面某个div: jQ ...
- (私人收藏)[开发必备]HTML5最全快速查找离线手册(可查询可学习,带实例)
[开发必备]HTML5最全快速查找离线手册(可查询可学习,带实例) HTML5最全快速查找离线手册:https://pan.baidu.com/s/19seE8TJQSx4IsWgXtKQS0Aj9y ...
- DoModal时带出次级窗口闪现
最近在做MFC 界面开发. 在一个CDialog窗口DoModal模态显示时, 会将次级窗口带出闪现(比如将一个窗口active, 然后点击我现在程序需要弹框的按钮,弹出弹出正常,但原来active的 ...
随机推荐
- http-server服务跨域设置
http-server --cors -p 9999 ------------------------------------------------------------------------- ...
- PL/SQL 查询的数据出现乱码
解决方法: 1.首先在查询出Oracle数据库的字符集. select userenv('language') from dual; 2.新建系统变量 NLS_LANG,变量值为第一步查询出来的字符集 ...
- getWidth()和getMeasuredWidth()的区别
结论:getMeasuredWidth()获取的是view原始的大小,也就是这个view在XML文件中配置或者是代码中设置的大小.getWidth()获取的是这个view最终显示的大小,这个大小有可能 ...
- sql server 运维时CPU,内存,操作系统等信息查询(用sql语句)
我们只要用到数据库,一般会遇到数据库运维方面的事情,需要我们寻找原因,有很多是关乎处理器(CPU).内存(Memory).磁盘(Disk)以及操作系统的,这时我们就需要查询他们的一些设置和内容,下面讲 ...
- lua保留n位小数方法
time:2015/04/21 1. string.format() function GetPreciseDecimal(nNum, n) if type(nNum) ~= "number ...
- python——虚拟环境之virtualenv(windows10,64位)
1 问题 当我们拥有两个甚至多个项目A.B.C......,各个项目正常运行需求的python运行环境都不相同.而默认情况下,不管哪个项目,使用的都是全局的Python环境.上述情况,造成的问题就是, ...
- HTML 中点击<a>标签,页面跳转执行过程
HTML链接使用的是<a>标签 点击超链接,后台的执行大致如下: <a href="https://www.baidu.com">超链接</a> ...
- JQuery 获取多个select标签option的text内容
根据option的id属性,修改text值 $("#sel_div .select_class option[id='-选择省-']").text(data.province).a ...
- Frameworks(不定时更新)
iOS8.4 Frameworks 更新时间:2015年8月17日 Accelerate iOS4.0引入了Accelerate框架,该框架的接口可用于执行数学.大数字以及DSP运算.和开发者个人编写 ...
- 怎样将本地web项目部署到腾讯云服务器上?
怎样将本地web项目部署到腾讯云服务器上? 1.本地计算机的工作: (1).用eclipse新建一个web项目,然后在webcontent下新建一个index.html,然后在本地部署到Tomcat服 ...