Openerp 缩进使用条件

Openerp 缩进使用条件,openerp,Openerp,请帮帮我……怎么了 def _amount_all(self, cr, uid, ids, name, args, context=None): res = {} for invoice in self.browse(cr, uid, ids, context=context): res[invoice.id] = { 'amount_untaxed': 0.0, 'amount_tax': 0.0,

请帮帮我……怎么了

 def _amount_all(self, cr, uid, ids, name, args, context=None):
    res = {}
    for invoice in self.browse(cr, uid, ids, context=context):
        res[invoice.id] = {
            'amount_untaxed': 0.0,
            'amount_tax': 0.0,
            'amount_total': 0.0
        }
        for line in invoice.invoice_line:

            res[invoice.id]['amount_untaxed'] += line.price_subtotal
        for line in invoice.tax_line:
            res[invoice.id]['amount_tax'] += line.amount 
        res[invoice.id]['amount_total'] = res[invoice.id]['amount_tax'] + res[invoice.id]['amount_untaxed']
        cr.execute('select payment from sale_order where name = %s',(invoice.origin,))
        ads = cr.fetchone()
        pay = ads and ads[0] or None
        if pay == 'deposit':
            if invoice.partner_id.avail < 0:
                raise osv.except_osv(_('Invalid action !'), _('Deposit must be recharged')
                    if invoice.amount_total != res[invoice.id]['amount_total']:
                        temp = invoice.partner_id.depot - res[invoice.id]['amount_total']
                        cr.execute('update res_partner set depot=%s where id = %s', (temp, invoice.partner_id.id,))
    return res
def\u amount\u all(self、cr、uid、id、name、args、context=None):
res={}
对于self.browse中的发票(cr、uid、ID、context=context):
res[invoice.id]={
“未征税金额”:0.0,
“金额税”:0.0,
“总额”:0.0
}
对于发票中的行。发票\行:
res[invoice.id]['amount\u untaxed']+=line.price\u小计
对于invoice.tax_行中的行:
res[invoice.id]['amount\u tax']+=line.amount
res[invoice.id]['amount\u total']=res[invoice.id]['amount\u tax']+res[invoice.id]['amount\u untaxed']
cr.execute('select payment from sale_order,其中name=%s',(invoice.origin,))
ads=cr.fetchone()
付费=广告和广告[0]或无
如果支付=‘押金’:
如果invoice.partner_id.avail<0:
提高osv。除osv('无效操作!')外,'osv('存款必须重新充值')
如果invoice.amount\u total!=res[invoice.id]['amount\u total']:
temp=invoice.partner\u id.depot-res[invoice.id]['amount\u total']
cr.execute('update res_partner set depot=%s,其中id=%s',(临时,invoice.partner_id.id,)
返回res
我检查了条件,如果他使用押金支付,如果低于零,则可用,否则押金减少。我认为..这是正确的..但当我跑步时,看起来是这样的

如果invoice.amount\u total!=res[invoice.id]['amount\u total': 语法错误:无效语法

为什么在
提升osv行后加上2个空格(8个空格)。除了_osv()
您的代码应该是

def _amount_all(self, cr, uid, ids, name, args, context=None):
    res = {}
    for invoice in self.browse(cr, uid, ids, context=context):
        res[invoice.id] = {
            'amount_untaxed': 0.0,
            'amount_tax': 0.0,
            'amount_total': 0.0
        }
        for line in invoice.invoice_line:

            res[invoice.id]['amount_untaxed'] += line.price_subtotal
        for line in invoice.tax_line:
            res[invoice.id]['amount_tax'] += line.amount 
        res[invoice.id]['amount_total'] = res[invoice.id]['amount_tax'] + res[invoice.id]['amount_untaxed']
        cr.execute('select payment from sale_order where name = %s',(invoice.origin,))
        ads = cr.fetchone()
        pay = ads and ads[0] or None
        if pay == 'deposit':
            if invoice.partner_id.avail < 0:
                raise osv.except_osv(_('Invalid action !'), _('Deposit must be recharged')
            if invoice.amount_total != res[invoice.id]['amount_total']:
                temp = invoice.partner_id.depot - res[invoice.id]['amount_total']
                cr.execute('update res_partner set depot=%s where id = %s', (temp, invoice.partner_id.id,))
    return res
def\u amount\u all(self、cr、uid、id、name、args、context=None):
res={}
对于self.browse中的发票(cr、uid、ID、context=context):
res[invoice.id]={
“未征税金额”:0.0,
“金额税”:0.0,
“总额”:0.0
}
对于发票中的行。发票\行:
res[invoice.id]['amount\u untaxed']+=line.price\u小计
对于invoice.tax_行中的行:
res[invoice.id]['amount\u tax']+=line.amount
res[invoice.id]['amount\u total']=res[invoice.id]['amount\u tax']+res[invoice.id]['amount\u untaxed']
cr.execute('select payment from sale_order,其中name=%s',(invoice.origin,))
ads=cr.fetchone()
付费=广告和广告[0]或无
如果支付=‘押金’:
如果invoice.partner_id.avail<0:
提高osv。除osv('无效操作!')外,'osv('存款必须重新充值')
如果invoice.amount\u total!=res[invoice.id]['amount\u total']:
temp=invoice.partner\u id.depot-res[invoice.id]['amount\u total']
cr.execute('update res_partner set depot=%s,其中id=%s',(临时,invoice.partner_id.id,)
返回res