1

タイムシートの詳細に 2 つのフィールドを追加しました。これら 2 つのフィールドの値をaccount_analytic_lineテーブルに追加したいのですが、どうすればよいですか?

ここに.pyファイルがあります

from osv import osv, fields

class hr_analytic_timesheet(osv.osv):
    _inherit = "hr.analytic.timesheet"
    _columns = {
           'start_at1':fields.char('Start at', size=170),
               'end_at1':fields.char('End at', size=170),
                }          
hr_analytic_timesheet()

そして、これがview.xmlファイルです

<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data>
        <record model="ir.ui.view" id="hr_timesheet_inherit">
            <field name="name">hr.timesheet.sheet.form</field>
            <field name="model">hr_timesheet_sheet.sheet</field>
            <field name="type">form</field>
            <field name="inherit_id" ref="hr_timesheet_sheet.hr_timesheet_sheet_form" />
            <field name="arch" type="xml">
                <xpath expr="//field[@name='unit_amount']" position="after">
                    <field name="start_at1" />
                    <field name="end_at1" />
                </xpath>

            </field>
        </record>
    </data>
</openerp>
4

1 に答える 1

2

2 ページの技術的なメモ ( https://www.openerp.com/files/memento/ ) を調べると、OpenERP には 2 種類の継承があることがわかります。

hr.analytic.timesheet モデルは 2 番目のもの (Delegation または Decorating) を使用しているため、フィールドは account_analytic_line テーブルではなく、hr_analytic_timesheet テーブルに入ります。

このフィールドを account_analytic_line テーブルに本当に入れたい場合は、analytic.account.line から継承し、代わりにそのクラスを拡張してください。hr.analytic.timesheet でも新しいフィールドを使用できるようになったので、id "hr_timesheet_inherit" を持つビューはとにかく適合するはずです (ここでは何も変更しません)。

これが役立つことを願っています。

于 2014-02-12T07:44:12.563 に答える