Вот что: я хотел наследовать древовидное представление (id is «view_employee_tree
») moudle - hr
: в модуле hr_contract
. Вот мой код:TypeError: аргумент типа 'bool' не повторяется в openerp
<record id="hr_contract_hr_employee_tree" model="ir.ui.view">
<field name="name">hr.contract.hr.employee.tree</field>
<field name="model">hr.employee</field>
<field name="inherit_id" ref="hr.view_employee_tree"/>
<field name="arch" type="xml">
<field name="work_phone" position="after">
<field name="contract_ids"/>
</field>
</field>
</record>
После обновляем модули (ч, hr_contract), я получаю ошибку следующим образом :)
OpenERP Server Error Client Traceback (most recent call last):
File "d:\Program Files\OpenERP7.0-20130726-231403\Server\server\openerp\addons\web\http.py", line 204, in dispatch
File "d:\Program Files\OpenERP7.0-20130726-231403\Server\server\openerp\addons\web\controllers\main.py", line 1128, in call_kw
File "d:\Program Files\OpenERP7.0-20130726-231403\Server\server\openerp\addons\web\controllers\main.py", line 1120, in _call_kw
File "d:\Program Files\OpenERP
7.0-20130726-231403\Server\server\openerp\addons\web\session.py", line 42, in proxy
File "d:\Program Files\OpenERP
7.0-20130726-231403\Server\server\openerp\addons\web\session.py", line 30, in proxy_method File "d:\Program Files\OpenERP
7.0-20130726-231403\Server\server\openerp\addons\web\session.py", line 103, in send
Server Traceback (most recent call last):
File "d:\Program Files\OpenERP
7.0-20130726-231403\Server\server\openerp\addons\web\session.py", line 89, in send
File "D:\Program Files\OpenERP
7.0-20130726-231403\Server\server\.\openerp\netsvc.py", line 292, in dispatch_rpc
File "D:\Program Files\OpenERP
7.0-20130726-231403\Server\server\.\openerp\service\web_services.py", line 626, in dispatch
File "D:\Program Files\OpenERP
7.0-20130726-231403\Server\server\.\openerp\osv\osv.py", line 188, in execute_kw
File "D:\Program Files\OpenERP
7.0-20130726-231403\Server\server\.\openerp\osv\osv.py", line 131, in wrapper
File "D:\Program Files\OpenERP
7.0-20130726-231403\Server\server\.\openerp\osv\osv.py", line 197, in execute
File "D:\Program Files\OpenERP
7.0-20130726-231403\Server\server\.\openerp\osv\osv.py", line 185, in execute_cr
File "D:\Program Files\OpenERP
7.0-20130726-231403\Server\server\.\openerp\osv\orm.py", line 2290, in fields_view_get
File "D:\Program Files\OpenERP
7.0-20130726-231403\Server\server\.\openerp\osv\orm.py", line 2270, in clean TypeError:
argument of type 'bool' is not iterable
Я отслеживал ошибку в течение целого дня. я пошел в файл: \openerp\osv\orm.py
и получить коды вблизи линии 2270:
ir_values_obj = self.pool.get('ir.values')
resprint = ir_values_obj.get(cr, user, 'action',
'client_print_multi', [(self._name, False)], False,
context)
resaction = ir_values_obj.get(cr, user, 'action',
'client_action_multi', [(self._name, False)], False,
context)
resrelate = ir_values_obj.get(cr, user, 'action',
'client_action_relate', [(self._name, False)], False,
context)
#I added this for output
for action in resaction:
print 'orm debug : '
print 'action[1]:',action[1]
print 'action[2]',action[2]
resaction = [clean(action) for action in resaction
if view_type == 'tree' or not action[2].get('multi')]
resprint = [clean(print_) for print_ in resprint
if view_type == 'tree' or not print_[2].get('multi')]
#When multi="True" set it will display only in More of the list view
resrelate = [clean(action) for action in resrelate
if (action[2].get('multi') and view_type == 'tree') or (not action[2].get('multi') and view_type == 'form')]
for x in itertools.chain(resprint, resaction, resrelate):
x['string'] = x['name']
И я добавил print
код для вывода вар: resaction
, и это выход:
выход:
orm_debug:
Subordinate Hierarchy
False
Отлично! Похоже, что ошибка: TypeError: argument of type 'bool' is not iterable
имеет смысл. Subordinate Hierarchy
это имя из act_window в файле hr_view.xml
:
<record id="action2" model="ir.actions.act_window">
<field name="name">Subordinate Hierarchy</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">hr.employee</field>
<field name="domain">[('id','in',active_ids)]</field>
<field name="view_type">tree</field>
<field name="view_id" ref="view_partner_tree2"/>
<field name="view_id" ref="view_employee_tree"/>
</record>
Но какова реальная проблема ?? Что я сделал не так?
Любая помощь очень ценится !! Заранее спасибо!!
** ** ** Используйте ** цитаты для отображения сообщений об ошибках, иначе они станут большим беспорядком текста, который очень трудно понять. Их следует набирать как код. – Bakuriu
@ Бакуриу Конечно, спасибо за консультацию. Уже сделано. –