Последовательный рабочий процесс, добавляющий еще одну копию элемента при обновлении элемента списка

Я создал пользовательский последовательный рабочий процесс, в котором я назначаю задачу пользователю, например:

private void createTask1_MethodInvoking(object sender, EventArgs e)
    {
       SPListItem currentItem = workflowProperties.Item; 
       RequestApproveTaskId = Guid.NewGuid();
       RequestTaskProperties.Title = "";
       RequestTaskProperties.Description = "Please review the request";
       RequestTaskProperties.StartDate = DateTime.Today;            
       RequestTaskProperties.AssignedTo = userName;            
       RequestTaskProperties.EmailBody = this.EmailBody;
       RequestTaskProperties.HasCustomEmailBody = true;
       RequestTaskProperties.SendEmailNotification = true;
    }

его создание задачи правильно и назначение пользователю. Нет проблем, работает нормально. и я установил начало рабочего процесса при добавлении нового элемента в список.

Проблема возникает, когда я редактирую / обновляю значение элемента списка, для которого рабочий процесс выполняется и находится в процессе. После обновления существующего элемента, в библиотеку добавляется еще один элемент с обновленным значением, который снова запускает рабочий процесс для вновь добавленного элемента списка.

Итак, Мой вопрос, как остановить этот добавленный новый элемент с обновленным значением. Я хочу обновить существующий элемент списка и нажать на функцию OnChange() в Sequential Workflow. Пожалуйста, ответьте, я не получаю решение от Google.

1 ответ

ItemAdding Рабочий процесс выполняется каждый раз, когда вы добавляете что-либо в элемент списка. Попробуйте написать свой код в ItemAdded. Тогда ваш код работает правильно, как вы хотите.

Другие вопросы по тегам