タイトルの問題に関する解決策を探しています。具体的には: ODOOv9の製品には、提供されている「バリアントオプション」を使用できません。私にとっては、製品のバリエーションが特定の分野で異なることが重要です。これは既にうまく動作していますが、関係フィールド(One2many)のみでOdooのボタンで関連/継承されたレコードを作成する方法
私は使いやすいボタンを実装したいと思います。ユーザーがこのボタンをクリックすると、"product.product"フォームが表示され、バリアントフィールドが挿入されます。問題は、新しい「product.product」が「product.template」を継承しないということです。 Odooは常に新しい空の"product.product"フォームを作成します。
私はあなたに私のXMLのコードとの.py
XMLを提供します - product.template形式で:
<button string="Variante anlegen" type="object" name="insert_new_variant"
class="oe_highlight"/>
の.pyを - 継承product.templateクラスで
@api.multi
def insert_new_variant(self):
id = self.id
view_ref = self.env['ir.model.data'].get_object_reference('product', 'product_normal_form_view')
view_id = view_ref[1] if view_ref else False
res = {
'type': 'ir.actions.act_window',
'name': ('product.product.form'),
'res_model': 'product.product',
'view_type': 'form',
'view_mode': 'form',
'view_id': view_id,
'target': 'new',
'context': {'product_tmpl_id': id}
}
return res
上記のボタンは、このメソッドを呼び出します。正しいフォームはすでに表示されていますが、"product.template"の値で継承されていません。
dictのコンテキスト属性は機能しません。誰でも私を助けてくれる?
あなたは、コンテキスト内のフィールド名の前にデフォルトを追加する必要があり、あなたに
こんにちは、あなたはコンテキストでこの?: 「コンテキスト」を置くことを試みることができます:{ 'default_product_tmpl_id ':id} – dccdany
ありがとうdccdany、それはトリックでした:) 残っている問題が1つあります。ODOOがフォームを開くと、「保存」ボタンはありません。これをどのように実装できますか?バリアントを作成するための標準的な方法を使用しているときには、「保存」ボタンがあります。 –
さて、病気の追加は答えです! – dccdany