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的 ...
随机推荐
- CSS 实现隐藏滚动条同时又可以滚动
方法1: 利用 css 3 的新特性 -webkit-scrollbar, 但是这种方式只兼容chrome,不兼容 火狐 和 IE. /* for Chrome */ .content::-webk ...
- tkinter调取签名网而设计签名页面(十七)
# --*-- coding:utf-8 --*-- import tkinter as tk import re import requests from tkinter import messag ...
- Sql Server中查询当天,最近三天,本周,本月,最近一个月,本季度的数据的sql语句
--当天: --最近三天: --本周: select * from T_news WHERE (DATEPART(wk, addtime) = DATEPART(wk, GETDATE())) AND ...
- centos 6.5下安装nmap工具及简单用法
Nmap是一款针对大型网络的端口扫描工具,被广泛应用于黑客领域做漏洞探测以及安全扫描,其主要功能有主机发现(Host Discovery). 端口扫描(Port Scanning). 版本侦测(Ver ...
- rpm安装时出现循环依赖
在安装git包时提示要安装perl-git,当安装perl-git时又提示要安装git包.报错如下: [root@racdb1 Packages]# rpm -ivh perl-Git-1.7.1-4 ...
- VSCode + PYQT5 + QtDesigner 环境搭建和测试
目的:编写Python桌面应用程序. 备注:也可以选择VS2017+QtDesigner ,但更喜欢VSCode 第1步:安装PyQt5和PyQt5-tools pip3 install -i htt ...
- 4.2Python数据类型(2)之布尔类型
返回总目录 目录: 1.布尔类型的概念和分类: 2.布尔类型的本质 3.布尔类型的应用 (一)布尔类型的概念和分类: (1)概念: 布尔类型(bool)就是用于判断真假的数据类型 (2)分类: Pyt ...
- oracle数据库用户基本操作
每个数据库都有一系列的用户,为了访问数据库,用户必须使用用户名等信息先连接上数据库实例,oracle数据库提供了多种方式来管理用户安全.创建用户的时候,可以通过授权等操作来限制用户能访问的资源以及一些 ...
- 团队项目管理:Github项目误删恢复记录
参考: 准备更换git托管,如何迁移原git仓库 Github项目误删恢复记录 今天正常上线打卡,发现组织的线上Github仓库被误删了..本来是一场悲剧,所幸在本地的垃圾箱中翻出了还没有删除的本地仓 ...
- DataUtils对Connection的获取、释放和关闭的操作学习
DataSourceUitls介绍 DataSourceUitls类位于org.springframework.jdbc.datasource包下,提供了很多的静态方法去从一个javax.sql.Da ...