我可想可想知道 怎么在电子显示屏上的?
通过什么途径显示的
nmglyy
-
分享一个自动刷新看板视图的功能 -
验证身份证格式的方法def checkIdcard(self, cr, uid, ids, identification_id, context=None):
Errors=['验证通过!','身份证号码位数不对!','身份证号码出生日期超出范围或含有非法字符!','身份证号码校验错误!','身份证地区非法!']
area={"11":"北京","12":"天津","13":"河北","14":"山西","15":"内蒙古","21":"辽宁","22":"吉林","23":"黑龙江","31":"上海","32":"江苏","33":"浙江","34":"安徽","35":"福建","36":"江西","37":"山东","41":"河南","42":"湖北","43":"湖南","44":"广东","45":"广西","46":"海南","50":"重庆","51":"四川","52":"贵州","53":"云南","54":"西藏","61":"陕西","62":"甘肃","63":"青海","64":"宁夏","65":"新疆","71":"台湾","81":"香港","82":"澳门","91":"国外"}
identification_id=str(identification_id)
identification_id=identification_id.strip()
identification_id_list=list(identification_id)
#地区校验
if(not area[(identification_id)[0:2]]):
raise osv.except_osv(_('提示!'), (''%s'.') %(Errors[4],))
#15位身份号码检测
if(len(identification_id)==15):
if((int(identification_id[6:8])+1900) % 4 == 0 or((int(identification_id[6:8])+1900) % 100 == 0 and (int(identification_id[6:8])+1900) % 4 == 0 )):
erg=re.compile('[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$')#//测试出生日期的合法性
else:
ereg=re.compile('[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$')#//测试出生日期的合法性
if(re.match(ereg,identification_id)):
raise osv.except_osv(('提示!'), (''%s'.') %(Errors[0],))
else:
raise osv.except_osv(('提示!'), (''%s'.') %(Errors[2],))
#18位身份号码检测
elif(len(identification_id)==18):
#出生日期的合法性检查
#闰年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))
#平年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))
if(int(identification_id[6:10]) % 4 == 0 or (int(identification_id[6:10]) % 100 == 0 and int(identification_id[6:10])%4 == 0 )):
ereg=re.compile('[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$')#//闰年出生日期的合法性正则表达式
else:
ereg=re.compile('[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$')#//平年出生日期的合法性正则表达式
#//测试出生日期的合法性
if(re.match(ereg,identification_id)):
#//计算校验位
S = (int(identification_id_list[0]) + int(identification_id_list[10])) * 7 + (int(identification_id_list[1]) + int(identification_id_list[11])) * 9 + (int(identification_id_list[2]) + int(identification_id_list[12])) * 10 + (int(identification_id_list[3]) + int(identification_id_list[13])) * 5 + (int(identification_id_list[4]) + int(identification_id_list[14])) * 8 + (int(identification_id_list[5]) + int(identification_id_list[15])) * 4 + (int(identification_id_list[6]) + int(identification_id_list[16])) * 2 + int(identification_id_list[7]) * 1 + int(identification_id_list[8]) * 6 + int(identification_id_list[9]) * 3
Y = S % 11
M = "F"
JYM = "10X98765432"
M = JYM[Y]#判断校验位
if(M == identification_id_list[17]):#检测ID的校验位
raise osv.except_osv(('提示!'), (''%s'.') %(Errors[0],))
else:
raise osv.except_osv(('提示!'), (''%s'.') %(Errors[3],))
else:
raise osv.except_osv(('提示!'), (''%s'.') %(Errors[2],))
else:
raise osv.except_osv(('提示!'), _(''%s'.') %(Errors[1],)) -
根据身份证计算生日、年龄、性别,欢迎大家讨论和补充应该先判断一下身份证格式对不对,不然这样出的数据应该报错吧。。
-
在新增partner时检查name是否有相同名称在 res_partner中添加如下方法:
def onchange_name(self, cr, uid, ids, name, context=None):
if not name:
return False
warning = {}
if not self.search(cr, uid, [('name', 'ilike', '%' + str(name) + '%')]):
return False
warning = {
'title' : '注意!',
'message' : '名称有相同!'
}
return {'warning': warning}
在相应的视图中改成如下:
<field name="name" on_change="onchange_name(name)"/> -
问题解决:做出货时不会自动带所选的客户的默认客户库位当你设置一个客户时,在客户里设置好该客户指定的客户库位,然后做出货时选择客户,录入商品时需 带出目的库位为客户里设置的库位的解决方法:
addons\sale_stock\stock_view.xml 的913行:
<field name="move_lines" context="{'address_out_id': partner_id, 'picking_type': 'out', 'form_view_ref':[b]'stock.[/b]view_move_picking_form', 'tree_view_ref':'view_move_picking_tree'}" options='{"reload_on_button": true}'/>
增加:stock. -
关于OE财务“年结”那点事!!!每个公司在年终时都要进年结,即‘并闭过去会计期’开启新的年度”会计期“,同时也把去年科目余额等结转到本年度,oe有专门的一个账薄”账簿的开账分录“用来登记上个会计期结转的分录, 所以设置该账簿的默认借方科目和贷方科目,(要到体什么科目需要问专业会计),
操作步骤:会计-账簿 / 账簿的开账分录 (CNY) 设置 默认借方科目和贷方科目
年结操作步骤:
会计-结束会计期-产生开启分录
1.关闭会计期:选去年。
2.新会计期:需要创建。点下拉菜单创建与编辑。增写会计年度名称,和开始和结束日期(是一整年),然后点创建月度会计期,然后系统自动创建月度会计 期 ,可以去会计期间查看。
3,然后在账簿的开账分录选”账簿的开账分录 (CNY)“,打开期间 2014选”打开期间XX"
4, 点“创建”按钮
5 ,然后去“会计凭证”里查看年结产生的会计凭证。。
6, 完事了
-
Openerp7.0 企业流程在哪个位置 如何让企业流程图显示出来,求赐教[quote author=yeahliu link=topic=14644.msg25518#msg25518 date=1385561023]
给你支个歪招,仅供参考,
<template>
<!-- vim:fdl=1:
-->
<t t-extend="ViewManagerAction">
<t t-jquery="h2.oe_view_title" t-operation="replace">
<h2 class="oe_view_title" t-if="widget.flags.display_title !== false">
<span class="oe_view_title_text oe_breadcrumb_title"/>
</h2>
<a class="oe_process" title="Process View" href="javascript: void(0)"></a>
</t>
</t>
</template>
加一段这个代码,就不用进入开发者模式了
[/quote]
----------------------------
这段代码加在那里呢?怎么个用法啊 -
库存明细报表的实现这个是怎么用啊。。没看懂
-
讨论下 库存用sql查询的方式好像不需要写sql.有个视图里有这个功能,你直接调用就可以了呀
-
北京 OpenERP Meetup 沙龙召集(时间 2013-12-21周六)终于来北京了,,报个名。。
-
Openerp onchange 金额自动转为大写可以参考下如文件,进行转换大写金额。。
-
去掉设置-模块-(应用和在线更新)上面的那个菜单,方法。我一直觉的 模块-(应用和在线更新)上面的那个菜单,没什么用,所以想怎么能去掉,,
我处理方法是直接在数据里:
到ir_ui_menu表里,把name字段里的 apps和updates这两条记录去掉,即可。 -
【分享】查找某条记录的id好贴,今天才知道,XML_ID与名称及模型的对应关系,,一直觉的很深奥。。。感谢 @重庆-mrshelly告知。
也可以通过如下方法查找:
设置 --> 技术 --> 序号与标识符 --> External Identifiers -
已解决:怎么调用外部系统的WebSever接口,公司有套考勤系统,怎么在OE中调用考勤系统中的Webserver怎么不把代码粘出来呢?
跪求、、、 -
OE中的代码[(6,0,xxx)],[(0,0,xxx)] 作用总结的不错。。
-
订单tree 视图显示是否退货_amount_stock_return 和_amount_payment_return 函数 的内容怎么没有放出来啊?
-
当一个字段占用一整列的设置方法(xml)新建模块是默认是4列。当一个字段当一整列时 ,不需要给该字段加GROUP属性。只需加 colspan="4" 设置方法如下。
<field name="x_wangz" />
<field name="x_zhiw" />
<field name="x_dianh" />
<field name="x_shouj" />
<field name="x_chuanz" />
<field name="x_youj" />
<field name="x_chengw" />
<field name="x_chuangjrq" />
[b][glow=red,2,300] <field colspan="4" name="shiyou" />[/glow][/b]
<group col="5" colspan="5">
<notebook>
<page string="跟踪信息">
<group col="5" colspan="5">
<field name="requisition_lines" nolabel="1" />
</group>
</page>
</notebook>
------------------------
colspan 从上级容器 取的几列
col ,本容器 分成 几列
col 本容器占用几列 -
新建模块里没有NAME字段时,调用该模块时显示不出你想要字段。[img][/img]
新建模块里没有NAME字段时,调用该模块时显示不出你想要字段,如下面图
修改方法是:
class ziyuan_fdcrm(osv.osv):
_name = 'ziyuan.fdcrm'
_description = u'客户管理'
[shadow=red,left][glow=red,2,300] [b]_rec_name = 'x_name'[/b][/glow][/shadow]
x_name 换成你要显示的字段即可。 -
Oe开发环境进行DEBUG时,出现错误。这个要怎么改成2.7的呢?谢谢。。
-
Oe开发环境进行DEBUG时,出现错误。我安装是python2.7. 在进行DEBUG时出现如下错误,说是找不到python26.dll,,这个在那里设置 一下呢。,请大老们指点一下,多谢。。
Traceback (most recent call last):
File "G:\OPENERP\eclipse-SDK-3.7.2-win32\eclipse\plugins\org.python.pydev_2.7.1.2012100913\pysrc\pydevd.py", line 3, in <module>
import pydev_imports
File "G:\OPENERP\eclipse-SDK-3.7.2-win32\eclipse\plugins\org.python.pydev_2.7.1.2012100913\pysrc\pydev_imports.py", line 14, in <module>
from _pydev_SimpleXMLRPCServer import SimpleXMLRPCServer
File "G:\OPENERP\eclipse-SDK-3.7.2-win32\eclipse\plugins\org.python.pydev_2.7.1.2012100913\pysrc_pydev_SimpleXMLRPCServer.py", line 115, in <module>
import SocketServer
File "D:\Python27\lib\SocketServer.py", line 132, in <module>
import socket
File "D:\Python27\lib\socket.py", line 47, in <module>
import _socket
ImportError: Module use of python26.dll conflicts with this version of Python