Определение подстановки в рабочем процессе

Важно :  Данная статья переведена с помощью машинного перевода, см. Отказ от ответственности. Используйте английский вариант этой статьи, который находится здесь, в качестве справочного материала.

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

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

В этой статье

Привязка данных и подстановки

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

Почему удобно использовать идентификаторы?

Как работает подстановка?

Подстановка значения из текущего элемента

Подстановка значения из данных рабочего процесса

Подстановка значения из списка или библиотеки путем указания поля и значения в качестве условия фильтра

Советы по обеспечению уникальности значений подстановки

Что нужно знать о подстановках

Привязка данных и подстановки

Подстановки в рабочем процессе основаны на привязке данных — возможности Microsoft ASP.NET, которая используется в Office SharePoint Designer 2007. Привязка данных позволяет связывать данные из различных источников в базе данных. В Office SharePoint Designer 2007 привязка данных в рабочих процессах дает возможность извлекать данные, например переменные и параметры запуска, из таких источников, как списки, библиотеки и данные рабочего процесса. Подстановки в рабочем процессе получают данные из источника во время выполнения рабочего процесса. Полученные данные затем можно использовать для выполнения других действий рабочего процесса. Подстановки создают связь между источником данных и рабочим процессом.

Вы можете вставить подстановку для текущего элемента, данных рабочего процесса и других списков и библиотек SharePoint.

Источник подстановки

Описание

Текущий элемент

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

Данные рабочего процесса

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

Другие списки и библиотеки

Кроме того, можно получать данные из других списков и библиотек на текущем сайте SharePoint.

К началу страницы

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

Подстановки также могут персонализировать работу пользователей с сайтом. Предположим, например, что вы отправляете свои документы в библиотеку "Общие документы" на сайте группы. Вы хотите, чтобы рецензент получал по электронной почте уведомления при каждой отправке документов. Добавив в сообщение электронной почты подстановки, можно сделать его более персонализированным. Это означает, что при отправке документа рабочий процесс будет автоматически отправлять рецензенту сообщение электронной почты, в тексте которого указано называние документа.

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

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

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

Сообщение электронной почты с подстановкой

Обратите внимание на то, как подстановки отображаются в тексте сообщения. После определения подстановки она отображается в формате [%Источник данных:Имя поля%] там, куда вы ввели подстановку. Таким образом, если вы определили подстановку с источником данных Общие документы, а поле, из которого вы хотите получать значение, называется Имя рецензента, подстановка будет отображаться как [%Общие документы:Имя рецензента%].

Примечание : В строках Кому, Копия и Тема подстановка отображается без квадратных скобок [] и знаков процента %.

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

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

К началу страницы

Почему удобно использовать идентификаторы?

Список или библиотеку SharePoint можно представить в виде таблицы. Каждая таблица состоит из строк и столбцов.

Чтобы подстановка могла получить определенное значение из списка, необходимо задать поле (то есть столбец) и элемент (то есть строку).

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

Список задач

Если вы знакомы с реляционными базами данных, такими как Office Access 2007 или Microsoft SQL Server, вам может быть проще воспринимать каждый список или библиотеку на сайте в виде отдельной таблицы в базе данных.

У каждого списка и библиотеки есть столбец идентификаторов, который используется в качестве первичного ключа. В базах данных первичный ключ — это поле или набор полей таблицы, которые предоставляют уникальный идентификатор для каждой строки.

Столбец идентификаторов удовлетворяет всем условиям для первичного ключа, так как он:

  • однозначно определяет каждую строку;

  • никогда не является пустым или не имеет значение NULL;

  • никогда не изменяется.

Чтобы просмотреть столбец идентификаторов, можно добавить его в любое представление списка или библиотеки.

Идентификатор столбца в различных списках SharePoint

Так как идентификатор является первичным ключом любого списка или библиотеки, его особенно удобно использовать в подстановках для идентификации определенного элемента (или строки), как показано в примерах ниже.

К началу страницы

Как работает подстановка?

Как говорилось в предыдущем разделе, если вы знакомы с реляционными базами данных, вам может быть проще воспринимать каждый список или библиотеку на сайте в виде отдельной таблицы в базе данных.

На самом деле данные в списках и библиотеках хранятся в таблицах SQL Server. (Хотя с технической точки зрения каждый список или библиотека не соответствует отдельной таблице в базе данных, удобно представлять их таким образом для понимания подстановок.)

Если вы знакомы с реляционными базами данных, определение подстановки почти не отличается от запросов к базе данных. Например, предположим, у вас есть следующая подстановка.

Пример подстановки

Она заключается в следующем: "в списке Задачи выбираем значение такого поля Состояние, где Идентификатор элемента задачи совпадает с идентификатором, хранящимся в переменной Идентификатор элемента задачи для этого экземпляра рабочего процесса".

Эту подстановку можно прочитать как следующий SQL-запрос. В SQL-запросах используется ключевое слово SELECT для извлечения данных из указанной таблицы или, как в этом случае, определенного списка или библиотеки.

