• (01)odoo模型中调用窗体动作


    *模型代码
      addons/stock/stock.py
      ----------------
       #移库单执行移库动作(弹出详细框)
        @api.cr_uid_ids_context
        def do_enter_transfer_details(self, cr, uid, picking, context=None):
            pass...
            #开启确认框操作(调用)
            return self.pool['stock.transfer_details'].wizard_view(cr, uid, created_id, context)
      ------------------
     
      addons/stock/wizard/stock_transfer_detail.py
      ------------------
         #定义库存移动详情弹出窗体动作
        @api.multi
        def wizard_view(self):
            #采用标准的ref 调用外部标识对象方法
            view = self.env.ref('stock.view_stock_enter_transfer_details')
           
            #用字典方式代替了平时的xml定义
            return {
                'name': _('Enter transfer details'),
               
                'type': 'ir.actions.act_window',
                #列表时采用普通列表
                'view_type': 'form',
                #列出允许使用的视图模式
                'view_mode': 'form',
                #响应的模型
                'res_model': 'stock.transfer_details',
                #列出视图,这里只有一对,就用form视图
                'views': [(view.id, 'form')],
                'view_id': view.id,
                #新开窗口
                'target': 'new',
                #指定打开form视图打开的记录
                'res_id': self.ids[0],
                #带上上下文
                'context': self.env.context,
            }
      ------------------------   

    * 对应的表单视图
    addons/stock/wizard/stock_transfer_detail.xml
    --------------------------
             <record id="view_stock_enter_transfer_details" model="ir.ui.view">
                <field name="name">Enter transfer details</field>
                <field name="model">stock.transfer_details</field>
                <field name="arch" type="xml">
                    <form string="Transfer details" version="7">
                       ....
                    </form>
                </field>
            </record>
           
    *简约说明

  • 相关阅读:
    新组件或功能怎么依附到已有的架构上
    高内聚、低耦合
    软件质量的定义
    软件架构与组件
    架构设计之拥抱着变化而设计(部分讲义分享)
    组件设计原则之概念篇(四)
    抽象类(接口类)的作用
    类,抽象基类,接口类三者间的区别与联系(C++)
    软件的可变性
    软件设计的复杂度
  • 原文地址:https://www.cnblogs.com/toby2chen/p/5275815.html
Copyright © 2020-2023  润新知