Advertisement
zba-odoo

Untitled

Nov 19th, 2019
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.19 KB | None | 0 0
  1. Error:
  2. Odoo Server Error
  3.  
  4. Traceback (most recent call last):
  5. File "/home/odoo/src/odoo/odoo/tools/safe_eval.py", line 350, in safe_eval
  6. return unsafe_eval(c, globals_dict, locals_dict)
  7. File "", line 11, in <module>
  8. AttributeError: 'sale.order.line' object has no attribute 'property_ids'
  9.  
  10. During handling of the above exception, another exception occurred:
  11.  
  12. Traceback (most recent call last):
  13. File "/home/odoo/src/odoo/odoo/tools/safe_eval.py", line 350, in safe_eval
  14. return unsafe_eval(c, globals_dict, locals_dict)
  15. File "", line 3, in <module>
  16. File "/home/odoo/src/odoo/odoo/addons/base/models/ir_actions.py", line 553, in run
  17. res = func(action, eval_context=eval_context)
  18. File "/home/odoo/src/odoo/addons/website/models/ir_actions.py", line 57, in run_action_code_multi
  19. res = super(ServerAction, self).run_action_code_multi(action, eval_context)
  20. File "/home/odoo/src/odoo/odoo/addons/base/models/ir_actions.py", line 444, in run_action_code_multi
  21. safe_eval(action.sudo().code.strip(), eval_context, mode="exec", nocopy=True) # nocopy allows to return 'action'
  22. File "/home/odoo/src/odoo/odoo/tools/safe_eval.py", line 373, in safe_eval
  23. pycompat.reraise(ValueError, ValueError('%s: "%s" while evaluating\n%r' % (ustr(type(e)), ustr(e), expr)), exc_info[2])
  24. File "/home/odoo/src/odoo/odoo/tools/pycompat.py", line 86, in reraise
  25. raise value.with_traceback(tb)
  26. File "/home/odoo/src/odoo/odoo/tools/safe_eval.py", line 350, in safe_eval
  27. return unsafe_eval(c, globals_dict, locals_dict)
  28. File "", line 11, in <module>
  29. ValueError: <class 'AttributeError'>: "'sale.order.line' object has no attribute 'property_ids'" while evaluating
  30. 'object = record\n\nso_total_cost = 0.0\nso_total_price = 0.0\n\nfor l in object.order_line:\n domain = [\n (\'product_tmpl_id\', \'=\', l.product_id.product_tmpl_id.id)\n ]\n\n if l.property_ids:\n domain += [\n (\'property_ids\', \'!=\', False), (\'property_ids\', \'in\', l.property_ids.ids)\n ]\n else:\n domain += [\n (\'property_ids\', \'=\', False)\n ]\n\n boms = env[\'mrp.bom\'].search(domain)\n if boms:\n if len(boms) > 1:\n raise Warning("More than one BoM has been found with the selected product ( %s ) and properties" % l.product_id.display_name )\n bom = boms[0]\n object.write({\n \'order_line\': [\n (1, l.id, {\n \'purchase_price\': bom.x_total_cost,\n \'x_bom_id\': bom.id\n })\n ]\n })\n else:\n object.write({\n \'order_line\': [\n (1, l.id, {\n \'x_bom_id\': False\n })\n ]\n })\n\n so_total_cost += l.purchase_price * l.product_uom_qty\n so_total_price += l.price_subtotal\n\ncomputed_margin = (1 - (so_total_cost / so_total_price)) * 100 if so_total_price else 0.0\nobject.write({\n \'x_margin\': computed_margin\n})'
  31.  
  32. During handling of the above exception, another exception occurred:
  33.  
  34. Traceback (most recent call last):
  35. File "/home/odoo/src/odoo/odoo/http.py", line 656, in _handle_exception
  36. return super(JsonRequest, self)._handle_exception(exception)
  37. File "/home/odoo/src/odoo/odoo/http.py", line 314, in _handle_exception
  38. raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
  39. File "/home/odoo/src/odoo/odoo/tools/pycompat.py", line 87, in reraise
  40. raise value
  41. File "/home/odoo/src/odoo/odoo/http.py", line 698, in dispatch
  42. result = self._call_function(**self.params)
  43. File "/home/odoo/src/odoo/odoo/http.py", line 346, in _call_function
  44. return checked_call(self.db, *args, **kwargs)
  45. File "/home/odoo/src/odoo/odoo/service/model.py", line 97, in wrapper
  46. return f(dbname, *args, **kwargs)
  47. File "/home/odoo/src/odoo/odoo/http.py", line 339, in checked_call
  48. result = self.endpoint(*a, **kw)
  49. File "/home/odoo/src/odoo/odoo/http.py", line 941, in __call__
  50. return self.method(*args, **kw)
  51. File "/home/odoo/src/odoo/odoo/http.py", line 519, in response_wrap
  52. response = f(*args, **kw)
  53. File "/home/odoo/src/odoo/addons/web/controllers/main.py", line 966, in call_button
  54. action = self._call_kw(model, method, args, {})
  55. File "/home/odoo/src/odoo/addons/web/controllers/main.py", line 954, in _call_kw
  56. return call_kw(request.env[model], method, args, kwargs)
  57. File "/home/odoo/src/odoo/odoo/api.py", line 759, in call_kw
  58. return _call_kw_multi(method, model, args, kwargs)
  59. File "/home/odoo/src/odoo/odoo/api.py", line 746, in _call_kw_multi
  60. result = method(recs, *args, **kwargs)
  61. File "/home/odoo/src/enterprise/quality_mrp/models/mrp_production.py", line 72, in button_mark_done
  62. return super(MrpProduction, self).button_mark_done()
  63. File "/home/odoo/src/enterprise/mrp_account/models/mrp_production.py", line 67, in button_mark_done
  64. res = super(MrpProduction, self).button_mark_done()
  65. File "/home/odoo/src/odoo/addons/mrp/models/mrp_production.py", line 708, in button_mark_done
  66. self.post_inventory()
  67. File "/home/odoo/src/odoo/addons/mrp/models/mrp_production.py", line 685, in post_inventory
  68. moves_to_finish._action_done()
  69. File "/home/odoo/src/odoo/addons/purchase_stock/models/stock.py", line 96, in _action_done
  70. res = super(StockMove, self)._action_done()
  71. File "/home/odoo/src/odoo/addons/stock_account/models/stock.py", line 400, in _action_done
  72. res = super(StockMove, self)._action_done()
  73. File "/home/odoo/src/odoo/addons/stock/models/stock_move.py", line 1155, in _action_done
  74. moves_todo.mapped('move_dest_ids')._action_assign()
  75. File "/home/odoo/src/odoo/addons/mrp/models/stock_move.py", line 134, in _action_assign
  76. res = super(StockMove, self)._action_assign()
  77. File "/home/odoo/src/odoo/addons/stock/models/stock_move.py", line 1022, in _action_assign
  78. assigned_moves.write({'state': 'assigned'})
  79. File "/home/odoo/src/odoo/addons/purchase_stock/models/stock.py", line 101, in write
  80. res = super(StockMove, self).write(vals)
  81. File "/home/odoo/src/odoo/addons/stock/models/stock_move.py", line 448, in write
  82. res = super(StockMove, self).write(vals)
  83. File "/home/odoo/src/odoo/odoo/models.py", line 3359, in write
  84. self.recompute()
  85. File "/home/odoo/src/odoo/odoo/models.py", line 5283, in recompute
  86. target._write(dict(vals))
  87. File "/home/odoo/src/odoo/addons/base_automation/models/base_automation.py", line 259, in _write
  88. action._process(records, domain_post=domain_post)
  89. File "/home/odoo/src/odoo/addons/base_automation/models/base_automation.py", line 205, in _process
  90. self.action_server_id.with_context(**ctx).run()
  91. File "/home/odoo/src/odoo/odoo/addons/base/models/ir_actions.py", line 553, in run
  92. res = func(action, eval_context=eval_context)
  93. File "/home/odoo/src/odoo/addons/website/models/ir_actions.py", line 57, in run_action_code_multi
  94. res = super(ServerAction, self).run_action_code_multi(action, eval_context)
  95. File "/home/odoo/src/odoo/odoo/addons/base/models/ir_actions.py", line 444, in run_action_code_multi
  96. safe_eval(action.sudo().code.strip(), eval_context, mode="exec", nocopy=True) # nocopy allows to return 'action'
  97. File "/home/odoo/src/odoo/odoo/tools/safe_eval.py", line 373, in safe_eval
  98. pycompat.reraise(ValueError, ValueError('%s: "%s" while evaluating\n%r' % (ustr(type(e)), ustr(e), expr)), exc_info[2])
  99. File "/home/odoo/src/odoo/odoo/tools/pycompat.py", line 86, in reraise
  100. raise value.with_traceback(tb)
  101. File "/home/odoo/src/odoo/odoo/tools/safe_eval.py", line 350, in safe_eval
  102. return unsafe_eval(c, globals_dict, locals_dict)
  103. File "", line 3, in <module>
  104. File "/home/odoo/src/odoo/odoo/addons/base/models/ir_actions.py", line 553, in run
  105. res = func(action, eval_context=eval_context)
  106. File "/home/odoo/src/odoo/addons/website/models/ir_actions.py", line 57, in run_action_code_multi
  107. res = super(ServerAction, self).run_action_code_multi(action, eval_context)
  108. File "/home/odoo/src/odoo/odoo/addons/base/models/ir_actions.py", line 444, in run_action_code_multi
  109. safe_eval(action.sudo().code.strip(), eval_context, mode="exec", nocopy=True) # nocopy allows to return 'action'
  110. File "/home/odoo/src/odoo/odoo/tools/safe_eval.py", line 373, in safe_eval
  111. pycompat.reraise(ValueError, ValueError('%s: "%s" while evaluating\n%r' % (ustr(type(e)), ustr(e), expr)), exc_info[2])
  112. File "/home/odoo/src/odoo/odoo/tools/pycompat.py", line 86, in reraise
  113. raise value.with_traceback(tb)
  114. File "/home/odoo/src/odoo/odoo/tools/safe_eval.py", line 350, in safe_eval
  115. return unsafe_eval(c, globals_dict, locals_dict)
  116. File "", line 11, in <module>
  117. ValueError: <class 'ValueError'>: "<class 'AttributeError'>: "'sale.order.line' object has no attribute 'property_ids'" while evaluating
  118. 'object = record\n\nso_total_cost = 0.0\nso_total_price = 0.0\n\nfor l in object.order_line:\n domain = [\n (\'product_tmpl_id\', \'=\', l.product_id.product_tmpl_id.id)\n ]\n\n if l.property_ids:\n domain += [\n (\'property_ids\', \'!=\', False), (\'property_ids\', \'in\', l.property_ids.ids)\n ]\n else:\n domain += [\n (\'property_ids\', \'=\', False)\n ]\n\n boms = env[\'mrp.bom\'].search(domain)\n if boms:\n if len(boms) > 1:\n raise Warning("More than one BoM has been found with the selected product ( %s ) and properties" % l.product_id.display_name )\n bom = boms[0]\n object.write({\n \'order_line\': [\n (1, l.id, {\n \'purchase_price\': bom.x_total_cost,\n \'x_bom_id\': bom.id\n })\n ]\n })\n else:\n object.write({\n \'order_line\': [\n (1, l.id, {\n \'x_bom_id\': False\n })\n ]\n })\n\n so_total_cost += l.purchase_price * l.product_uom_qty\n so_total_price += l.price_subtotal\n\ncomputed_margin = (1 - (so_total_cost / so_total_price)) * 100 if so_total_price else 0.0\nobject.write({\n \'x_margin\': computed_margin\n})'" while evaluating
  119. "# Automatically created by migration.\n\naction = env['ir.actions.server'].browse([806, 581]).run()"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement