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的 ...
随机推荐
- js发送请求
1.Chrome控制台中 net::ERR_CONNECTION_REFUSED js频繁发送请求,有可能连接被拒绝,可用setTimeout,过几秒发送,给个缓冲时间 var overlayAnal ...
- 修改eclipse的背景色(转载)
eclipse操作界面默认颜色为白色.对于我们长期使用电脑编程的人来说,白色很刺激我们的眼睛,所以我经常会改变workspace的背景色,使眼睛舒服一些. 设置方法如下: 1.打开window-> ...
- Flutter 布局(九)- Flow、Table、Wrap详解
本文主要介绍Flutter布局中的Flow.Table.Wrap控件,详细介绍了其布局行为以及使用场景,并对源码进行了分析. 1. Flow A widget that implements the ...
- 喜闻乐见-Android应用的生命周期
本文主要讲述了App的启动流程.Application的生命周期以及进程的回收机制. 在绝大多数情况下,每一个Android应用都在自己的Linux进程中运行.当需要运行某些代码时,进程就会被创建.进 ...
- 英雄无敌HoMM3-死亡阴影SOD-神之苏醒WOG-封神NABI-MOD等相关文件
英雄无敌HoMM3:死亡阴影SOD 英雄无敌3之死亡阴影(Heroes of Might and Magic III: Shadow of Death,简记为HoMM III: SOD)发行于1999 ...
- Spark性能优化(基于Spark 1.x)
Task优化: 1.慢任务的性能优化:可以考虑减少每个Partition处理的数据量,同时建议开启spark.speculation(慢任务推导,当检测的慢任务时,会同步开启相同的新任务,谁先完 ...
- zTree 优秀的jquery树插件
zTree 优秀的jquery树插件,文档详细,渲染快 使用方法: 1.引用zTree的js和css文件 <link href="~/Content/zTree_v3/css/zTre ...
- IntelliJ IDEA 2017 永久注册方法
https://blog.csdn.net/weixin_39913200/article/details/80859897 在安装的idea下面的bin目录下面有2个文件 : 一个是idea64.e ...
- C#检测U盘是否插入
public partial class Form1 : Form { #region u盘属性 public const int WM_DEVICECHANGE = 0x219;//U盘插入后,OS ...
- VM虚拟机打不开,没有反应,解决方法。
最近的项目开发,需要用到虚拟机,但是打开虚拟机VM8却发现,以前创建的虚拟机都用不了,点击左侧[我的计算机]中的虚拟机列表,没有任何反应,也没有任何错误提示,服务中所有的虚拟机服务都开启了,网上百度没 ...