Инструкции XPATH - PullRequest
       4

Инструкции XPATH

0 голосов
/ 08 мая 2020

Я хотел бы добавить поле сразу после поля user_id

Я пробовал это, но, к сожалению, это не сработало. Может ли кто-нибудь указать мне, какие изменения нужно внести?

<xpath expr="/form/sheet/notebook/page[@string='Other Information']//group[@string='Sales Information']/field[@name='user_id']" position="after">
     <field name="my_field"/>
</xpath>

Просмотреть свод :

<page string="Other Information">
<group>
    <group string="Sales Information" name="sales_person">
        <field name="user_id"/>
        <field name="team_id" options="{'no_create': True}"/>
        <field name="client_order_ref"/>
        <field name="company_id" options="{'no_create': True}" groups="base.group_multi_company"/>
        <field name="project_id" attrs="{'invisible':[('state','=','sale')]}" context="{'default_partner_id':partner_invoice_id, 'default_name':name}" groups="analytic.group_analytic_accounting"/>
        <field name="related_project_id" attrs="{'readonly': ['|',('project_id','!=',False),('invoice_count','!=',0),('state','=','sale')],'invisible':[('state','!=','sale')]}" context="{'default_partner_id':partner_invoice_id, 'default_name':name}" groups="analytic.group_analytic_accounting"/>
    </group>
    <group name="sale_pay" string="Invoicing">
        <field name="fiscal_position_id" options="{'no_create': True}"/>
        <field name="invoice_status" attrs="{'invisible': [('state', 'not in', ('sale','done'))]}"/>
    </group>
    <!-- ***** THIS ONE ****** -->
    <group string="Reporting" name="technical" groups="base.group_no_one">
        <field groups="base.group_no_one" name="origin"/>
    </group>
    <!-- ***** THIS ONE ****** -->
</group>

Ответы [ 2 ]

2 голосов
/ 09 мая 2020

Вы можете столкнуться с меньшими проблемами XPath, если будете использовать // аксессор, когда это возможно, например, для этого представления вы можете использовать

//page[@string='Other Information']//group[@string='Sales Information']/field[@name='user_id']

<xpath expr="//page[@string='Other Information']//group[@string='Sales Information']/field[@name='user_id']" position="after">
        <field name="my_field"/>
</xpath>

Аксессор // в любом случае нельзя использовать без осторожности, потому что он снижает производительность, но для простых представлений вы можете использовать его без особых проблем.

0 голосов
/ 08 мая 2020

Попробуйте следующее:

<xpath expr="//form/sheet/notebook/page[@string='Other Information']/group/group[@string='Sales Information']/field[@name='user_id']" position="after">
    <field name="my_field"/>
</xpath>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...