跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Flatly)
  • 不使用皮肤
折叠

Odoo 中文社区

  1. 主页
  2. 版块
  3. Odoo 开发与实施交流
  4. 新手请教odoo同步外部数据如何实现?

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

已定时 已固定 已锁定 已移动 Odoo 开发与实施交流
5 帖子 2 发布者 5.1k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • Q 离线
    Q 离线
    qd19
    写于 最后由 编辑
    #1

    研究了一段时间的odoo,越来越觉得这东西的强大。本以为是套进销存的软件,少带点生产。后来发现还可以定义字段属性工作流。再后来发现所有东西都是对象,整整齐齐的码放在数据库里,想要什么,用视图窗口动作调出来就行。本人技术有限,照猫画虎写几个xml还凑合,action automation 啃起来就很费力了。仿佛再往下走,就要懂点python了。

    最近遇到个需求,把考勤机数据倒进来,那边access ms-sqlserver,这边postgresql。我就挖空了脑袋得想办法啊~
    1)那边导出csv 转换编码utf8 这边自定义一张表 定义好两边人员ID对应关系 再导入这个csv 然后关联这张自定义表 到hr相关的模块 应该能实现 但 累死
    2)找数据库同步软件  sqlserver只支持他们自己的东西  postgresql也是 也有第三方出这么个连接两边的同步软件,但价格不菲。
    3)若是写个windows下的值守程序,两边都通过odbc读写,应该也能实现。但我感觉这不是解决问题的正规路子,就像打游戏用外挂。
    4)用python读sqlserver应该更靠谱。于是安装python环境,找到了pymssql这么个类库,还有网上一些教程,看来应该能实现。可python能读sqlserver,odoo也是python写的,也有python环境,让odoo去干这事岂不是更好。
    5)若是能把pymssql加载进odoo,用odoo的方式让他去执行,想必也是极好的……可,加载到哪里去比较好呢。

    然后这几天我有点卡住了,上来发个帖子请教各位大侠。我这写的都是些外行话,出现这个问题,一定是源于我对odoo的了解不够深入。但这个深入又岂是一两天就能解决的。我也是愿意下点功夫研究的人。若哪位大侠给指点个方向,指条明路,感激不尽呢。

    后台有个automation,下面有些计划的动作,看起来很可爱。若想创建,问我要对象,方法,参数。他对象在哪?我自定义在数据库里的表,算吗?什么方法?我写在python文件里吗?脚本又放在哪呢?

    后台还有个动作,服务器动作,看起来也很可爱,而且还能直接填写python语言呢 可是好像能用的语句有限 而且初始化sqlser数据库 读取数据 转换编码 写入postgre这么多的事,又岂是一个框框能写的下的。

    我隐约感觉到,我得写一些py文件,放在某个神秘的角落,然后让odoo启动时,捎带着把我写这些一起import了,然后我才能得到那些对象方法参数啊。也许那时,后台的动作里,我就写几个参数,就能把这事干了……想想也是醉了。

    求各位大侠们,尽情的拿板砖砸我吧~

    1 条回复 最后回复
    0
    • Q 离线
      Q 离线
      qd19
      写于 最后由 编辑
      #2

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

      不知道方向对不对,又或者,我想多了……

      1 条回复 最后回复
      0
      • mrshellyM 离线
        mrshellyM 离线
        mrshelly
        写于 最后由 编辑
        #3

        推荐  xmlrpc2  jsonrpc  接口...

        1 条回复 最后回复
        0
        • Q 离线
          Q 离线
          qd19
          写于 最后由 编辑
          #4

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

          1 条回复 最后回复
          0

          • 登录

          • 没有帐号? 注册

          • 登录或注册以进行搜索。
          • 第一个帖子
            最后一个帖子
          0
          • 版块
          • 标签
          • 热门
          • 用户
          • 群组