Openerp 从web服务创建sale.order.line(导入)?奥多V9e
如果memo_数据['items']中只有一个产品,则会创建销售订单行,但如果有两个或更多产品,则会重新融合,并出现错误:值太多,无法解包。 代码如下:Openerp 从web服务创建sale.order.line(导入)?奥多V9e,openerp,odoo-8,Openerp,Odoo 8,如果memo_数据['items']中只有一个产品,则会创建销售订单行,但如果有两个或更多产品,则会重新融合,并出现错误:值太多,无法解包。 代码如下: for item in memo_data['items']: c_id = self.env['sale.order.line'].search([('creditmemo_id','=',memo_data['creditmemo_id'])]) if not
for item in memo_data['items']:
c_id = self.env['sale.order.line'].search([('creditmemo_id','=',memo_data['creditmemo_id'])])
if not c_id:
_logger.info("THIS IS CID: %s" % memo_data['creditmemo_id'])
a_product = self.env['product.product'].search([('default_code', '=',item['sku'])])
if a_product:
_logger.info("FOUND THE PRODUCT with id: %s" %a_product.id)
pos_price = float(item['row_total'])
neg_price = pos_price - (2 * pos_price)
res12 = {
'order_id': is_exist.id,
'product_id': a_product.id,
'price_unit': neg_price,
'sequence': 10,
'product_uom_qty': float(item['qty']),
'creditmemo_id' : memo_data['creditmemo_id'],
'creditmemo_date': memo_data['created_at'],
'creditmemo_increment_id' : memo_data['increment_id'],
}
self.env['sale.order.line'].create(res12)`enter code here`
我想您正在尝试循环记录列表。但内部循环尝试将备忘录数据更改为项目:
for item in memo_data['items']:
c_id = self.env['sale.order.line'].search([('creditmemo_id','=',item['creditmemo_id'])])
if not c_id:
_logger.info("THIS IS CID: %s" % item['creditmemo_id'])
a_product = self.env['product.product'].search([('default_code', '=',item['sku'])])
if a_product:
_logger.info("FOUND THE PRODUCT with id: %s" %a_product.id)
pos_price = float(item['row_total'])
neg_price = pos_price - (2 * pos_price)
res12 = {
'order_id': is_exist.id,
'product_id': a_product.id,
'price_unit': neg_price,
'sequence': 10,
'product_uom_qty': float(item['qty']),
'creditmemo_id' : item['creditmemo_id'],
'creditmemo_date': item['created_at'],
'creditmemo_increment_id' : item['increment_id'],
}
我想你需要像这样处理你的口述
for field, possible_values in fields.iteritems():
print field, possible_values
python 2.7:iteritems()
python 3:items()
感谢发布错误日志以便更好地理解。不,我需要备忘录数据['creditmemo\u id'],因为它是主要信息的载体,备忘录数据['items']中的项目是需要插入的实际信用备忘录行。顺便说一句,我用这个代码导入了2300份备忘录,2320份中只有20份被拒绝,错误是:请发布备忘录数据样本