zoukankan      html  css  js  c++  java
  • (58) 在计算字段提供搜索功能

    问题描述:
    运单号是在出库单上后勤填写的,平时销售订单有一个运单号是通过计算字段
    从出库单上获的,这时,销售员,要在销售列表上,输入运单号 找到对应的销售订单

    分析:
    可以用两种方法
    方法1.字段设置为 store=True , 这样和其它的普通的字段一样,可以搜索,有一点
    在计算时会很慢,在出库货上填写运单号时,转半天,影响效率

    方法2,字段加上search 加上对应的方法
    这个写逻辑复杂一些,但效率最高

    解决:
    用方法2:
    tracking_number_raw = fields.Text(string='Tracking Number Raw',

    compute='_get_tracking_number',search='_tracking_number_raw_search')


        def _tracking_number_raw_search(self, operator, value,limit=100):
             if operator == 'like':
                 operator = 'ilike'
             stock_pickings = self.env['stock.picking'].search([('picking_type_code','=','outgoing'),

    ('carrier_tracking_ref',operator,value)])
             if stock_pickings :
                 domain = [('id', 'in', [sale.id for sale in stock_pickings.sale_id])]
             else:
                 domain = [('id', '=', 0)]
             return domain


    ---------------------------------
    <record id="view_sales_order_filter_inherit" model="ir.ui.view">
                <field name="model">sale.order</field>
                <field name="inherit_id" ref="sale.view_sales_order_filter" />
                <field name="arch" type="xml">
                    <field name="partner_id" position="after">
      
                      <field name="tracking_number_raw" />

                    </field>

                    </field>
            </record>

    ---------------------------------
    这样在列表视图右上角输入运单号,有对应的运单号搜索,这样就可以找到对应的销售单

    重点讲解 search 对应的方法
    返回是domain  , 对应的字段一定对象要有的字段,像我上面是sale.order对象
    id 这个字段一定有的 ,这里可以灵活变化,可换成 name 条件去找,等等,这样就解决
    所有关于字段为 compute 类型的搜索问题。

  • 相关阅读:
    Caused by: Unable to load bean: type: class:com.opensymphony.xwork2.ObjectFactory
    nable to load bean: type:com.opensymphony.xwork2.util.ValueStackFactory
    一个web项目web.xml的配置中<context-param>配置作用
    js获取form的方法
    HTML <legend> 标签
    Struts2 文件上传 之 文件类型 allowedTypes
    Struts2验证框架的配置及validation.xml常用的验证规则
    struts2学习笔记--使用Validator校验数据
    LeetCode204:Count Primes
    《采访中收集程序猿》学习记录5
  • 原文地址:https://www.cnblogs.com/toby2chen/p/7922265.html
Copyright © 2011-2022 走看看