2015-08-01 4 views
3

Это мой код:odoo - «Поле происхождения не существует»

<record id="view_order_form_inline" model="ir.ui.view"> 
      <field name="model">sale.order.line</field> 
      <field name="inherit_id" ref="sale.view_order_form"/> 
      <field name="arch" type="xml"> 
       <xpath expr="//field[@name='order_line']/tree/field[11]" position="after"> 
        <field name="xx_insurance_inline"/> 
       </xpath> 
      </field> 
     </record> 

Это, чтобы добавить новый столбец внутри строк заказов на продажу. При обновлении моего модуля я получаю следующее сообщение об ошибке:

ParseError: "ValidateError 
Field(s) `arch` failed against a constraint: Invalid view definition 

Error details: 
Field `origin` does not exist 

Error context: 
View `sale.order.line form` 
[view_id: 1035, xml_id: n/a, model: sale.order.line, parent_id: 647]" while parsing /home/pantera/Custom/xx_khleuven2/view/sale.xml:24, near 
<record id="view_order_form_inline" model="ir.ui.view"> 
      <field name="model">sale.order.line</field> 
      <field name="inherit_id" ref="sale.view_order_form"/> 
      <field name="arch" type="xml"> 
       <xpath expr="//field[@name='order_line']/tree/field[11]" position="after"> 
        <field name="xx_insurance_inline"/> 
       </xpath> 
      </field> 
     </record> 

Поскольку не существует нигде в моем коде ссылки на поле под названием происхождения я понятия не имею, что точная проблема. Должно ли добавление столбца быть сделано по-другому или я не вижу ничего очевидного?

редактировать: Это XML-код, где XPath относится к:

<field name="order_line"> 
    <form string="Sales Order Lines"> 
    .... 
    </form> 
    <tree string="Sales Order Lines" editable="bottom"> 
     <field name="sequence" widget="handle"/> 
     <field name="state" invisible="1"/> 
     <field name="th_weight" invisible="1"/> 
     <field name="product_id" 
             context="{'partner_id':parent.partner_id, 'quantity':product_uom_qty, 'pricelist':parent.pricelist_id, 'uom':product_uom}" 
             groups="base.group_user" 
             on_change="product_id_change(parent.pricelist_id, product_id, product_uom_qty, False, product_uos_qty, False, name, parent.partner_id, False, True, parent.date_order, False, parent.fiscal_position, False, context)"/> 
       <field name="name"/> 
       <field name="product_uom_qty" 
             context="{'partner_id':parent.partner_id, 'quantity':product_uom_qty, 'pricelist':parent.pricelist_id, 'uom':product_uom}" 
             on_change="product_id_change(parent.pricelist_id, product_id, product_uom_qty, product_uom, product_uos_qty, product_uos, name, parent.partner_id, False, False, parent.date_order, False, parent.fiscal_position, True, context)"/> 
       <field name="product_uom" 
             on_change="product_uom_change(parent.pricelist_id, product_id, product_uom_qty, product_uom, product_uos_qty, product_uos, name, parent.partner_id, False, False, parent.date_order, context)" 
             groups="product.group_uom" options='{"no_open": True}'/> 
       <field name="product_uos_qty" groups="product.group_uos" invisible="1"/> 
       <field name="product_uos" string="UoS" groups="product.group_uos" invisible="1"/> 
       <field name="price_unit"/> 
       <field name="tax_id" widget="many2many_tags" domain="[('parent_id','=',False),('type_tax_use','&lt;&gt;','purchase')]"/> 
       <field name="discount" groups="sale.group_discount_per_so_line"/> 
       <field name="price_subtotal"/> 
     </tree> 
    </field> 
+0

Вы решили это? У меня такая же проблема. – mokiSRB

ответ

0

Это может произойти, если у вас есть модифицируются любом из зрения, которая добавляет некоторые поля базы дона происхождения или удалено происхождения раздел из оригинальная запись. Первоначально в базе данных есть всего три вида на sale.order модели, которая изменяет или добавляющий вид происхождения, как показано ниже изображений:

enter image description here

  1. sale.order.form является добавлением изначальный.
  2. sale.order.inherit: есть вид принадлежности 1 и используя происхождение добавленного поля. Это будет их только в том случае, если установлен модуль sale_crm.
  3. sale.order.journal.view.form_: это вид принадлежности 1 и используя происхождение добавленного поля. Это будет их только в том случае, если установлен модуль sale_journal.

Таким образом, убедитесь, что это представление существует интрабабельно правильно, перед тем, как усовершенствовать ваш модуль.

Bests

3

Я думаю, что вам нужно обновить несколько вещей в XML,

<field name="model">sale.order</field> 
<field name="inherit_id" ref="sale.view_order_form"/> 
<field name="priority" eval="50" /> 

Поскольку этот внешний идентификатор sale.view_order_form является принадлежит sale.order модели не sale.order.line модели.

Смежные вопросы