我使用新的api样式odoo8在帐户代金券(def voucher_move_line_create)中继承功能。
这是我的代码:
@api.model
def voucher_move_line_create(self, line_total, move_id, company_currency, current_currency):
res = super(AccountVoucher, self).voucher_move_line_create(line_total, move_id, company_currency, current_currency)
_logger.info('\n\n\n Return: %s \n\n\n'%(str(res)))
for i in res[1]:
_logger.info('\n\n\nRes Return: %s \n\n\n'%(str(i)))
return res
我发现了这个错误:
文件“/opt/odoo8/odoo8-server/openerp/api.py”,第769行,新 self.cr,self.uid,self.context = self.args =(cr,uid,frozendict(context)) ValueError:字典更新序列元素#0的长度为1; 2是必需的。
谢谢!
答案 0 :(得分:0)
在你继承这个功能的时候,你似乎忘记了一个论点
您错过了 voucher_id 参数,因此继承的函数应该是:
//(((i + 1) + (j - 1)) * (j - i - 1)) / 2;
BigInteger bSoma1 = bigI.add(BigInteger.ONE)
.add(bigJ.subtract(BigInteger.ONE))
.multiply(bigJ.subtract(bigI).subtract(BigInteger.ONE))
.divide(BigInteger.valueOf(2));
//(((j + 1) + tam) * (tam - j) + (1 + (i - 1)) * (i - 1)) / 2;
BigInteger bSoma2 = bigJ.add(BigInteger.ONE).add(bigTam)
.multiply(bigTam.subtract(bigJ))
.add(BigInteger.ONE.add(bigI.subtract(BigInteger.ONE)))
.multiply(bigI.subtract(BigInteger.ONE))
.divide(BigInteger.valueOf(2));
我希望这会有所帮助,谢谢你提出的问题。