Изменить существующее правило записи odoo

Я хочу поставить <field name="perm_create" eval="False" />к существующему правилу записи. поэтому я добавил унаследованное и добавил свое дополнение.. но никакого эффекта:

<record id="hr_attendance.hr_attendance_rule_attendance_manager" model="ir.rule">
    <field name="perm_create" eval="False"/>
</record>

1 ответ

Решение

Это из-за <data noupdate="1">. hr_attendance_rule_attendance_manager определяется в hr_attendance с участием noupdate=1. Значит, вы не можете его изменить нормально.

Насколько я знаю, есть 2 способа решить эту проблему.

  1. удалять noupdateчерез пользовательский интерфейс. Настройки> Технические> Внешние идентификаторы> найдите свою запись (hr_attendance.hr_attendance_rule_attendance_manager). Затем снимите отметку с поля "Не обновляется".

  2. удалять noupdateс xml. Я имею в виду этот вопрос / ответ. https://www.odoo.com/forum/help-1/question/how-can-i-update-a-record-stored-with-the-attribute-noupdate-1-78133

  • Найти запись и удалить noupdate.
<function name="write" model="ir.model.data">
    <!-- First we need to find the record...-->
    <function name="search" model="ir.model.data">
        <value eval="[('module', '=', 'purchase'), ('name', '=', 'purchase_order_comp_rule')]"/>
    </function>
    <!-- ...and temporarily set the noupdate field to False-->
    <value eval="{'noupdate': False}" />
</function>
  • Примените желаемые изменения.
<!-- Get our main job done, i.e. modify the domain_force field of a record -->
<record id="purchase.purchase_order_comp_rule" model="ir.rule">
    <field name="domain_force">[('company_id','=',user.company_id.id)]</field>
</record>
  • (Необязательно) вернуться к noupdate Правда.
<!-- (Optional) Time to clean our dirty hand, set the previously noupdate False to True again -->
<function name="write" model="ir.model.data">
    <function name="search" model="ir.model.data">
        <value eval="[('module', '=', 'purchase'), ('name', '=', 'purchase_order_comp_rule')]"/>
    </function>
    <value eval="{'noupdate': True}" />
</function>
Другие вопросы по тегам