已更新 ODOO8的修改方法 ,参考http://shine-it.net/index.php?topic=16199.msg27338#msg27338
aornor
-
[分享]openerp-server.conf 中配置 dbfilter 参数无效的解决办法 -
OpenERP 7.0 Web模块开发简单易懂,自己要是看的话就满天星星,谢谢
-
【分享-oe嵌入qweb】用js读取数据库数据,用类似html语言重写web报表多谢分享
-
如何在任何时间获取过滤器的条件谢谢,比如我在函数 fields_view_get 中如何获取这个呢
-
如何在任何时间获取过滤器的条件search函数本身参数中就带有过滤条件,其它没有的函数如果想用这个过滤器需要如何操作呢?
谢谢mrshelly 当前实际如何操作
,比如我在函数 fields_view_get 中如何获取这个呢 -
WINDOWS2008 安装OPENERP不能启动案例安装ALL IN ONE,安装完成后,浏览器显示: Server error! The server encountered an internal error and was unable to complete your request.
查看日志文件:OperationalError: 致命错误: 没有用于主机 "::1", 用户 "openpg", 数据库 "postgres", SSL 关闭 的 pg_hba.conf 记录
使用pgadmin3.exe进行本地登录,发现显示同一问题,看来是数据库问题,记得有一次写程序,WIN7以上local与本机不是同一个意思,所以在openerp-server.conf文件 中将db_host = localhost 改为 db_host=127.0.0.1 后问题解决 -
通过域名方式决定使用哪个数据库的方式分享当前OPENERP只有一个功能,就是公司内部使用,不过老板又有一个要求,需要给客户那边也用,但是使用的是同一个软件,不同库,客户使用时不能看到其它人使用的库,
我感觉这个功能应该在多个库时比较有多,当前分享一下做法
1.有两个域名分别是 a.openerp.com b.openerp.com
2.当使用a.openerp.com时,访问数据库A ,当使用b.openerp.com时,使用数据库B
3.找到函数:\addons\web\controllers\main.py 下的db_list函数,在函数修改为: ####中为添加的代码
def db_list(req, force=False):
proxy = req.session.proxy("db")
dbs = proxy.list(force)
h = req.httprequest.environ['HTTP_HOST'].split(':')[0]
####################
onedb=openerp.tools.config.get(h+'_db',False)
if onedb!=False:
return [onedb]
####################
d = h.split('.')[0]
r = openerp.tools.config['dbfilter'].replace('%h', h).replace('%d', d)
dbs = [i for i in dbs if re.match(r, i)]
return dbs
4.可以看到,它读取了config中的内容,所以你需要在openerp-server.conf中添加配置:
a.openerp.com_db=A
b.openerp.com_db=B
5.完成
说明:以前代码不影响正常使用,如果配置文件中没有写相应的数据库,则会按照老方法显示页面,但如要已经配置数据库,那么登录页面中将不会显示数据库选择,强制和已设置的数据库。
加入ODOO8的方式,修改的代码文件位置是:D:\GreenOdoo\source\openerp\http.py
修改源码为:
def db_filter(dbs, httprequest=None):
httprequest = httprequest or request.httprequest
h = httprequest.environ.get('HTTP_HOST', '').split(':')[0]
d, _, r = h.partition('.')
##开始进行替换=========
if r=='': #只有一级域名
d='www'
r=openerp.tools.config.get(d+'_db',dbs)
##替换结束=============
##原始内容
#if d == "www" and r:
# d = r.partition('.')[0]
#r = openerp.tools.config['dbfilter'].replace('%h', h).replace('%d', d)
##原始内容结束
dbs = [i for i in dbs if re.match(r, i)]
return dbs -
修改FTP功能,实现WINDOWS下映射盘符FTP的软件我是不太习惯的,我相信普通的员工也不太习惯
并且当前WINDOWS中的FTP扩展软件有很多,可以实现共享办公等功能,
所以这个功能代表: 可以利用当前市面上很多的扩展软件了 -
修改FTP功能,实现WINDOWS下映射盘符FTP一般使用FTP专用软件,但是并不是每一个人都会用那些软件的,并且如果能像WINDOWS那样使用盘符的话,人员就不用再去学习什么FTP软件了.
但是OPENERP中的FTP功能在WINDOWS下是乱码,查看知道得到WINDOWS会发送一条指令,如果认识这条指令就会以UTF8来操作了,所以只要能识别这个指令就行了.
修改方法:
1.找到FTP源码 document_ftp\ftpserver\ftpserver.py
2.需要解析的指令是: ftp_OPTS(self, line):
3.由于不太会,所以直接屏蔽所有,只返回命令正确即可 self.respond('200 MLST OPTS ')
4.完成,试一下,在WINDOWS下是否可以看到正确的汉字了? -
请问怎么在产品里增加一个产品型号的属性?还有怎么修改导出的PDF模板?你能看到回帖的话,你在开发群里找一下我 河北-小奥,我有一些小心得
你需要做的
1.添加你的属性,具体是代码还是界面添加都可以
2.修改PDF模板,这个模块是一个RML模块,我是这样找这个模块的
2.1 先到打印的那个页面,点打印,看出来的是什么字,比如: 生产单
2.2 然后到设置-》动作-》报表中搜索这个名字,然后好东西就出来了,有对象名称,动作名称,基本上已经可以通过这两个东西在OPENERP的ADDONES的目录里找到对应的RML文件了。RML文件是在report目录下。
3.找到这个文件后你就可以添加你想要的东西了,你可以参考已有变量的显示方式
祝你早日成功 -
在销售订单中添加一个产品时,怎样自动填入产品描述信息?你所指的描述信息是指哪些,不太清楚
-
解决发货后销售员不能看到发货单号的问题手写,容易出错 ;D
在一些小公司里,销售认为自己操心会更稳妥些,所以有一些小功能需要放开,让他们放心。 -
FTP功能小改动,实现一些实用功能【修改】顶自己,终于又解决一个问题
-
发现在创建供应商的联系人时一个不合理的地方支持,注意细节,才能贴近用户。
-
FTP功能小改动,实现一些实用功能【修改】当前使用FTP实现一些功能
1. 每一个产品都有一个对应的产品目录,所以我们可以将产品的 技术文档,生产文档, 销售文档 全部放在这个目录里面,这样可以做到文件集中管理。(权限简单测试没有问题,还需要再测试)
2.每一个定单都会有一个与之对应的销售单号目录,如SO001,这样我们就可以将客户的资料统一放到这个目录里,实现客户资料的统一管理。
当前遇到的问题
在产品A下创建目录A0,并将A0.txt放入A0目录中,在A0目录下查看文件显示正常,但在产品A的目录下会同时显示 A0及A0.TXT, 定单也是同样问题, 这样与普通的FTP不一样,造成显示的混乱。
解决方法已经找到,当前是直接修改源码,希望有哪位大神可以将之做成模块
修改: document.py 的def search(self, cr, uid, args, offset=0, limit=None, order=None, context=None, count=False):的第一行加入
if args[0][0]!='parent_id':
args.append(('parent_id','=',None))
思路:
刚开始以为是FTP模块的事,在里面LIST及列目录函数中转悠了好长时间,后来发现在产品的附件中也会把下级目录的内容显示出来,才知道不是FTP的事,是document的问题,由于是在搜索时出现,直接打开document.py找到search函数,分析数据库得出: 凡是parent_id有数字的,那么这个目录一定是用户自己创建的,并且在别一个数据表中有对应项, 凡是这个字段是NULL的,那么一定是虚拟目录。
分析虚拟目录和正常目录的区别
虚拟目录: [[u'res_model', u'=', u'product.product'], [u'res_id', u'=', 47],[u'type', u'in', [u'binary', u'url']]]
正常目录: [('parent_id', '=', 21), ('res_model', '=', u'product.product'), ('res_id', '=', 47)] -
为什么某一个账套打不开了?原因说的不够详细
-
请教一个问题 为啥我写了一个销售订单 产品库存不够的情况下不能自动生成采购订单,1.看仓库->排程->补货异常
2.刚刚刷新的话,系统需要5分钟左右的时间进行扫描
自己解决问题了
1.添加了 “期望发货日期” 字段
2.出库单中加入了销售员的名称电话及地址
3.出库单中加入了销售字单中的备注,提醒生产及库管别做错了
4.出库单中加入了“期望发货日期”,让生产能够根据这个进行排单 -
解决发货后销售员不能看到发货单号的问题销售下订单以后,在订单没有完成之前,一直可以查看 发货单,但是一旦 完成订单,就不能看发货单了,并且发货物流单号也看不到,这与实际使用时是不一样的,完成这一功能需要:
1.找到按钮 “查看发货单”,并打开DEBUG模式
2.查看按钮的唯一名称 “action_view_delivery”,
3.使用DEBUG选项里的"管理视图"
4.选择表单 sale.order.form.sale.stock,点编辑 (为什么是这个? 因为我也不清楚,只知道这个里面有要找的action_view_delivery 按钮)
5.选中 <button name='action_view_delivery'> 后面的 编辑按钮 修改attrs为:{'invisible': ['|','|',('picking_ids','=',False),('picking_ids','=',[]), ('state', 'not in', ('progress','manual','done'))]}
6.点更新完成
7.再到已完成订单里看看,是不是已经有了呢? ;D
以上是图形界面下的修改方法,代码的修改方式是找到相应的XML文件,然后直接修改attrs,但是我试了,发现页面不更新,不知道怎么回事
河北小奥 ;D -
解决销售人员在销售订单中无法填写期望发货日期的问题没有描述清楚, 我的意思是: 如果在人员的设置里不勾选 “技术设置”的话, 那么这个人在下订单的时候不能填写 “期望发货日期”
-
解决销售人员在销售订单中无法填写期望发货日期的问题解决销售人员在销售订单中无法填写期望发货日期的问题
设置->设置->用户->用户: 选中用户的访问权限中的“技术特性”
完成后,需要退出重进