Как правильно проверить что задача была закрыта.
Я сделал plugin на Update Task.
При срабатывании я проверяю статус задачи. Если статус есть - значит произошло событие смены статуса, проверяю на какой статус изменили. Если на 1 - значит задачу выполнили и я пускаю обработку события дальше.
Дело в том что это стабильно работало в нескольких плагинах, но в очередном перестало. Мне приходит сообщение что атрибута статус в плагин не пришло. Как это может быть если я завершаю задачу? Или как по другому можно отследить выполнение задачи?
X++:
// Obtain the target entity from the input parmameters.
Entity task = (Entity)context.InputParameters["Target"];
// Verify that the target entity represents an account.
// If not, this plug-in was not registered correctly.
if (task.LogicalName != "task")
{
ToTrace("В контексте пришла не сущность \"Задача\".");
return;
}
if (!task.Contains("statecode"))
{
ToTrace("Нет информации о статусе исполнения задачи. Выполение плагина завершено.");
return;
}
ToTrace("LN:{0};G:{1}", task.LogicalName, task.Id);
ToTrace("Проверяем состояние задачи. {0}", (task["statecode"] as OptionSetValue).Value.ToString());
if ((task["statecode"] as OptionSetValue).Value != 1)
{
ToTrace("Состояние задачи не требует дальнейших действий. Выполнение плагина завершено.");
return;
}