Мне нужно загрузить рабочие пособия & вычеты.
Прививки 2 типа фиксированные & переменная.
Выводы также 3 типа фиксированные, переменные & специальные.
OpenERP one2many и one2many
тогда мои классы имеют отношения как этот
пособия one2many фиксированные
пособия one2many переменной
дедукции one2many фиксированной
вычета one2many переменной
дедукции one2many специальный
мой последний Requirment является загрузите эти вычеты и надбавки в двух '' тегах , тогда я написал метод для onchange_worker.but его нет т работал & надеюсь, что вы поможете мне SORTOUT этому вопросу
благодаря
(изначально я написал код для фиксированных надбавок)
функции в моем классе
def on_change_worker(self, cr, uid, ids, worker_id):
fixed_v = {}
fixed_list_v = {}
fixed_list = []
fixed_list_data = []
if worker_id:
ind_allowance_id = self.pool.get('bpl.allowance.individual.data').search(cr, uid, [('worker_id', '=', worker_id)])
ind_allowance_obj = self.pool.get('bpl.allowance.individual.data').browse(cr, uid, ind_allowance_id)[0]
for allowance_record in ind_allowance_obj.fixed_allowance_ids:
fixed_list.append({'allowance_id':allowance_record.allowance_id.id, 'allowance_name': allowance_record.allowance_name.id })
fixed_v['allowance_ids'] = fixed_list
fixed_list_data.append(fixed_v)
fixed_list_v['fixed_allowance_ids'] = fixed_list_data
return {'value':fixed_list_v}
view.xml
<form string='bpl_worker_summary' version='7.0'>
<sheet>
<group>
<group>
<field name='bpl_company_id' readonly="1" />
<field name='bpl_estate_id' />
<field name='worker_id' on_change="on_change_worker(worker_id)" />
</group>
</group>
<div name="Allowances"></div>
<separator string="Allowances" />
<notebook>
<page string="Allowances">
<field name='allowance_ids' nolabel='1'>
<tree string='List' editable='bottom'>
<field name='fixed_allowance_ids' nolabel='1'>
<tree string="fixed_allowance">
<field name='allowance_id' />
<field name='allowance_name' />
<field name='amount' />
</tree>
</field>
</tree>
</field>
</page>
<page string="Deductions">
<field name='deduction_ids' nolabel='1'>
</field>
</page>
</notebook>
</sheet>
</form>
еще не отображает никаких записей. Пожалуйста, помогите мне разобраться в этом
EDITED
необходимость возврата мю результат, как это.?
dict: {'fixed_allowance_ids': [{'allowance_ids': [{'allowance_id': 1, 'allowance_name': 1}]}]}
EDITED
сделан с ниже кодами
класс модели
Защиту on_change_worker (сам, кр, UID, идентификаторы, worker_id): fixed_v = {} fixed_list_v = {} fixed_list = [] fixed_list_data = []
if worker_id:
ind_allowance_id = self.pool.get('bpl.allowance.individual.data').search(cr, uid, [('worker_id', '=', worker_id)])
ind_allowance_obj = self.pool.get('bpl.allowance.individual.data').browse(cr, uid, ind_allowance_id)[0]
for allowance_record in ind_allowance_obj.fixed_allowance_ids:
fixed_list.append({'allowance_id':allowance_record.allowance_id.id, 'allowance_name': allowance_record.allowance_name.id })
fixed_v['fixed_allowance_ids'] = fixed_list
fixed_list_data.append(fixed_v)
fixed_list_v['allowance_ids'] = fixed_list_data
return {'value':fixed_list_v}
view.xml
<page string="Allowances">
<field name='allowance_ids' nolabel='1'>
<field name='fixed_allowance_ids' nolabel='1'>
<tree string="fixed_allowance">
<field name='allowance_id' />
<field name='allowance_name' />
<field name='amount' />
</tree>
</field>
</field>
</page>
Теперь результат приходит как это, но все равно нужно получить значения на дереве
, если любое предложение, чтобы получить точные значения, пожалуйста, напишите здесь
сообщение отредактировано , пожалуйста, проверьте и совет. –