Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
2 Trả lời
4149 Lượt xem

I am overriding a method of account.voucher that uses resolve_o2m_operations, wich is a global method I guess, it's declared at the end of the file, outside any class, so it's global and apllicable to all classes. The problem is when overriding the method, it gives me : Global name resolve_o2m_operations not defined, how to define it in the the new class where I'm overrding ? I tried to put the method on the new file containing the overriden method ... any solution please

Ảnh đại diện
Huỷ bỏ

Can you post a part of your code ?

Tác giả

Thanks said for your interest, It's solved.

Câu trả lời hay nhất

@Yassine, I'm assuming you are using a new module and new py file.  In that file, add the following somewhere near the beginning: from account_voucher.account_voucher import resolve_o2m_operations

Ảnh đại diện
Huỷ bỏ
Tác giả

Following my last post, I just needed to add : addons.account_voucher_account_voucher import resole_o2m_operations, and it works. Thanks Ivan !! you inspired me !

@Yassine are you using any of the saas branch? If so, yes, it need the addons in front.

Tác giả

Yes, i'm deploying openerp on my dedicated server.

Tác giả Câu trả lời hay nhất

@Ivan : Yes I'm using a new module : account_payment_bl, with files : __init__.py ;  __openerp__.py ; account_voucher.py ; voucher_bl_view.xml   

On the file __init__.py I put : import account_voucher, so as to import account_voucher.py

When I put from "account_voucher.account_voucher import resolve_o2m_operations" it drives me to that error : 

File "/opt/openerp/server/openerp/modules/loading.py", line 350, in load_modules force, status, report, loaded_modules, update_module) File "/opt/openerp/server/openerp/modules/loading.py", line 256, in load_marked_modules loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules, perform_checks=perform_checks) File "/opt/openerp/server/openerp/modules/loading.py", line 159, in load_module_graph load_openerp_module(package.name) File "/opt/openerp/server/openerp/modules/module.py", line 405, in load_openerp_module __import__('openerp.addons.' + module_name) File "/opt/openerp/server/openerp/modules/module.py", line 133, in load_module mod = imp.load_module('openerp.addons.' + module_part, f, path, descr) File "/opt/openerp/server/openerp/addons/account_payment_bl/__init__.py", line 22, in <module> import account_voucher File "/opt/openerp/server/openerp/addons/account_payment_bl/account_voucher.py", line 2, in <module> from account_voucher.account_voucher import resolve_o2m_operations ImportError: No module named account_voucher

I made in blod caracter the most interesting part of the error, why it's not considering account_voucher as a module ?

Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
1
thg 10 22
6908
1
thg 3 17
8372
2
thg 2 17
3094
0
thg 1 17
4918
5
thg 9 24
57045