7

我想禁止在制造页面的默认视图上显示库存值变化图表。我正在使用继承来修改表单。现在我可以继承表单并获得额外的操作来显示。但是,我无法将 position="replace" 用于操作、表单或“arch”字段。那么如何停止显示股票价值变化或其他图表?

背景:我是 OpenERP 新手,我正在尝试使用制造模块创建一个自定义应用程序来跟踪原型硬件开发。我想要的大部分功能已经存在,所以 OpenERP 是天作之合。但是,第一步是禁用任何不必要的东西。继承和替换字段以阻止它们出现并不是问题,但我没有任何运气摆脱创建报告和图表的操作。

相关问题:

  • 单独留下制造页面并创建一个全新的“原型”模块会更好吗?换句话说,现在我正在尝试更改制造页面的行为——创建一个新模块并添加一个“原型”按钮以及销售/采购/仓库/制造/会计/设置会更好吗?默认页面的顶部?

  • 我不确定默认制造页面顶部的额外“更改布局”按钮来自哪里,或者如何摆脱它。有任何想法吗?

  • 我从动态名称派生并在另一个模块中引用它们的问题是什么?(例如,mrp_boot_view.xml 中的名称="%(procurement.procurement_exceptions)d")。

Windows 上的 OpenERP 6.1,在本地安装所有内容。

这是代码:

__openerp__.py:

{
    "name" : "prototyping tool",
    "version" : "0.1",
    "author" : "",
    "website" : "",
    "category" : "Manufacturing",
    "sequence": 19,
    "images" : [],
    "depends" : ["mrp", "base"],
    "description": """initial version doesn't do much, simplifies MRP views.""",
    'init_xml': [],
    'update_xml': ["mrp_boot_view.xml"],
    'demo_xml': [],
    'test': [],
    'installable': True,
    'application': True,
    'auto_install': False,
    'certificate': '',
}

__init__.py:
    import mrp_boot
    import mrp

mrp_boot.py:

# None of this functionality is currently used

import mrp_boot
import mrp

from osv import fields, osv

class mrp_boot(osv.osv):
   _name = "mrp_boot"
   _inherit = "purchase.order"

   def _get_boot_expense_category(self, cursor, user_id, context=None):
       return (
           ('NRE', 'NRE'),
           ('MatProto', 'Materials / Prototype'),
           ('Capital', 'Capital'),
           ('Loaner', 'Loaner'))

   _columns = {
       'boot_expense_category':
           fields.selection( _get_boot_expense_category
                           , 'Expense Category'
                           , help="How the equipment for the entire PO is to be expensed. If multiple methods will be used, multiple POs must be created"),
       }

mrp_boot()

mrp_boot_view.xml:

# I'd like to supress the display of the charts generated by the actions 
<?xml version="1.0" ?>

<openerp>
<data>
     <record id="board_mrp_manager_form" model="ir.ui.view">
          <field name="name">board.mrp.manager.form</field>
          <field name="model">board.board</field>
          <field name="inherit_id" ref="mrp.board_mrp_manager_form" />
          <field name="type">form</field>
          <field name="priority" eval="15"/>
          <field name="arch" type="xml">

               <form string="Manufacturing board">
                    <board style="2-1">
                        <column>
                            <action name="%(procurement.procurement_exceptions)d" string="New Prototype Outlook" domain="[('state','=','exception')]"/>
                        </column>
                        <column>
                        </column>
                    </board>
                </form>

          </field>
     </record>
</data>
</openerp>
4

2 回答 2

5

您不能使用替换属性来修改任何实际操作。

要继承操作或更改操作,您可以覆盖操作的 ID。
例如,我想覆盖采购模块的操作,然后我可以根据我的要求更改 view_type 或 view_mode 或 context 或 search_view_id :

<record id="procurement.procurement_exceptions" model="ir.actions.act_window">
        <field name="name">Procurement Exceptions</field>
        <field name="type">ir.actions.act_window</field>
        <field name="res_model">procurement.order</field>
        <field name="view_type">form</field>
        <field name="view_mode">form</field>
        <field name="context">{'search_default_perm_exceptions':1}</field>
        <field name="search_view_id" ref="procurement.view_procurement_filter"/>
</record>

要从继承的视图中删除额外的东西(取自评论):

<record id="my_customized_board_mrp_manager_form" model="ir.ui.view">
    <field name="name">board.mrp.manager.form</field>
    <field name="model">board.board</field>
    <field name="inherit_id" ref="mrp.board_mrp_manager_form" />
    <field name="type">form</field>
    <field name="arch" type="xml">
        <action name="%(mrp.action_report_in_out_picking_tree)d" position="replace"/>
    </field>
<record>
于 2012-11-07T04:47:00.780 回答
0

当您从 purchase.order 继承所有字段时,您无需使用 _name='mrp_boot' .. 因为您使用的是现有对象,而不是创建新对象

于 2014-05-07T10:13:55.367 回答