Пример 1: сходство подстановки с SQL-запросом

- ИЛИ -

Пример 2: сходство подстановки с SQL-запросом

К началу страницы

Подстановка значения из текущего элемента

Самый простой тип подстановки — подстановка значения поля в текущем элементе.

Подстановка для текущего элемента

Она заключается в следующем: "в текущем элементе выбираем значение поля имя_поля". Ее просто выполнить, так как нужно указать только поле (столбец). Запись (строка) фиксирована и равна текущему элементу. Другими словами, для выбора доступна только одна строка. По этой причине этот тип иногда называют фиксированной подстановкой.

При обращении к текущему элементу возвращается значение указанного столбца

К началу страницы

Подстановка значения из данных рабочего процесса

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

Аналогичным образом подстановка из данных рабочего процесса (то есть данных, хранящихся в переменных и параметрах запуска рабочих процессов) также является фиксированной, потому что каждая переменная может содержать только одно значение. Значение переменной может изменяться от одного экземпляра рабочего процесса к другому или в определенный момент рабочего процесса (например, если рабочий процесс использует действие Задать переменную рабочего процесса для изменения значения переменной). Но переменная всегда содержит только одно значение, поэтому подстановка из данных рабочего процесса всегда является фиксированной.

Подстановка для переменной рабочего процесса "Идентификатор элемента задачи"

Можно представить себе, что данные рабочего процесса хранятся в блокноте, содержащем несколько областей, в которых рабочий процесс записывает и хранит данные. Такие области составляют одну "строку", потому что каждая из них (переменная или параметр) содержит только одно значение.

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

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

К началу страницы

Подстановка значения из списка или библиотеки путем указания поля и значения в качестве условия фильтра

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

Подстановка значения из другого списка

Почему это происходит? В верхней части диалогового окна указано поле (столбец) нужного значения. Но так как вы хотите применить условия фильтра, также следует указать элемент (строку) значения. Уникальная строка определяется путем выбора поля, значения которого можно использовать в качестве условия фильтра, позволяющего выбрать одну строку. Например, подстановке необходимо знать, из какого элемента (строки) нужно получить значение. В верхней части диалогового окна указан столбец; осталось указать строку.

Выделенное состояние задачи

К началу страницы

Использование статического значения в качестве условия фильтра

Более простым — и обычно менее полезным — типом подстановки является ввод статического значения (так называемого литерала) для поиска элемента или строки. Например, эта подстановка переходит к списку "Задачи" и выбирает значение "Рекомендация" из первого элемента задачи, поле "Рекомендация" которого имеет значение "Отклонить".

Пример подстановки, которая будет получать статическое значение

При нажатии кнопки ОК появится следующее предупреждение:

Диалоговое окно предупреждения, в котором указано, что полученные при подстановке значения не являются уникальными

Что это означает? Возможно, в списке "Задачи" есть несколько элементов, значение поля "Рекомендация" которых равно "Отклонить", как показано на приведенном ниже рисунке. При подстановке будут найдены все такие элементы, отвечающие условиям. В таком случае подстановка просто получает значение поля "Рекомендация" из первого элемента в списке задач, где Рекомендация = Отклонить, как показано ниже.

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

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

Настраиваемый список региональных руководителей

Предположим, что группа находится в северо-восточном регионе, поэтому вас интересует только он. У вас есть рабочий процесс, связанный с другим списком (не со списком "Региональные менеджеры"), и вам необходимо найти старшего менеджера северо-восточного региона в списке "Региональные менеджеры". Если хранить данные людей в настраиваемом списке и получать их с помощью рабочего процесса, можно обеспечить динамическое получение новейших данных. Кроме того, вам не придется открывать и изменять рабочий процесс каждый раз, когда меняются региональные менеджеры. Подстановка, используемая для этой цели, будет выглядеть приблизительно следующим образом:

Подстановка неуникального значения в настраиваемом списке

При нажатии кнопки ОК появится предупреждение.

Диалоговое окно предупреждения, в котором указано, что полученные при подстановке значения не являются уникальными

Оно выводится потому, что в списке может быть несколько элементов, в которых значением региона является Северо-восток. В отличие от поля "Идентификатор" (первичного ключа) значение Северо-восток не обязательно является уникальным, потому что в список можно добавить много элементов с этим значением. Но так как вы владелец списка "Региональные менеджеры", вы можете смело игнорировать это предупреждение, поскольку знаете, что существует только один элемент, значение области которого равно Северо-восток, поэтому вы уверены, что подстановка является уникальной.

Другими словами, поле, используемое как условия фильтра, выступает в качестве ключа для списка. При использовании поля "Идентификатор" в качестве ключа эти значения по определению уникальны. Но если использовать в качестве ключа другое поле, например "Регион", как в этом примере, выводится предупреждение о том, что значения в нем должны быть уникальными, чтобы поле могло быть ключом, позволяющим определить уникальный элемент.

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

