Translation formula unexpected behaviour

I’ve got this translation formula in 10 fields. It’s the same formula working in numbered fields “FIELD_1” to “FIELD_10”.

I’m taking the first value before the pipe “|”, and dropping the rest, if there is a rest.

suffix := @If(@IsError(@ToNumber(@RightBack(@ThisName;""))); “”; “" + @RightBack(@ThisName;"”));

@If( @Contains( @ThisValue; “|”);

@Do(

@SetField(“TIME_PROJECTID” + _suffix ; @Rightback( @ThisValue ; “|” ));

@Left( @ThisValue ; “|” ))

; @ThisValue)

When I manually refresh the document ( F9) it works fine, and stores the dropped string in another field, like it’s supposed to do. When I enable “Automatically Refresh fields”, it still drops the string (everything after the pipe), but it DOESN’T update the field…

Thoughts, anybody ?

cheers,

Tom