是否有人可以帮助解决此问题:未捕获TypeError:undefined不是函数?这是我做的:
我制作了一个可以销售,销售和帐户的模块。在课程 crm_lead 上添加一些更改:
def _get_available_product(self, cr, uid, ids, name, arg, context=None):
vals = {}
pr_id = []
for rec in self.browse(cr, uid, ids, context=context):
id = rec.id
product_list = self.pool.get('product.product').search(cr,uid,[('product_state','=','available')])
pr_id = [product.id if product.id else False for product in self.pool.get('product.product').browse(cr,uid,product_list,context=context)]
vals[id] = {'product_ids':pr_id}
return vals
def _defaults_product(self, cr, uid, ids, context=None):
product_list = self.pool.get('product.product').search(cr,uid,[('product_state','=','available')])
pr_id = [product.id if product.id else False for product in self.pool.get('product.product').browse(cr,uid,product_list,context=context)]
value = {"value":{'product_ids':pr_id}}
_logger.info("\n\n\t\t\tVALUE %s"%(str(value)))
return value
_columns = {
'product_id' : fields.many2one('product.product','Product'),
'product_ids' : fields.function(_get_available_product, type='many2many', relation='product.product', method=True, store=False, multi='compute_available_product', string='Available Product'),
}
_defaults = {
'product_ids' : _defaults_product,
}
在 crm_lead_view.xml
上 <group>
<field name="product_ids" nolabel="1" widget="many2many" invisible="1"
</group>
<group>
<group>
<field name="product_id" required="1" domain="[('id','in',product_ids[0][2])]"/>
....
当我尝试创建潜在客户时,会弹出客户端错误,就像上面一样。我的目标实际上是,如果我创建一个潜在客户,我想过滤product_id,以便唯一显示的是那些没有产品__产品可用的产品&#39;。
非常感谢任何帮助。
答案 0 :(得分:0)
您的域名过滤器是在xml视图文件中定义的错误方法
我们应该以下面的方式设置产品字段的过滤器
<group>
<group>
<field name="product_id" required="1" domain="[('product_state','=','available')]"/>
</group>
</group>
听到我展示你的上述问题,我已经弄清楚了一些事情 你完全以错误的方式实现代码。 没有别的,你只是让代码更复杂。
1.无需为生成产品ID创建新功能,生成产品ID并提供可用的产品。
2.无需创建单独的字段即可添加到xml视图文件中。
3.在视图xml文件中对产品添加域过滤器是错误的定义方式
我希望我的回答对您有所帮助:)。