Skip to Content
Menu
Dette spørgsmål er blevet anmeldt
1 Svar
4723 Visninger

I created a custom computation field called "x_asf" (under the amount_untaxed field in quotation). The formula of the ASF field is amount_untaxed * 0.10

 

I added the code below but it's not working. anyone can help?

 

def _amount_all_wrapper(self, cr, uid, ids, field_name, arg, context=None):
        """ Wrapper because of direct method passing as parameter for function fields """
        return self._amount_all(cr, uid, ids, field_name, arg, context=context)

    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,
                'x_asf': 0.0,
                'amount_tax': 0.0,
                'amount_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]['x_asf'] = res[order.id]['amount_untaxed'] * 0.10
            res[order.id]['amount_untaxed'] = cur_obj.round(cr, uid, cur, val1)
            res[order.id]['amount_total'] = res[order.id]['amount_untaxed'] + res[order.id]['amount_tax']
        return res

Avatar
Kassér
Bedste svar

Probably your method is not called, add (repeat) in your module a line that calling the method

_columns = {
        'amount_untaxed': fields.function(_amount_all_wrapper, digits_compute=dp.get_precision('Account'), string='Untaxed Amount',
}

Similar call is needed to the method _amount_all_wrapper

Avatar
Kassér
Related Posts Besvarelser Visninger Aktivitet
1
okt. 22
4018
1
mar. 25
1537
1
maj 24
1906
2
mar. 24
1689
1
jun. 23
2438