2009-09-01 2 views
0

У меня возникают проблемы с WSS 3.0 Workflow, используя объединенные списки. Вот описание:WSS 3.0 Workflow - Как получить данные из объединенных списков

Я создаю простую заявку на заказы/заказы на работу. Это просто для внутреннего использования отделов, чтобы персонал мог забронировать ежегодный отпуск и разрешить его уполномоченным соответствующим менеджером.

С этой целью у меня есть два списка: первый список называется «Персонал» и содержит имя человека, адрес электронной почты и имя менеджера. Имя менеджера заполняется выпадающим списком в том же списке.

Второй список называется HolidayRequest и имеет поля для имени (раскрывающийся список, основанный на списке персонала), дату начала и дату окончания.

Когда когда-либо вносятся записи в список HolidayRequest, я хочу вызвать рабочий процесс, который отправит электронное письмо менеджеру этого человека, чтобы уведомить его об одобрении. У меня проблема - получить имя менеджера и адрес электронной почты в рабочий процесс. Проблема, как я вижу, это то, что эта информация была получена через объединенный список:

 HolidayRequest       Staff 
StartDate, EndDate, Name -----------------> Name, EmailAddress, Manager 
               /\     | 
                |     | 
                +-------------------+ 

Так что мне нужно для рабочего процесса, чтобы использовать поле Имени из HolidayRequest, чтобы найти запись для того же имя в Список сотрудников, а затем получить имя менеджера из этой записи, получить отчет менеджера и, таким образом, адрес электронной почты менеджера. Это не совсем ракетостроение, но я просто не могу понять это в рабочем процессе (используя Sharepoint Designer).

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

Спасибо за чтение.

ответ

0

Ну, оказывается, я был на правильном пути (как я думал), но не совсем понял, как Workflow делает поиск. Вот ответ:

Предположим, что у вас есть два списка «HolidayRequest» и «Staff». В HolidayRequest есть поля для «Имя» (это поиск в списке сотрудников), StartDate и EndDate. В списке сотрудников есть «Имя», «Электронная почта» и «Менеджер» (это поиск в списке сотрудников - ссылка на тот же список, но на другую запись).

Поскольку он предполагает двойной поиск, необходимо создать переменную Workflow для хранения промежуточного результата. Поэтому я создал Variable: ManagerName, чтобы сохранить имя менеджера из первого поиска, а затем использовал его как мой ключ для второго поиска, чтобы извлечь адрес электронной почты для менеджера.

Ключ к окончательному поиску рабочего процесса состоял в том, чтобы понять, как он соединяется, и, честно говоря, я не думаю, что «Определить поиск рабочего процесса» в SPD очень ясен. DWL имеет два раздела: один под названием «Детали поиска», и здесь вы указываете, откуда вы хотите получить данные (список источников и поле в этом списке), а второй раздел называется «Найти элемент списка», (здесь я ошибался) - вы используете это, чтобы создать связь между двумя списками. В поле «Поле» вы указываете это поле в списке «Источник данных» (так что «Персонал: имя» для моего примера), а запись «Значение» - это то место, где вы указываете соответствующее поле из другого списка (так, Variable: ManagerName "в моем примере).

Итак, когда получен новый запрос Holiday, рабочий процесс использует имя из HolidayRequest в качестве поиска в списке сотрудников, извлекает имя менеджера из списка сотрудников и затем использует его для повторного поиска на персонале list - на этот раз для менеджера - и выберет адрес электронной почты.

Perfect.

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

+0

Привет, Саймон, я пытаюсь создать точно то же самое для своего сайта. У вас есть скриншоты завершенного рабочего процесса? Я думаю, что у меня не получается на стороне DWL, и я не могу понять, как это работает! Любая помощь очень ценится. cheers James. – 2011-03-10 14:23:44

Смежные вопросы