On 31/10/13 17:22 -0200, Gmail - Iasmini wrote:
> Hi,
>
> I'm trying to modify the amount value at slx_desconto on_change.
>
> I did this:
>
> I have a invoice.py file that has:
>
> ...
>
> class InvoiceLine:
> 'Invoice Line'
> __name__ = 'account.invoice.line'
>
> slx_desconto = fields.Numeric(u'Desconto', digits=(16, 4),
> states={
> 'invisible': Eval('type') != 'line'
> },
> depends=['type'],
> on_change=['slx_desconto', 'amount']
> )
>
> def on_change_slx_desconto(self):
> if self.type == 'line':
> currency = (self.invoice.currency if self.invoice
> else self.currency)
> amount = (Decimal(str(self.quantity or '0.0'))
> * (self.unit_price or Decimal('0.0')
> - (self.slx_desconto) or Decimal('0.0')))
> if currency:
> return currency.round(amount)
> return amount
> return Decimal('0.0')
>
>
> And I created "def on_change_slx_desconto(self):" to modify the way
> that calculates the amount. But when I change the value, it raises
> this error:
>
> Traceback (most recent call last):
> File "/trytond/protocols/jsonrpc.py", line 123, in _marshaled_dispatch
> response['result'] = dispatch_method(method, params)
> File "/trytond/protocols/jsonrpc.py", line 156, in _dispatch
> res = dispatch(*args)
> File "/trytond/protocols/dispatcher.py", line 163, in dispatch
> result = rpc.result(meth(inst, *args, **kwargs))
> File "/trytond/modules/nfse_br/invoice.py", line 65, in
> on_change_slx_desconto
> if self.type == 'line':
> File "/trytond/model/modelstorage.py", line 1191, in __getattr__
> return super(ModelStorage, self).__getattr__(name)
> File "/trytond/model/model.py", line 569, in __getattr__
> % (self.__name__, name, self._values))
> AttributeError: 'account.invoice.line' Model has no attribute 'type':
> {'slx_desconto': Decimal('1'), 'amount': Decimal('10')}
>
> It says that there is no 'type' on 'account.invoice.line'. Why?If you want to use a field in an on_change, you must declare this field in the on_change list. -- Cédric Krier - B2CK SPRL Email/Jabber: [email protected] Tel: +32 472 54 46 59 Website: http://www.b2ck.com/
pgp7renzCrx2v.pgp
Description: PGP signature
