Odoo 中文社区

    • 注册
    • 登录
    • 搜索
    • 版块
    • 标签
    • 热门
    • 用户
    • 群组

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

    由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解

    本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!

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

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

    官方的 travel 你们能用吗?

    Odoo 开发与实施交流
    3
    9
    5906
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • T
      test004 最后由 编辑

      doc.openerp.com/developer/2_First_Module/2_module.html#changing-the-main-module-file

      我按这个做的.

      建了个 terp.py

      [code]

      -- encoding: utf-8 --

      {
      "name" : "Travel agency module",
      "version" : "1.0",
      "author" : "Tiny",
      "category" : "Generic Modules/Others",
      "website": "www.openerp.com",
      "description": "A module to manage hotel bookings and a few other useful features.",
      "depends" : ["base"],
      "init_xml" : [],
      "update_xml" : ["custom_view.xml"],
      "active": True,
      "installable": True
      }
      [/code]

      init.py

      [code]

      -- encoding: utf-8 --

      import custom

      [/code]

      custom.py
      [code]

      -- encoding: utf-8 --

      from osv import osv, fields
      class travel_hostel(osv.osv):
      _name = 'travel.hostel'
      _inherit = 'res.partner'
      _columns = {
      'rooms_id': fields.one2many('travel.room', 'hostel_id', 'Rooms'),
      'quality': fields.char('Quality', size=16),
      }
      _defaults = {
      }
      travel_hostel()
      [/code]

      custom_view.xml
      [code]
      <openerp>
      <data>
      <record model="res.groups" id="group_compta_user">
      <field name="name">grcompta</field>
      </record>
      <record model="res.groups" id="group_compta_admin">
      <field name="name">grcomptaadmin</field>
      </record>
      <menuitem name="Administration" groups="admin,grcomptaadmin" icon="terp-stock" id="menu_admin_compta"/>
      </data>
      </openerp>
      [/code]

      traval_view.xml
      [code]
      <openerp>
      <data>
      <record model="ir.actions.act_window" id="action_travel_hostel_form">
      <field name="name">Hostel</field>
      <field name="res_model">travel.hostel</field>
      <field name="view_mode">form,tree</field>
      </record>
      <menuitem name="Travel Agency"
      id="menu_travel"/>
      <menuitem name="Hostels"
      id="menu_travel_hostel_form"
      action="action_travel_hostel_form" parent="menu_travel"/>
      <record model="ir.actions.act_window" id="action_travel_room_form">
      <field name="name">Room</field>
      <field name="res_model">travel.room</field>
      <field name="view_mode">form,tree</field>
      </record>
      <menuitem name="Rooms"
      id="menu_travel_room_form"
      action="action_travel_room_form" parent="menu_travel"/>
      <record model="ir.actions.act_window" id="action_travel_room_form1">
      <field name="name">Single Rooms</field>
      <field name="res_model">travel.room</field>
      <field name="domain">[('beds','=',1)]</field>
      <field name="view_mode">tree,form</field>
      </record>
      <menuitem name="Single rooms"
      id="menu_travel_room_form1"
      action="action_travel_room_form1" parent="menu_travel_room_form"/>
      <record model="ir.actions.act_window" id="action_travel_room_form2">
      <field name="name">Double Rooms</field>
      <field name="res_model">travel.room</field>
      <field name="domain">[('beds','=',2)]</field>
      <field name="view_mode">tree,form</field>
      </record>
      <menuitem name="Double rooms"
      id="menu_travel_room_form2"
      action="action_travel_room_form2" parent="menu_travel_room_form"/>
      </data>
      </openerp>
      [/code]

      然后 安装 该模块时. 出现错误.
      [code]
      Traceback (most recent call last):
      File "netsvc.pyo", line 231, in dispatch
      File "netsvc.pyo", line 74, in call
      File "serviceweb_services.pyo", line 537, in execute
      File "serviceweb_services.pyo", line 517, in execute
      File "wizard__init
      _.pyo", line 178, in execute
      File "wizard__init__.pyo", line 74, in execute_cr
      File "C:Program FilesOpenERP AllInOneServeraddonsbasemodulewizardwizard_module_upgrade.py", line 92, in upgrade_module
      File "pooler.pyo", line 61, in restart_pool
      File "pooler.pyo", line 40, in get_db_and_pool
      File "addons__init
      _.pyo", line 704, in load_modules
      File "addons__init__.pyo", line 605, in load_module_graph
      File "toolsconvert.pyo", line 881, in convert_xml_import
      File "toolsconvert.pyo", line 775, in parse
      File "toolsconvert.pyo", line 573, in _tag_menuitem
      File "toolsconvert.pyo", line 756, in id_get
      File "toolsmisc.pyo", line 640, in cached_result
      File "C:Program FilesOpenERP AllInOneServeraddonsbaseirir_model.py", line 416, in _get_id
      IndexError: list index out of range

      [/code]
      问下怎么解决? 谢谢大家.

      1 条回复 最后回复 回复 引用 0
      • digitalsatori
        digitalsatori 管理员 最后由 编辑

        把__terp__.py中的update_xml的值换成“traval_view.xml”

        [[i] 本帖最后由 digitalsatori 于 2009-3-24 21:42 编辑 [/i]]

        【上海先安科技】(tony AT openerp.cn)

        1 条回复 最后回复 回复 引用 0
        • T
          test004 最后由 编辑

          谢谢  [color=#666666][size=99px][color=#666666][size=99px]

          [color=#666666][size=99px]
          [color=#666666][size=99px]

          1 条回复 最后回复 回复 引用 0
          • T
            test004 最后由 编辑

            官方怎么没有一个比较完整的 模块呢? 好奇怪.

            1 条回复 最后回复 回复 引用 0
            • digitalsatori
              digitalsatori 管理员 最后由 编辑

              没仔细看你贴出来的代码,你的custom.py中少了好多类定义啊
              [code]from osv import osv, fields

              class travel_hostel(osv.osv):
              _name = 'travel.hostel'
              _inherit = 'res.partner'
              _table = 'res_partner'
              _columns = {
              'rooms_id': fields.one2many('travel.room', 'hostel_id', 'Rooms'),
              'quality': fields.char('Quality', size=16),
              }
              travel_hostel()

              class travel_airport(osv.osv):
              _name = 'travel.airport'
              _columns = {
              'name': fields.char('Airport name', size=16),
              'city': fields.char('City', size=16),
              'country': fields.many2one('res.country', 'Country')
              }
              travel_airport()

              class travel_room(osv.osv):
              _name = 'travel.room'
              _inherit = 'product.product'
              _table = 'product_product'
              _columns = {
              'beds': fields.integer('Nbr of Beds'),
              'view': fields.selection([('sea','Sea'),('street','Street')], 'Room View'),
              'hostel_id': fields.many2one('travel.hostel', 'Hostel'),
              }
              travel_room()
              class travel_flight(osv.osv):
              _name = 'travel.flight'
              _inherit = 'product.product'
              _table = 'product_product'
              _columns = {
              'partner_id': fields.many2one('res.partner', 'PArtner'),
              'date': fields.datetime('Departure Date'),
              'airport_from': fields.many2one('travel.airport', 'Airport Departure'),
              'airport_to': fields.many2one('travel.airport', 'Airport Arrival'),
              }
              travel_flight()[/code]

              以上是完整的例子,目前你至少要定义travel_hostel和travel_room这两个类。
              仔细看开发文档中是怎么说的,文档中说按照travel_hostel的类定义方法去定义其他需要的类。

              [code]bzr clone lp:~openerp/openobject-addons/trunk addons
              bzr clone lp:~openerp-commiter/openobject-addons/trunk-extra-addons extra-addons[/code]
              可以获取开发中所有模块

              【上海先安科技】(tony AT openerp.cn)

              1 条回复 最后回复 回复 引用 0
              • O
                oldrev 最后由 编辑

                addons-extra 仓库里有可以运行的 travel

                1 条回复 最后回复 回复 引用 0
                • T
                  test004 最后由 编辑

                  我的模块内容 在上面都贴出来了.

                  把 custom.py 的内容换为你提供的内容后, 安装后还是提示

                  Object Error
                  Object travel.room doesn't exist

                  1 条回复 最后回复 回复 引用 0
                  • digitalsatori
                    digitalsatori 管理员 最后由 编辑

                    停止openerp服务器,用以下命令重启服务器:

                    openerp-server&#46;py --update=travel
                    

                    【上海先安科技】(tony AT openerp.cn)

                    1 条回复 最后回复 回复 引用 0
                    • First post
                      Last post