0

我想知道是否可以在 odoo 中为编辑模式和创建模式提供不同的表单视图?

其实我只是想在创建模式下隐藏一些元素并在编辑模式下显示它。

我尝试使用 attrs,例如:

<button name="%(print_invoice)d" string="Cetak Struk" type="action" attrs="{'invisible':[('id', '!=', False)]}" />    

但是当我打开表单时,它给了我这样的错误:

Uncaught Error: Unknown field id in domain [["id","!=",false]]    

任何帮助,将不胜感激。

谢谢

4

4 回答 4

6

我曾经attrs="{'invisible': [('id', '=', False)]}"在创建时隐藏一个字段。您必须将 id 作为视图中的(隐藏)字段,例如<field name="id" invisible="1" />

于 2015-09-03T12:18:52.063 回答
5

您可以通过使用“create_date”作为交通信号灯轻松解决此问题。

第一次暴露领域

# make creation date visible
create_date = fields.Date(
    'Data',
    invisible=False,
    readonly=True,
)

然后将其添加到表单并将其用于attrs属性

<field name="create_date" invisible="1" />
<ELEM attrs="{'invisible': [('create_date', '!=', False)]}">
[...]
</ELEM>
于 2015-01-15T11:06:17.863 回答
3

如果需要,您可以使用不同的视图进行阅读、编辑和创建

<div class="oe_read_only">
   READ ONLY
</div>
<div class="oe_edit_only" attrs="{'invisible':[('id', '=', False)]}">
   EDIT ONLY
</div>
<div attrs="{'invisible':[('id', '!=', False)]}">
   CREATE ONLY
</div>
于 2018-10-19T07:51:53.813 回答
2

@qatz

您不能基于“编辑”或“创建”记录有不同的视图。

您可以通过添加“状态”字段来尝试此操作,并根据状态值隐藏显示元素。

希望这可以帮助 !!

于 2014-12-16T06:13:19.697 回答