문제

1.so inherit here sale order and m2o field for po but it has given me error i.e except_orm:Programming Error There is no reference available for purchase.order

2.I also want to subtract purchase order subtotal price from the sale order subtotal price and show on to the sale order Total Price

class sale_inherit_course(orm.Model):
    _inherit='sale.order'  
   _columns={
            'create_course':fields.boolean('Create Course'),
            'course_name':fields.many2one('openacademy.course', 'Course', ondelete="cascade"),
           'responsible': fields.related('course_name', 'responsible_id', type='many2one', relation='res.users', string="co-ordinator", readonly=True),
           'buy_back':fields.boolean('Buy Back'),
           'purchase_order':fields.many2one('purchase.order', 'Create Back Order', ondelete="cascade"),
           'responsible_me': fields.related('purchase_order', 'responsible_id', type='many2one', relation='res.users', string="User", readonly=True),

          }
    def create(self, cr, uid, vals, context=None):
        if vals.get('create_course'):
            course_obj=self.pool.get('openacademy.course')
            sequence=self.pool.get('ir.sequence').get(cr, uid, 'openacademy.course.seq')
            new_course=course_obj.create(cr, uid, {'name':sequence,'responsible_id':vals.get('user_id')}, context=context)
            import pprint
           pprint.pprint( vals )
           vals['course_name']=new_course
          pprint.pprint( vals )
      elif vals.get('buy_back'):
          purchase_obj=self.pool.get('purchase.order')
          sequence=self.pool.get('ir.sequence').get(cr, uid, 'purchase.order')
          new_purchase=purchase_obj.create(cr, uid, {'name':sequence,'responsible_id':vals.get('user_id')}, context=context)
          vals['purchase_order']=new_purchase

    return super(sale_inherit_course, self).create(cr, uid, vals, context=context)  

Here Error Occur that is

except_orm: ('Programming Error', 'There is no reference available for purchase.order'
도움이 되었습니까?

해결책

_inherit='sale.order'

def _amount_all(self, cr, uid, ids, field_name, arg, context=None):
    cur_obj = self.pool.get('res.currency')
    res = {}

    for order in self.browse(cr, uid, ids, context=context):


        res[order.id] = {
            'amount_untaxed': 0.0,
            'amount_tax': 0.0,
            'amount_total': 0.0,
            'amt_total':0.0
        }
        val = val1 =  0.0
        cur = order.pricelist_id.currency_id
        for line in order.order_line:
            val1 += line.price_subtotal

            val += self._amount_line_tax(cr, uid, line, context=context)
        res[order.id]['amount_tax'] = cur_obj.round(cr, uid, cur, val)
        res[order.id]['amount_untaxed'] = cur_obj.round(cr, uid, cur, val1)
        #import pprint
        #pprint.pprint( res[order.id]['amt_total'] )
        res[order.id]['amount_untaxed'] -= order.amt_total
        res[order.id]['amount_total'] = res[order.id]['amount_untaxed'] + res[order.id]['amount_tax']
   #     res[order.id]['amount_total'] -=order.amt_total
    return res


def _get_order(self, cr, uid, ids, context=None):
    result = {}
    for line in self.pool.get('sale.order.line').browse(cr, uid, ids, context=context):
        result[line.order_id.id] = True
    return result.keys()

Field

 'purchase_order':fields.many2one('purchase.order', 'Old Gold', ondelete="cascade"),
            'amt_total':fields.related('purchase_order', 'amount_total', type='float', relation='purchase.order', string="Amount", readonly=True),
            'qty_related':fields.related('purchase_order','order_line', 'product_qty', type='float',relation='purchase.order', string='Weight',readonly=True),
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top