Получить форму SharePoint InfoPath для загрузки в браузере из задачи
Я опубликовал форму InfoPath через маршрут администратора в библиотеке документов. Я могу щелкнуть новую форму в библиотеке документов и загрузить свою пользовательскую форму в браузере. Когда заполненная форма сохраняется обратно в список, она запускает рабочий процесс. Рабочий процесс создает задачу для другого пользователя перейти в форму и заполнить пропущенные поля (если они есть).
Ключевым моментом здесь является то, что частично заполненная форма, сохраненная в библиотеке, должна быть той же самой формой, которая была открыта в первом задании. Поле ссылки задачи автоматически заполняется URL-адресом элемента списка, который представляет собой xml для частично заполненной формы. Ссылка аналогична ссылке, когда вы наводите курсор мыши на элемент обратно в библиотеке документов, но когда он щелкает по задаче, он пытается открыть форму внутри самой InfoPath, а не внутри браузера. Так что это одна проблема с полем ссылки, которое SharePoint автоматически заполняет при создании задачи.
В идеале я хотел бы связать частично заполненную форму с самой задачей. Я делал это раньше в рабочем процессе с помощью форм infopath, поместив FormURN в workflow.xml, а затем указав TaskType для задачи. Однако это создаст новую форму на основе шаблона. Как я могу заставить его использовать существующий XML в элементе списка, который является рабочим процессом, на котором фактически выполняется задача.
Предложения будут очень ценны.
3 ответа
Измените URL, чтобы перейти на этот URL
{SITE_COLECTION_URL}/_layouts/FormServer.aspx?XmlLocation={FORM_URL}&DefaultItemOpen=1
Используйте учебник на этой странице и создайте поле в формах ItemMetadata.xml с именем url и установите его в коде
taskProperties.ExtendedProperties["url"] = SERVERURL + "/_layouts/FormServer.aspx?XmlLocation=" + FORMURL + "&DefaultItemOpen=1";
Это не самое элегантное решение, но оно работает хорошо. Вам нужно будет изменить форму, чтобы действовать как слушатель действия. Вместо того, чтобы создавать задачи, отправляйте электронные письма, содержащие ссылку на InfoPath. Когда пользователь открывает форму, настройте верхнюю часть формы так, чтобы она выглядела как форма задачи с флажком, при обновлении формы запускайте рабочий процесс, чтобы проверить, установлен ли флажок, если это так, переходите к рабочему процессу.