Odoo中文社区可以通过以下三个域名访问:shine-it.net , odoocn.org,odoo.net.cn

原论坛用户的基本信息和发帖这里都予以保留,请注意:原论坛用户无需重新注册新用户,但是您的密码需要重置

开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

如果您登录系统碰到问题,请在微信公众号留言:

新手请教odoo同步外部数据如何实现?



  • 研究了一段时间的odoo,越来越觉得这东西的强大。本以为是套进销存的软件,少带点生产。后来发现还可以定义字段属性工作流。再后来发现所有东西都是对象,整整齐齐的码放在数据库里,想要什么,用视图窗口动作调出来就行。本人技术有限,照猫画虎写几个xml还凑合,action automation 啃起来就很费力了。仿佛再往下走,就要懂点python了。<br /><br />最近遇到个需求,把考勤机数据倒进来,那边access ms-sqlserver,这边postgresql。我就挖空了脑袋得想办法啊~<br />1)那边导出csv 转换编码utf8 这边自定义一张表 定义好两边人员ID对应关系 再导入这个csv 然后关联这张自定义表 到hr相关的模块 应该能实现 但 累死<br />2)找数据库同步软件  sqlserver只支持他们自己的东西  postgresql也是 也有第三方出这么个连接两边的同步软件,但价格不菲。<br />3)若是写个windows下的值守程序,两边都通过odbc读写,应该也能实现。但我感觉这不是解决问题的正规路子,就像打游戏用外挂。<br />4)用python读sqlserver应该更靠谱。于是安装python环境,找到了pymssql这么个类库,还有网上一些教程,看来应该能实现。可python能读sqlserver,odoo也是python写的,也有python环境,让odoo去干这事岂不是更好。<br />5)若是能把pymssql加载进odoo,用odoo的方式让他去执行,想必也是极好的……可,加载到哪里去比较好呢。<br /><br />然后这几天我有点卡住了,上来发个帖子请教各位大侠。我这写的都是些外行话,出现这个问题,一定是源于我对odoo的了解不够深入。但这个深入又岂是一两天就能解决的。我也是愿意下点功夫研究的人。若哪位大侠给指点个方向,指条明路,感激不尽呢。<br /><br />后台有个automation,下面有些计划的动作,看起来很可爱。若想创建,问我要对象,方法,参数。他对象在哪?我自定义在数据库里的表,算吗?什么方法?我写在python文件里吗?脚本又放在哪呢?<br /><br />后台还有个动作,服务器动作,看起来也很可爱,而且还能直接填写python语言呢 可是好像能用的语句有限 而且初始化sqlser数据库 读取数据 转换编码 写入postgre这么多的事,又岂是一个框框能写的下的。<br /><br />我隐约感觉到,我得写一些py文件,放在某个神秘的角落,然后让odoo启动时,捎带着把我写这些一起import了,然后我才能得到那些对象方法参数啊。也许那时,后台的动作里,我就写几个参数,就能把这事干了……想想也是醉了。<br /><br />求各位大侠们,尽情的拿板砖砸我吧~



  • 研究了一段时间的odoo,越来越觉得这东西的强大。本以为是套进销存的软件,少带点生产。后来发现还可以定义字段属性工作流。再后来发现所有东西都是对象,整整齐齐的码放在数据库里,想要什么,用视图窗口动作调出来就行。本人技术有限,照猫画虎写几个xml还凑合,action automation 啃起来就很费力了。仿佛再往下走,就要懂点python了。<br /><br />最近遇到个需求,把考勤机数据倒进来,那边access ms-sqlserver,这边postgresql。我就挖空了脑袋得想办法啊~<br />1)那边导出csv 转换编码utf8 这边自定义一张表 定义好两边人员ID对应关系 再导入这个csv 然后关联这张自定义表 到hr相关的模块 应该能实现 但 累死<br />2)找数据库同步软件  sqlserver只支持他们自己的东西  postgresql也是 也有第三方出这么个连接两边的同步软件,但价格不菲。<br />3)若是写个windows下的值守程序,两边都通过odbc读写,应该也能实现。但我感觉这不是解决问题的正规路子,就像打游戏用外挂。<br />4)用python读sqlserver应该更靠谱。于是安装python环境,找到了pymssql这么个类库,还有网上一些教程,看来应该能实现。可python能读sqlserver,odoo也是python写的,也有python环境,让odoo去干这事岂不是更好。<br />5)若是能把pymssql加载进odoo,用odoo的方式让他去执行,想必也是极好的……可,加载到哪里去比较好呢。<br /><br />然后这几天我有点卡住了,上来发个帖子请教各位大侠。我这写的都是些外行话,出现这个问题,一定是源于我对odoo的了解不够深入。但这个深入又岂是一两天就能解决的。我也是愿意下点功夫研究的人。若哪位大侠给指点个方向,指条明路,感激不尽呢。<br /><br />后台有个automation,下面有些计划的动作,看起来很可爱。若想创建,问我要对象,方法,参数。他对象在哪?我自定义在数据库里的表,算吗?什么方法?我写在python文件里吗?脚本又放在哪呢?<br /><br />后台还有个动作,服务器动作,看起来也很可爱,而且还能直接填写python语言呢 可是好像能用的语句有限 而且初始化sqlser数据库 读取数据 转换编码 写入postgre这么多的事,又岂是一个框框能写的下的。<br /><br />我隐约感觉到,我得写一些py文件,放在某个神秘的角落,然后让odoo启动时,捎带着把我写这些一起import了,然后我才能得到那些对象方法参数啊。也许那时,后台的动作里,我就写几个参数,就能把这事干了……想想也是醉了。<br /><br />求各位大侠们,尽情的拿板砖砸我吧~



  • 我又研究了一下。每多看一些知识,眼界就更宽广一些。<br />说的未必对哈,各位大侠尽情批评。<br />odoo总是比我想象的更底层一些,灵活度惊人<br />模块化。全是对象。不是说说而已<br />每个模块都在addons目录下有独立的目录,里面都有自己的init,可以写自己的py。导入什么类,启动什么功能,是否动态的写入数据库,都是自己说的算。<br />那我这读取sqlserver的事 好像从这里就可以开始干<br />修改网上下载的pymssql,也许可以修改一下,从这里就开始调用,在pythion的层级下就完成自己想要的效果。<br />如果能实现,那是不是可以更高级一点,这个连接sql的库,就放在模块目录下,用init.py启动它。然后一些动态的配置信息,方式方法写到数据库里,变成动态的。<br />再然后就有了新对象,odoo里做几个视图 动作 可以改这张数据表。<br />最后,这东西就变成了一个odoo的sqlserver连接模块。装了这个模块的人 就可以填写数据库地址啊 账号密码啥的 就能连sqlserver了<br /><br />不知道方向对不对,又或者,我想多了……



  • 推荐  xmlrpc2  jsonrpc  接口...



  • 感谢mrshelly指点。<br />我也是今天看了odoo官方文档,才知道odoo webservice 这么方便 这么简单。<br />xmlrpc 兼容性也没的说,而且很安全。<br />继续研究……<br />谢谢


登录后回复
 

与 Odoo 中文社区 的连接断开,我们正在尝试重连,请耐心等待