Как использовать одно и то же поле более одного раза в форме? - PullRequest
1 голос
/ 09 апреля 2019

Как будет выглядеть представление xml для модуля, который должен использовать одно и то же поле более одного раза?

Например. В моем сценарии я наследую представление и хочу отобразить некоторые поля на новой странице, как вы можете видеть в коде. move_lines уже используется в родительском представлении, поэтому я не получаю требуемый вывод.

<xpath expr="/form/sheet/notebook/page[3]" position="after">
     <page string="Tracking Info">
          <field name="move_lines">
                 <tree string="Stock Moves" editable="bottom" create="false" delete="false">
                      <field name="product_id" readonly="True" required="1"/>
                      <field name="tracking_no"/>
                  </tree>
           </field>
    </page>
</xpath>

Есть ли лучший способ сделать это?

Ответы [ 3 ]

2 голосов
/ 23 апреля 2019

Я провел некоторый поиск, и единственный путь к этому - создать связанное поле.

class stock_picking(models.Model):
    _inherit = 'stock.picking'

    move_lines_d = fields.One2many('stock.move', related='move_lines')

И использовать это поле в xml

<xpath expr="/form/sheet/notebook/page[3]" position="after">
                  <page string="Tracking Info">
                            <field name="move_lines_d">
                                <tree string="Stock Moves" editable="bottom" create="false" delete="false">
                                    <field name="state" invisible="1" readonly="0"/>
                                    <field name="product_id" readonly="True" required="1"/>

                                    <field name="moveline_partner" readonly="True"/>
                                    <field name="moveline_partner_address" readonly="True"/>
                                    <field name="tracking_no"/>

                                    <!--<field name="product_uom_qty" string="Initial Demand" readonly="True"/>-->
                                    <!--<field name="reserved_availability" string="Reserved" readonly="True"/>-->
                                    <field name="quantity_done" string="Done" readonly="True"/>
                                    <!--<field name="product_uom" readonly="True" string="Unit of Measure" groups="product.group_uom"/>-->
                                </tree>
                            </field>
                        </page>
              </xpath>
0 голосов
/ 10 апреля 2019
<record model="ir.ui.view" id="view_picking_form_with_double_move_lines">
  <field name="name">stark product</field>
  <field name="model">stock.picking</field>
  <field name="mode">extension</field>
  <field name="priority" eval="50"/>
  <field name="inherit_id" ref="stock.view_picking_form"/>
  <field name="arch" type="xml">
    <xpath expr="/form/sheet/notebook/page[3]" position="after">
      <page string="Tracking Info">
        <field name="move_lines" widget="one2many"/>
      </page>
    </xpath>
</field>

after before view

0 голосов
/ 09 апреля 2019

На самом деле это невозможно с ванильным (не настроенным) Odoo, и я не знаю ни о какой настройке, удовлетворяющей этому требованию.

...