組み込みの OpenERP 6.1 モジュール crm をインストールしました。
その結果、res.lead がアクティブになり、「Sales->Opportunities」に表示されるようになりました。
このオブジェクト/ビューを編集して、パートナーの請求先住所を表示したいと考えています。
Opporunities フォームでこれを行いたいので、既に partner_id があります。
別のモジュールをコピーして、新しいモジュールを次のように定義しました。
class crm_lead(osv.osv):
_name = _inherit = 'crm.lead'
_columns = {
'billing_address_id': fields.many2one('res.partner.address', 'Partner Billing Address', domain="[('partner_id','=',partner_id),('type','in',['invoice', 'default'])]"),
}
そして、update_xml を次のように変更しました。
<record model="ir.ui.view" id="crm_case_form_view_oppor">
<field name="name">Opportunity form (inherit)</field>
<field name="model">crm.lead</field>
<field name="inherit_id" ref="crm.crm_case_form_view_oppor"/>
<field name="arch" type="xml">
<data>
<separator string="Details" position="replace" />
<field name="description" position="replace">
<group colspan="2" col="4">
<separator colspan="4" string="Billing" />
<field widget="one2many_list" mode="form,tree" name="billing_address_id" colspan="4" nolabel="1" />
</group>
<group colspan="2" col="4">
<separator colspan="4" string="Details" />
<field name="description" nolabel="1" colspan="4" />
</group>
</field>
</data>
</field>
</record>
問題は、関連するオブジェクトが関連するすべてのフィールドを表示することです (予想どおりです)。特に、partner_id フィールドと company フィールドが表示されますが、これらはデフォルトでこの機会 (またはリンクされたパートナー) から継承する必要があるため、非表示にしたいと考えています。
これらのフィールドを非表示にするにはどうすればよいですか? 複数の請求先住所が存在する可能性があるため、「関連する」フィールドを単純に追加することはできません。
助けてくれてありがとう!
編集: 明確にするために、オポチュニティには、パートナーの請求書/デフォルトの住所から選択された単一の選択された請求先住所のみが必要です。簡単に編集できるように、インラインで表示する必要があります。