我添加了一个selection
类型字段,在purchase.py
它的类purchase.order
中,这个字段被称为
sel_cert
:'sel_cert' : fields.selection([('si', 'Si'),('no','No')], 'Origen Certificado'),
所以如果si
被选中,我做了一个函数,它在类中product
填充一个新字段product_product
purchase_order
state 'done'
顺便说一句,已经有一个函数可以接受product_qty
状态done, draft
或任何内容product
我尝试在我的自定义函数中使用:“调用它” val = _get_product_available_func(('done'))
,所以val
如果在 中的字段中si
选择它,它会返回,但是我知道如何做,这是我的函数,在这个函数下有我的错误的回溯获取(不关心缩进,在我的文件中不是这样的):sel_cert
purchase.order
def desc_cert(self, cr, uid, ids, field_name, field_args, context=None):
obj = self.pool.get('purchase.order')
val = _get_product_available_func(('done'))
if obj.sel_cert == 'si':
return val
和追溯:
Server Traceback (most recent call last):
File "C:\Program Files\OpenERP 7.0-20130726-231403\Server\server\openerp\addons\web\session.py", line 89, in send
File "C:\Program Files\OpenERP 7.0-20130726-231403\Server\server\.\openerp\netsvc.py", line 292, in dispatch_rpc
File "C:\Program Files\OpenERP 7.0-20130726-231403\Server\server\.\openerp\service\web_services.py", line 626, in dispatch
File "C:\Program Files\OpenERP 7.0-20130726-231403\Server\server\.\openerp\osv\osv.py", line 188, in execute_kw
File "C:\Program Files\OpenERP 7.0-20130726-231403\Server\server\.\openerp\osv\osv.py", line 131, in wrapper
File "C:\Program Files\OpenERP 7.0-20130726-231403\Server\server\.\openerp\osv\osv.py", line 197, in execute
File "C:\Program Files\OpenERP 7.0-20130726-231403\Server\server\.\openerp\osv\osv.py", line 185, in execute_cr
File "C:\Program Files\OpenERP 7.0-20130726-231403\Server\server\.\openerp\osv\orm.py", line 3604, in read
File "C:\Program Files\OpenERP 7.0-20130726-231403\Server\server\.\openerp\osv\orm.py", line 3724, in _read_flat
File "C:\Program Files\OpenERP 7.0-20130726-231403\Server\server\.\openerp\osv\fields.py", line 1133, in get
File "C:\Program Files\OpenERP 7.0-20130726-231403\Server\server\openerp\addons\product\product.py", line 456, in desc_cert
NameError: global name '_get_product_available_func' is not defined
_get_product_available_func
模块中的一个函数也是如此product.py
:
def _get_product_available_func(states, what):
def _product_available(self, cr, uid, ids, name, arg, context=None):
return {}.fromkeys(ids, 0.0)
return _product_available
_product_qty_available = _get_product_available_func(('done',), ('in', 'out'))
_product_certificado_qty = _get_product_available_func(('done',), ('in', 'out'))
_product_virtual_available = _get_product_available_func(('confirmed','waiting','assigned','done'), ('in', 'out'))
_product_outgoing_qty = _get_product_available_func(('confirmed','waiting','assigned'), ('out',))
_product_incoming_qty = _get_product_available_func(('confirmed','waiting','assigned'), ('in',))
如果这个字段是product_qty_available
,我需要返回product
sel_cert
purchase_order
'si'
但不知道怎么称呼它,我应该使用self.browse
吗?或者也许product_available
相反?
对此有什么想法吗?
我希望我已经解释了自己
提前致谢