Как я могу сказать, какое изменение инициировало рабочий процесс? - PullRequest
1 голос
/ 10 августа 2011

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

Ответы [ 2 ]

1 голос
/ 10 августа 2011

Проще говоря, вы не можете.

Рабочие процессы не содержат свойства «до изменения» и «после изменения», как некоторые события.

Единственное, что вы можете сделать в рабочем процессе, это проверить, является ли значение поля "==" или "! =" Для значения.

Некоторые возможные обходные пути:

  1. Что вы можете сделать, это написать приемник событий , чтобы перехватить событие обновления элемента списка и затем воздействовать на данные. Джеймс Лав объяснил это в великолепном ответе на вопрос « Как определить, изменился ли определенный столбец в событии SPItemEventReceiver.ItemUpdated (SP 2010)? ».
  2. Вы можете добавить «скрытое» поле в список, который обновляется рабочим процессом при изменении списка. Это будет содержать «старое» значение. Не практично, но проще в реализации, чем приемник событий.
0 голосов
/ 10 августа 2011

Ваш заголовок немного отличается от вашего вопроса, поэтому я отвечу на ваш вопрос учебной статьей.

http://sharepointsolutions.blogspot.com/2007/10/sharepoint-designer-workflows-how-to.html

...