2013-10-09 2 views
0

여기에있는 것이 있습니다. hr_contract 모듈에 hr : 트리 뷰 (id는 "view_employee_tree")를 상속하고 싶습니다. 내가 모듈 (시간, hr_contract)를 업데이트 한 후 다음과 같이 : 나는 하루 종일 버그를 추적 한TypeError : 'bool'유형의 인수가 openerp에서 반복 가능하지 않습니다.

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 

<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> 

, 나는 오류를 얻을 : 다음은 내 코드입니다. 난 파일에 가서 : \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'] 

그리고 출력에 var에 print 코드를 추가 : resaction을, 이것은 출력 :

출력 :

orm_debug: 
Subordinate Hierarchy 
False 

우수! 오류 : TypeError: argument of type 'bool' is not iterable이 맞는 것 같습니다. Subordinate Hierarchyhr_view.xml 파일에 act_window의 이름입니다

<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> 

하지만 진짜 문제는 무엇인가? 내가 뭘 잘못 했니?

도움이 매우 감사합니다 !! 미리 감사드립니다 !!

+0

수행드립니다. 그들은 코드처럼 typeset되어야합니다. – Bakuriu

+0

@ 바큐 리 물론, 고마워요. 벌써 끝났어. –

답변

0

은 다음과 같이 두 개의 뷰를 연결 :

<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> 
</record> 

    <record model="ir.actions.act_window.view" id="action_action2_tree2"> 
     <field name="sequence" eval="1"/> 
     <field name="view_mode">tree</field> 
     <field name="view_id" ref="view_partner_tree2"/> 
     <field name="act_window_id" ref="action2"/> 
    </record> 
    <record model="ir.actions.act_window.view" id="action_action2_tree1"> 
     <field name="sequence" eval="2"/> 
     <field name="view_mode">tree</field> 
     <field name="view_id" ref="view_employee_tree"/> 
     <field name="act_window_id" ref="action2"/> 
    </record> 

이 문제를 해결해야한다.

하지 ** 사용은 그들이 이해하기 정말 열심히 텍스트의 큰 혼란이 될, 그렇지 않으면 오류 메시지를 표시하기 위해 인용 ** 당신은

+0

안내해 주셔서 감사합니다. –

관련 문제