I managed to get it working with some slight modifications:
if (window.cff_var) {
if ('spend' in cff_var) getField(fieldname21|n).setVal(cff_var.spend);
if ('programme' in cff_var) getField(fieldname17|n).setVal(cff_var.programme);
if ('bonus' in cff_var) getField(fieldname20|n).setVal(cff_var.bonus);
}
Can you foresee any issues with this approach?