# 输入客户带出它默认的发运方式和包装方式
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学习之带出信息的更多相关文章

  1. QT如何编译出带调试信息的qtwebkit库

    因为在编译QT的时候默认是不编译成带调试信息的qtwebkit库的,不论如何设置参数都是没有用的.后面在一博客中查找到相关信息   1.编译带debug 信息的webkit 库 注释或者删除qt-ev ...

  2. css案例学习之通过relative与absolute实现带说明信息的菜单

    效果如下 代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www ...

  3. odoo之带出历史订单产品

    这是在sale_origin中下由两张单子{sale_origin_line和history_order} class history_order(osv.osv): _name="hist ...

  4. (私人收藏)[开发必备]最全Java离线快速查找手册(可查询可学习,带实例)

    (私人收藏)[开发必备]最全Java离线快速查找手册(可查询可学习,带实例) https://pan.baidu.com/s/1L54VuFwCdKVnQGVc8vD1TQnwmj java手册 Ja ...

  5. layer弹出信息框API

    首先向大家推荐layer,在这里也非常感谢贤心的贡献,非常不错的信息框及弹出层解决方案,为一些项目的前端开发提高了很大的效率,希望layer 越办越好! 下面是API,呵呵,官方抄袭过来的,为了自己看 ...

  6. alv行可编辑时带出描述

    ALV显示可以编辑的状态下可以带出描述信息等,比如维护表程序输入公司代码时需要带出公司代码的描述,这时就需要通过下面事件来触发 定义一个类: CLASS lcl_event_receiver DEFI ...

  7. MVC扩展控制器, 把部分视图转换成字符串(带验证信息), 并以json传递给前端视图

    当我们使用jQuery异步提交表单数据的时候,需要把部分视图转换成字符串(带验证信息),以json的形式传递给前端视图.   使用jQuery异步加载部分视图,返回内容追加到页面某个div:   jQ ...

  8. (私人收藏)[开发必备]HTML5最全快速查找离线手册(可查询可学习,带实例)

    [开发必备]HTML5最全快速查找离线手册(可查询可学习,带实例) HTML5最全快速查找离线手册:https://pan.baidu.com/s/19seE8TJQSx4IsWgXtKQS0Aj9y ...

  9. DoModal时带出次级窗口闪现

    最近在做MFC 界面开发. 在一个CDialog窗口DoModal模态显示时, 会将次级窗口带出闪现(比如将一个窗口active, 然后点击我现在程序需要弹框的按钮,弹出弹出正常,但原来active的 ...

随机推荐

  1. MSComm32控件注册方法

    两种方法去解决,一种方法是当我们安装VC++6.0/VB6.0时,如果选择了ACtiveX控件项(自定义安装),MSComm控件就会自动安装在计算机上了,并在系统文件夹下多了3个文件:Mscomm.s ...

  2. android studio中xml没有提示

    删除.idea文件夹和所有的.iml文件,重新build project.

  3. 浅思OC的语言特性

    算了算,学习IOS已经有一段时间了.今天花了点时间思考一下OC的语言特性,让自己的心不要那么浮躁,注重基础,回归本源. OC做为一门面向对象语言,自然具有面向对象的语言特性,如封装.继承.多态.他具有 ...

  4. [Everyday Mathematics]20150210

    设正方体 $ABCD-A_1B_1C_1D_1$ 的棱长为 $1$, $E$ 为 $AB$ 的中点, $P$ 为体对角线 $BD_1$ 上一点, 当 $\angle CPE$ 最大时, 求三菱锥 $P ...

  5. Servlet程序开发-- 取得其他内置对象

    servlet本身提供的只有request和response对象,如果要取得session对象,只能依靠request对象,因为session属于HTTP协议范畴,而且在每次发送请求的时候,服务器都会 ...

  6. 3.静态AOP实现-代理模式

    通过代理模式实现在RegUser()方法本身业务前后加上一些自己的功能,如:BeforeProceed和AfterProceed,即不修改UserProcessor类又能增加新功能 定义1个用户接口, ...

  7. React对比Vue(01 数据的定义,使用,组件的写法,目录结构等)

    1.脚手架对比 两个都需要安装node node自带npm 然后安装cnpm yarn(有时候 npm会丢包,所以) npm install -g cnpm --registry=https://re ...

  8. 在Linux安装和使用LinuxBrew

    简介 LinuxBrew是流行的Mac OS X的一个Linux叉自制包管理器. LinuxBrew是包管理软件,它能从源(在Debian / Ubuntu的如"易/ DEB",并 ...

  9. [转].NET Core之Entity Framework Core 你如何创建 DbContext

    本文转自:http://www.cnblogs.com/tdws/p/5874212.html 本文版权归博客园和作者吴双共同所有,欢迎转载,转载和爬虫请注明博客园蜗牛原文地址 http://www. ...

  10. from表单详解