Документ извлекается в SharePoint при запуске рабочего процесса
Я обнаружил небольшую проблему при запуске рабочего процесса в библиотеке документов. Когда вы щелкнете по новому документу, в этом примере откроется Microsoft Word. Вы пишете некоторые вещи в документ, а затем сохраняете их в библиотеке. Рабочий процесс, связанный с библиотекой, в данном случае рабочий процесс утверждения, созданный на домашнем уровне, с запуском запуска теперь, когда элемент списка создан. Проблема, однако, в том, что документ все еще открыт и, таким образом, извлекается, пока пользователь не закроет слово. Если первое, что делает рабочий процесс, это устанавливает некоторые другие поля в этом элементе списка, такие как установка статуса подтверждения на "в ожидании", то это приведет к ошибке. Это ошибки, потому что документ извлечен.
Я пытался заставить рабочий процесс ждать, пока документ не будет зарегистрирован, но здесь я терплю неудачу. Я пытаюсь выполнить действие OnWorkflowItemChanged, и в коде этой проверки проверяется, что внесенные изменения были документом, на который возвращаются документы, поэтому после этого я могу продолжить работу с остальной частью моего рабочего процесса. Проблема в том, что это действие, похоже, не воспринимает регистрацию в качестве изменения. Этот вид имеет смысл, потому что закрытие документа, который автоматически регистрирует его, фактически не меняет ни одно из полей элемента.
Поэтому мне нужно найти какой-то путь в моем рабочем процессе, чтобы обнаружить событие регистрации, но до тех пор, пока я не подожду.
1 ответ
Решение этой проблемы состоит в том, чтобы рабочий процесс извлекал документ, вносил любые изменения и затем возвращал его обратно.
В коде вы можете сделать это с помощью специального обработчика событий. Проверьте SDK sharepoint или MSDN для получения информации об объектной модели.
В SharePoint Designer настройте свой рабочий процесс так:
Установите флажок "Автоматически запускать этот рабочий процесс при создании нового элемента" или "Автоматически запускать этот рабочий процесс при создании нового элемента" или выберите оба варианта.
Хит дальше.
На следующей странице оставьте раздел условий пустым.
В настройках действий настройте рабочий процесс так:
Проверить товар в <Текущий товар> затем дождитесь <Какие бы поля вам ни нужно было установить или какие действия вам нужны> затем отметьте элемент в <Текущий элемент> с комментарием: <Комментарий>
Вы можете разбить это на шаги, а также. Например:
Шаг первый - проверить текущий товар Шаг второй - пользовательские вещи, которые вам нужно сделать Шаг третий - проверить текущий товар