Odoo 中文社区

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

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

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

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

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

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

    在调拨的tree视图中添加收货人姓名电话和地址,怎么添加?

    Odoo 新手求助
    2
    21
    4564
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 风
      风飞花 最后由 编辑

      就是点击库存,,然后点击菜单,,中的调拨,,在出现的那个出库单列表中添加收货人姓名,电话,地址列
      😧 刚接触odoo,,看了https://www.cnblogs.com/SamNicole1809/archive/2019/06/03/10968113.html添加字段,也不是很明白

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

        出库单上有Partner对象,也就是收货人。收货人上有对应的名称,电话,地址。如果要在picking对象上显示Partner对象上的字段,可以定义related字段,然后在tree视图中指定显示这些字段就可以了。

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

        1 条回复 最后回复 回复 引用 0
        • 风
          风飞花 最后由 风飞花 编辑

          是需要在代码里边加吗?
          还有,https://www.cnblogs.com/SamNicole1809/archive/2019/06/03/10968113.html这个连接中的说的在models目录中创建sale_order_extension.ph,是指在~\odoo\addons\sale目录下的那个models吗?😧

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

            对Odoo的修改是不建议在Odoo已有代码中修改的。我们需要用创建自己的模块,并继承原有的Model,这样就可以做修改了。所以对你的第二个问题的回答是:“不是,你需要创建你自己的addon”

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

            1 条回复 最后回复 回复 引用 0
            • 风
              风飞花 最后由 风飞花 编辑

              我在addons_path添加了custom-addons,然后在里边建了sale_my文件夹,这个文件夹包含的文件结构如下:

              models
              ---- __init__.py
              ----sale_order_extension.py
              views
              ----sale_order_extension.xml
              __manifest__.py
              

              各自代码如下,基本按照https://www.cnblogs.com/SamNicole1809/archive/2019/06/03/10968113.html里边说明填入代码,后边我在对应的位置看不到新加的字段,,**是哪里出问题了吗?😧 **(下边图片中红圈的都点击过了)
              微信图片1.png
              微信图片2.png

              __init__.py代码如下:
              
              # -*- coding: utf-8 -*-
              
              from . import sale_order_extension
              

              sale_order_extension.py代码如下

              # -*- coding:utf-8 -*-
              """销售模块扩展"""
              
              from odoo import fields, models
              
              # 销售模块扩展
              class SaleOrderExtension(models.Model):
                  """销售模块扩展"""
                  _inherit = 'sale.order'
              
                  # 销售员
                  x_salesman = fields.Many2one(
                      'res.users',
                      string='销售员',
                      related='partner_id.user_id'
                  )
              

              sale_order_extension.xml代码如下:

              <?xml version="1.0" encoding="UTF-8" ?>
              <odoo>
              
                  <record id="view_order_form_modify" model="ir.ui.view">
                      <field name="name">view.order.form.modify</field>
                      <field name="model">sale.order</field>
                      <field name="inherit_id" ref="sale.view_order_form"/>
                      <field name="arch" type="xml">
                          <!-- 增加``销售员``字段 -->
                          <xpath expr="//group/group/field[@name='partner_id']"
                                 position="after"
                          >
                              <field name="x_salesman" />
                          </xpath>
                      </field>
                  </record>
              <record id="view_order_tree_modify" model="ir.ui.view">
                      <field name="name">view.order.form.modify</field>
                      <field name="model">sale.order</field>
                      <field name="inherit_id" ref="sale.view_quotation_tree_with_onboarding"/>
                      <field name="arch" type="xml">
                          <!-- 增加``创建人``字段 -->
                          <xpath expr="//field[@name='date_order']"
                                 position="after"
                          >
                              <field name="create_uid" />
                          </xpath>
                      </field>
               </record>
              
              </odoo>
              
              __manifest__.py代码如下:
              
              # -*- coding: utf-8 -*-
              {
                  'version': '0.1',
                  # any module necessary for this one to work correctly
                  'depends': ['base', 'sale',],
                  # always loaded
                  'data': [
                  # 'security/ir.model.access.csv',
                  'sale_order_extension.xml',
                  ],
              }
              
              1 条回复 最后回复 回复 引用 0
              • digitalsatori
                digitalsatori 管理员 最后由 编辑

                你的sale_my/__init__.py有这样的内容吗?

                from . import models
                

                你的sale_order_extension.xml是在views目录下,在manifest文件里没有指定views路径

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

                1 条回复 最后回复 回复 引用 0
                • 风
                  风飞花 最后由 风飞花 编辑

                  @风飞花 在 在调拨的tree视图中添加收货人姓名电话和地址,怎么添加? 中说:
                  文件结构如下:

                  models
                  models/__init__.py
                  models/sale_order_extension.py
                  views
                  views/sale_order_extension.xml
                  __init__.py
                  __manifest__.py
                  

                  各自代码如下,然后还是按照上贴途中那几个都点击一下,也是没有结果显示😧 :

                  models/ __init__.py代码如下:
                  
                  # -*- coding: utf-8 -*-
                  
                  from . import sale_order_extension
                  

                  models/ sale_order_extension.py代码如下:

                  # -*- coding:utf-8 -*-
                  """销售模块扩展"""
                  
                  from odoo import fields, models
                  
                  # 销售模块扩展
                  class SaleOrderExtension(models.Model):
                      """销售模块扩展"""
                      _inherit = 'sale.order'
                  
                      # 销售员
                      x_salesman = fields.Many2one(
                          'res.users',
                          string='销售员',
                          related='partner_id.user_id'
                      )
                  

                  views/sale_order_extension.xml代码如下:

                  <?xml version="1.0" encoding="UTF-8" ?>
                  <odoo>
                  
                      <record id="view_order_form_modify" model="ir.ui.view">
                          <field name="name">view.order.form.modify</field>
                          <field name="model">sale.order</field>
                          <field name="inherit_id" ref="sale.view_order_form"/>
                          <field name="arch" type="xml">
                              <!-- 增加``销售员``字段 -->
                              <xpath expr="//group/group/field[@name='partner_id']"
                                     position="after"
                              >
                                  <field name="x_salesman" />
                              </xpath>
                          </field>
                      </record>
                  <record id="view_order_tree_modify" model="ir.ui.view">
                          <field name="name">view.order.form.modify</field>
                          <field name="model">sale.order</field>
                          <field name="inherit_id" ref="sale.view_quotation_tree_with_onboarding"/>
                          <field name="arch" type="xml">
                              <!-- 增加``创建人``字段 -->
                              <xpath expr="//field[@name='date_order']"
                                     position="after"
                              >
                                  <field name="create_uid" />
                              </xpath>
                          </field>
                   </record>
                  
                  </odoo>
                  
                  __manifest__.py代码如下:
                  
                  # -*- coding: utf-8 -*-
                  {
                      'version': '0.1',
                      'depends': ['base', 'sale',],
                      'data': [
                      'views/sale_order_extension.xml',
                      ],
                  }
                  
                  __init__.py代码如下
                  
                  from . import models
                  
                  1 条回复 最后回复 回复 引用 0
                  • digitalsatori
                    digitalsatori 管理员 最后由 编辑

                    好象,似乎,你没有安装自己的模块啊。你的__manifest__.py里缺少类似'name': 'My Sale Extension'

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

                    风 1 条回复 最后回复 回复 引用 0
                    • 风
                      风飞花 @digitalsatori 最后由 风飞花 编辑

                      @digitalsatori

                      __manifest__.py代码修改如下,不过还是看不到效果,在应用里边也没有增加东西
                      
                      # -*- coding: utf-8 -*-
                      {
                          'name':'测试',
                          'description':'sale的form、tree、kanban模块显示内容的扩展',
                          'version': '1.0',
                          'license': 'LGPL-3',
                          'depends': ['base', 'sale',],
                          'data': [
                              'views/sale_order_extension.xml',
                          ],
                      }
                      
                      1 条回复 最后回复 回复 引用 0
                      • digitalsatori
                        digitalsatori 管理员 最后由 编辑

                        所以你的模块的路径是 custom-addons/sale_my
                        custom-addons添加到了odoo的配置文件中的addons_path中了?

                        你是如何启动Odoo的,在启动参数中有没有用-c xxxxx.conf指向你上面的配置文件?

                        如果代码和配置都对的情况下,点击刷新本地模块列表按钮后,去掉默认的应用(App)过滤条件后就可以搜索sale_my(你的Odoo模块名)

                        找到模块后点击“安装”按钮,没有报错的话,你就应该成功了,检查你的修改结果。

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

                        风 1 条回复 最后回复 回复 引用 0
                        • 风
                          风飞花 @digitalsatori 最后由 风飞花 编辑

                          @digitalsatori 在 在调拨的tree视图中添加收货人姓名电话和地址,怎么添加? 中说:

                          你是如何启动Odoo的,在启动参数中有没有用-c xxxxx.conf指向你上面的配置文件?

                          我就是在windows中下载官网一健安装程序安装,这样启动参数怎么修改

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

                            我在addons_path添加了custom-addons,然后在里边建了sale_my文件夹

                            你是这样说的,所以你将custom-addons添加在哪里了?

                            我没有在Windows下装过Odoo,不太清楚默认的配置文件的位置,网上说是在 C:\Program Files (x86)\Odoo 11.0\server\odoo.conf 不知道对不对。

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

                            风 1 条回复 最后回复 回复 引用 0
                            • 风
                              风飞花 @digitalsatori 最后由 编辑

                              @digitalsatori

                              就是下边这么配置的,,后边那个是添加的,前边那个是默认的
                              custom-addons文件夹也是放在server文件夹下边
                              addons_path = d:\Program Files\Odoo12\server\odoo\addons,d:\Program Files\Odoo12\server\custom-addons

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

                                你的设置应该都没问题。搜你的模块:sale_my的时候需要去掉那个默认的“应用”过滤规则,如下图:

                                应用_-_Odoo.png

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

                                风 1 条回复 最后回复 回复 引用 0
                                • 风
                                  风飞花 @digitalsatori 最后由 风飞花 编辑

                                  @digitalsatori
                                  不知道什么问题,第三方APP都刷出来了,,sale_my就是没出来,我就算吧这个文件夹放到程序默认的odoo\addons里边也刷不出来(估计应该是哪里有问题)

                                  先不管了,,也就是说要想https://www.cnblogs.com/SamNicole1809/archive/2019/06/03/10968113.html里边说的增加字段,或者是说想在库存的tree中增加收货人姓名、电话、地址等都是要自定义一个模块,然后related字段,并显示的吧?(没办法在视图字段那边直接添加是吧)

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

                                    建议你还是看官方文档吧:
                                    https://www.odoo.com/documentation/12.0/howtos/backend.html

                                    网上东一块西一块的文章好多都有问题的。

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

                                    风 1 条回复 最后回复 回复 引用 0
                                    • 风
                                      风飞花 @digitalsatori 最后由 风飞花 编辑

                                      @digitalsatori
                                      老是看到教材中用命令行创建模块,,Windows中怎么用命令行,我输入odoo-bin等,都说不是内部命令什么的

                                      是直接打开windows的cmd,输入下边代码就可执行吗?

                                      比如下边代码:

                                      $ odoo-bin scaffold <module name> <where to put it>
                                      
                                      
                                      1 条回复 最后回复 回复 引用 0
                                      • digitalsatori
                                        digitalsatori 管理员 最后由 编辑

                                        windows下的odoo-bin是在d:\Program Files\Odoo12\server\目录下的。你可以把这个目录加到环境目录下,这样就不需要每次都要输入完整路径了。

                                        另外Windows下建议使用PowerShell。不过最好还是在Linux下搞开发。

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

                                        1 条回复 最后回复 回复 引用 0
                                        • 风
                                          风飞花 最后由 编辑

                                          1569717160(1).png

                                          我这么用命令,,发现都是不行的;怎么感觉别人简单的,,我这便都有问题😧

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

                                            windows下应该是odoo-bin.exe吧,你要看这个执行文件在windows下的名字啊。

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

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