Метод для принудительный пересчет скрипта:
IContext.Runtime.Recalc(string recalcReason, IDataSourceSecurity dataSourceSecurity, bool inAnyCase = fals)
recalcReason - причина пересчета, любая строка. dataSourceSecurity - источник из-за которого запускается пересчет. Можно передать null. inAnyCase - выполнить пересчет в любом случае. Если указано false, то пересчет будет выполнен только если завершился текущий пересчет (используется в кубиках метронома). Если указано true, то пересчет будет выполнен сразу после текущего пересчета.
Пример вызова: ctx.Runtime.Recalc($"MyRecalc", null, true);
Пример, читается текущая причина пересчета скрипта, если скрипт запущен не через метод Recalc, то запускается Recalc, ждет 5 секунд и завершается. После завершения запускается новый пересчет, в нем будет указано что текущая причина пересчета "MyRecalc" и повторно не будет вызываться Recalc.