> On May 1, 2016, at 7:13 PM, 子風 <zpsyhap...@gmail.com> wrote:
> 
> John Ralls 於 2016/5/1 下午 10:29 寫道:
>>> On May 1, 2016, at 1:57 AM, 子風 <zpsyhap...@gmail.com> wrote:
>>> 
>>> GnuCash 2.6.12
>>> Window 7 32bit
>>> 
>>> When I try to use Scheduled Transactions and make it more automatic.
>>> 
>>> So I modified the "fin.scm" to meet what I need.
>>> 
>>> But I can't do it. It always shows the error message "Couldn't parse 
>>> redit-formula".
>>> 
>>> The credit-formula is "computeInterestIncrementFixed(10422:i)"
>>> 
>>> However, if I replaced "i" with "-i" like 
>>> "computeInterestIncrementFixed(10422:-i)", it would be OK.
>>> 
>>> But It is not what I need.
>>> 
>>> There are source code as below. And I run it online working fine.
>>> 
>>> https://repl.it/CLmn/1
>>> 
>>> ;; for fixed rate once in a year
>>> (define ratePublic 0.0116)
>>> 
>>> (define (gnc:futureValueR a t)
>>>    (if (<= t 0)
>> Shouldn't that be "if (>= t 0)"?
> I tried this as below, but it still had the same error message.
> And when I used "computeInterestIncrement" like online example, it still had 
> the same error message.
> (define (gnc:futureValueR a t)
>    (if (> t 0)
>        (round (* (+ 1 ratePublic) (gnc:futureValueR a (- t 1))))
>        a
>     )
> )
>> 
>>>        a
>>>        (round (* (+ 1 ratePublic) (gnc:futureValueR a (- t 1))))
>>>     )
>>> )
>>> 
>>> (define (gnc:computeInterestIncrementFixed a t)
>>>  (let ((thisVal (gnc:futureValueR a t))
>>>        (prevVal (gnc:futureValueR a (- t 1)))
>>>       )
>>>    (- thisVal prevVal)
>>>  )
>>> )
>>> 

Oh, sorry, missed the "a" for the condition being true.

I'm confused. computeInterestIncrement raises "can't parse credit-formula" but 
computeInterestIncrementFixed doesn't if you pass -i for the second argument 
but does if you pass i? 

The way you wrote the call above, computeInterestIncrementFixed(10422:i) isn't 
right, it needs to have spaces around the ':'
like computeInterestIncrementFixed(10422 : i), the parser tokenizes on spaces. 
Did you just type it without spaces here and had it right in GnuCash?

I can enter computeInterestIncrement(1000 : 100 : 12 : i) and GnuCash doesn't 
raise an error.

Regards,
John Ralls


_______________________________________________
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel

Reply via email to