为了将多个订单行合并到一行“total_price,quantity”中,并尝试使用按钮打印它。我得到了这个错误the following fields are invalid order_line_consolidation,我做了什么:
1-创建了具有One2many字段order_line_consolidation的向导
class sale_order_consolidation(models.TransientModel):
_name = "sale.order.consolidation"
_description = 'consolidation wizard'
order_line_consolidation = fields.One2many('sale.order.line', 'order_id')2-合并行的函数,list of dictionary consolidation
3-打印功能
def print_quotation(self, cr, uid, ids, context=None):
datas = {}
if context is None:
context = {}
data = self.read(cr, uid, ids)[0]
datas = { 'ids': [],
'model': 'sale.order',
'form': data
}
return {'type': 'ir.actions.report.xml',
'report_name': 'sale.report_saleorder',
'datas': datas
}发布于 2017-12-14 01:28:24
似乎sale_order_consolidation中的字段不能存储在数据库中,所以您所要做的就是添加store=True。我的建议是:
1-创建您自己的报告(自定义报告)以进行打印。然后执行以下操作;
class sale_order_consolidation(models.Model):
_name = "sale.order.consolidation"
_description = 'consolidation wizard'
order_line_consolidation = fields.One2many('sale.order.consolidation.line', 'order_id')打印方法:
def print_quotation2(self, cr, uid, ids, context=None):
return self.pool['report'].get_action(cr, uid, ids, 'your_module_name.report_report_name', context=context)第二种型号:
class SaleOrderLineconsolidation(models.Model):
_name = "sale.order.consolidation.line"
order_id = fields.Many2one('sale.order.consolidation','order id',store=True)
sale_id = fields.Many2one('sale.order.line','sale_id',store=True)
field = fields.Char(string='field',store=True)
. . .
. . .
...other fields......https://stackoverflow.com/questions/47727282
复制相似问题