Принудительный пересчет скрипта
public void Execute(IContext ctx, ISecurity sec)
{
var listReasons = ctx.Runtime.LastRecalcReasons.Select(x => x.Name).Distinct().ToList();
var listReasonsSt = string.Join(", ", listReasons);
ctx.Log($"RecalcReasons: " + listReasonsSt, MessageType.Info, true);
if (!listReasonsSt.Contains("MyRecalc"))
{
ctx.Log($"Start recalc", MessageType.Info, true);
ctx.Runtime.Recalc($"MyRecalc {DateTime.Now}", null, true);
for (int i = 1; i <= 5; i++)
{
Thread.Sleep(1000);
ctx.Log($"Step {i}", MessageType.Info, true);
}
}
}Was this helpful?