К началу страницы

Использование переменной рабочего процесса в качестве условий фильтра

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

Если рабочий процесс создает элемент, идентификатор нового элемента хранится в переменной.

Действие "Создать элемент в списке" в конструкторе рабочих процессов

Идентификатор элемента — это целое число, которое всегда является уникальным в списке или библиотеке. Идентификатор похож на ключ в таблице базы данных.

Поскольку идентификаторы всегда уникальны и хранятся в динамической переменной, их рекомендуется использовать для определения именно того элемента, который нужен. Например, предположим, что действие Получить данные от пользователя создает задачу, идентификатор которой хранится в переменной с именем Идентификатор элемента задачи. Ее можно использовать для обеспечения уникальной подстановки, как показано ниже.

Подстановка переменной

При нажатии кнопки ОК не появится предупреждение об уникальности подстановки, так как вы используете идентификатор для поиска нужного элемента (строки), а этот идентификатор всегда является уникальным.

Подстановка переменной "Идентификатор элемента задачи"

Подстановка заключается в следующем: "в списке Задачи выбираем значение такого поля Рекомендация, где Идентификатор элемента задачи совпадает с идентификатором, хранящимся в переменной для этого экземпляра рабочего процесса". Другими словами, в верхней части диалогового окна указан столбец, как обычно, а в нижней части диалогового окна определена уникальная строка. В этом примере экземпляр рабочего процесса создал задачу с идентификатором 5. Так как 5 является значением, хранящимся в переменной Идентификатор элемента задачи, подстановка переходит к строке 5 в списке задач.

Список задач

К началу страницы

Советы по обеспечению уникальности значений подстановки

Ниже приведены советы по использованию подстановок в рабочем процессе.

  • Гарантированным способом обеспечения уникальности подстановки является использование идентификатора элемента списка для поиска элемента с соответствующим идентификатором. При наличии переменных с типом данных Идентификатор элемента списка, которые уже связаны с текущим рабочим процессом, попробуйте использовать их для подстановки. Чтобы найти переменные с типом данных Идентификатор элемента списка, нажмите кнопку Переменные в конструкторе рабочих процессов. Появится список всех переменных, связанных с текущим рабочим процессом. Найдите переменные с типом Идентификатор элемента списка.

  • Если по какой-либо причине невозможно использовать поле "Идентификатор" или в списке нет полей, которые могут выполнять роль ключа, попробуйте использовать объединенную строку значений элементов списка, которая может быть уникальной. Вы можете использовать действие Построить динамическую строку в рабочем процессе для создания этой строки и ее сохранения в переменной. Затем можно использовать эту переменную в подстановке для определения уникальных элементов в списке.

  • При создании списков на сайте можно создавать отношения "родители-потомки" или "один ко многим" между взаимосвязанными данными в различных списках с помощью создания ссылки из столбца подстановки в одном списке на поле идентификатора другого списка. Например, предположим, что у вас есть список "Класс" и "Учащиеся", и существует отношение "один ко многим" между одним классом и множеством учащихся. Можно добавить в список "Учащиеся " столбец подстановки на идентификатор связанного класса в списке "Курсы". Если в списке "Учащиеся" есть рабочий процесс, он сможет подставлять значения из связанного элемента в списке "Классы". Запрос работает так: "В списке "Классы" выберем значение поля [любое поле в этом списке], где идентификатор в списке "Классы" совпадает с идентификатором поля подстановки в текущем элементе". Создание связей по идентификатору (то есть отношений между первичным и внешним ключами) между списками упрощает подстановку, а использование идентификаторов гарантирует уникальность совпадений.

К началу страницы

Что нужно знать о подстановках

Ниже приведены некоторые факты, которые важно знать при работе с подстановками.

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

  • Когда подстановка не находит данные, возвращается строка ?????. Например, если определить подстановку для выбора значения поля "Название" в списке "Задачи", для которого поле "Назначено" равно "Олег", а Олегу не назначена ни одна задача, подстановка вернет ?????. Чтобы устранить эту проблему, можно открыть соответствующую подстановку и изменить условия фильтра так, чтобы запрос возвращал соответствующий элемент.

  • Когда подстановка обращается к переменной, которая не содержит данных, возвращается строка ***. Чтобы устранить эту проблему, откройте рабочий процесс и назначьте переменной значение (инициализируйте ее).

  • Чтобы очистить диалоговое окно Определение подстановки в рабочем процессе, нажмите в нем кнопку Очистить параметры подстановки.

К началу страницы

Примечание : Отказ от ответственности относительно машинного перевода. Данная статья была переведена с помощью компьютерной системы без участия человека. Microsoft предлагает эти машинные переводы, чтобы помочь пользователям, которые не знают английского языка, ознакомиться с материалами о продуктах, услугах и технологиях Microsoft. Поскольку статья была переведена с использованием машинного перевода, она может содержать лексические,синтаксические и грамматические ошибки.

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединиться к программе предварительной оценки Office

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×