我有一個選擇區域(多對一的分區域) 如果我選擇一個分區需要在「筆記本區域」加載其員工。 如何在openerp 7中實現這個?如何在onchange事件中加載一個到多個孩子?
,如果我選擇了相關產業的ID,然後需要加載相關divisions.if師選擇則需要在以下階段
<record model="ir.ui.view" id="bpl_work_offer_form">
<field name="name">bpl.work.offer.form</field>
<field name="model">bpl.work.offer</field>
<field name="arch" type="xml">
<form string='bpl_work_offer' version='7.0'>
<sheet>
<group>
<group>
<field name='bpl_estate_id' />
<field name='bpl_division_id' />
<field name='user_id' />
</group>
<group>
<field name='date_of_offer' />
<field name='payment_type' />
<field name='select_by' />
<field name='no_of_workers' attrs="{'invisible':[('select_by','=','by_name')]}" />
<field name='work_type' />
</group>
</group>
<div name="Worker Selection"></div>
<separator string='Select workers' />
<notebook attrs="{'invisible':[('select_by','=','by_count')]}">
<page string="Tea Workers" attrs="{'readonly':[('work_type','!=','tea')]}">
<field name='selected_tea_workers_line_ids' nolabel='1'>
<tree string='List' editable='bottom'>
<field name='worker_id' />
<field name='is_selected' />
</tree>
</field>
<group class='oe_subtotal_footer oe_right'>
<field name='total_workers' />
</group>
<br />
<br />
</page>
<page string="Rubber Workers" attrs="{'readonly':[('work_type','!=','rubber')]}">
<field name='selected_rubber_workers_line_ids' nolabel='1'>
<tree string='List' editable='bottom'>
<field name='worker_id' />
<field name='is_selected' />
</tree>
</field>
<group class='oe_subtotal_footer oe_right'>
<field name='total_workers' />
</group>
<br />
<br />
</page>
<page string="Sundry Workers" attrs="{'readonly':[('work_type','!=','sundry')]}">
<field name='selected_sundry_workers_line_ids' nolabel='1'>
<tree string='List' editable='bottom'>
<field name='worker_id' />
<field name='is_selected' />
</tree>
</field>
<group class='oe_subtotal_footer oe_right'>
<field name='total_workers' />
</group>
<br />
<br />
</page>
</notebook>
</sheet>
</form>
</field>
</record>
<record model="ir.actions.act_window" id="bpl_work_offer_action">
<field name="name">bpl.work.offer.action</field>
<field name="res_model">bpl.work.offer</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
</record>
型號代碼
class company_new_registration(osv.osv):
_name = "bpl.company.n.registration"
_description = "Company"
_columns = {
'name': fields.char('Company Name', size=128, required=True),
'estates': fields.one2many('bpl.estate.n.registration', 'company_id', 'Estate')
}
# Bill of Material
company_new_registration()
class estate_new_registration(osv.osv):
_name = "bpl.estate.n.registration"
_description = "Estates"
_columns = {
'name': fields.char('Estate Name', size=128, required=True),
'company_id': fields.many2one('bpl.company.n.registration', 'Company Name', select=True),
'divisions': fields.one2many('bpl.division.n.registration', 'estate_id', 'Division')
}
estate_new_registration()
class division_new_registration(osv.osv):
_name = "bpl.division.n.registration"
_description = "Divisions"
_columns = {
'name': fields.char('Division Name', size=128, required=True),
'estate_id': fields.many2one('bpl.estate.n.registration', 'Estate Name', select=True),
}
division_new_registration()
,需要用於映射到加載相關的工人該工作提供(種植項目)
class bpl_work_offer(osv.osv):
_name = "bpl.work.offer"
_description = "BPL Work Offer"
_columns = {
'user_id': fields.many2one('res.users', 'User Name'),
'date_of_offer': fields.date('Date'),
'bpl_estate_id':fields.many2one('bpl.estate.n.registration', 'Estate', help='Estate'),
'bpl_division_id':fields.many2one('bpl.division.n.registration', 'Division', help='Division'),
'payment_type': fields.selection([('normal_work', 'Normal Work'), ('cash_work', 'Cash Work')], 'Payment Type'),
'select_by': fields.selection([('by_name', 'By Names'), ('by_count', 'By Count')], 'Select By'),
'no_of_workers': fields.integer('No of Workers'),
'work_type': fields.selection([('tea', 'Tea'), ('rubber', 'Rubber'), ('sundry', 'Sundry')], 'Work Type'),
'total_workers': fields.integer('Total Workers'),
'selected_tea_workers_line_ids': fields.one2many('bpl.selected.tea.workers.line', 'worker_id', 'Tea Workers', ondelete="cascade"),
'selected_rubber_workers_line_ids': fields.one2many('bpl.selected.rubber.workers.line', 'worker_id', 'Rubber Workers', ondelete="cascade"),
'selected_sundry_workers_line_ids': fields.one2many('bpl.selected.sundry.workers.line', 'worker_id', 'Sundry Workers', ondelete="cascade"),
}
bpl_work_offer()
class selected_tea_workers_line_ids(osv.osv):
_name = 'bpl.selected.tea.workers.line'
_description = 'BPL Selected Tea Workers line'
_columns = {
'worker_id':fields.many2one('bpl.worker', 'Tea Worker', ondelete='cascade', help='Worker'),
'is_selected': fields.boolean('Select', help="Selected or not"),
}
selected_tea_workers_line_ids()
class selected_rubber_workers_line_ids(osv.osv):
_name = 'bpl.selected.rubber.workers.line'
_description = 'BPL Selected Rubber Workers line'
_columns = {
'worker_id':fields.many2one('bpl.worker', 'Rubber Worker', ondelete='cascade', help='Worker'),
'is_selected': fields.boolean('Select', help="Selected or not"),
}
selected_rubber_workers_line_ids()
class selected_sundry_workers_line_ids(osv.osv):
_name = 'bpl.selected.sundry.workers.line'
_description = 'BPL Selected Sundry Workers line'
_columns = {
'worker_id':fields.many2one('bpl.worker', 'Sundry Worker', ondelete='cascade', help='Worker'),
'is_selected': fields.boolean('Select', help="Selected or not"),
}
selected_sundry_workers_line_ids()
請告訴我們你寫的,所以我們可以幫助您 – furins 2013-03-25 06:18:05
@furins 代碼added.shall我的郵件我的整個模塊,你如果u想要的代碼? 現在添加的模型代碼 – 2013-03-25 06:26:22
謝謝@AnneMary的代碼片段,關於向我發送代碼:不,謝謝,因爲它不會被其他用戶訪問,所以沒有人會從您的答案中學習。請使用github,bitbucket,gist或者其他任何類似的服務來公開部分代碼,或者試着總結一下,只是必要的部分 – furins 2013-03-25 06:31:49