none
Рабочие процессы (Workflow): поиск элементов списка с отбором внутри РП, выполнение действий над ними. RRS feed

  • Вопрос

  • Есть 3 списка, 1, 2 и 3 (более детальное описание: https://social.technet.microsoft.com/Forums/ru-RU/99d0192b-a226-4c64-b9ae-dc37e020344c/caml-2-3-?forum=sharepointru). Список 2 ссылается на список 1, а список 3 - на список 2. Физически это: контрагенты, договоры с контрагентами и документы договоров.

    Поскольку документы - это разные списки (разные виды документов), а мне необходимо иногда получать сводный журнал документов с отбором по контрагенту, я ввел дополнительное поле в документы - "Заказчик" (pvPartnerRef - Lookup поле). Теперь я хочу обеспечить целостность данных: изменяем договор в документе - меняется контрагент, изменяется контрагент в договоре - изменяются контрагенты во всех подчиненных договору документах.

    Я рассматриваю разные варианты решения, но сейчас интересует именно с помощью РП. Первую задачу я решил. Использовал SPD, РП списка и действие "Задать поле в текущем элементе". Все работает прекрасно: настраиваю источник данных, поиск элемента в источнике - все отлично.

    Но имею трудности со второй частью: меняем контрагента в договоре - надо изменить контрагента во всех документах договора. Понимаю, что нужно получить список документов договора, а потом выполнить над найденными элементами какое-то действие. Я плохо представляю возможности и работу компонент РП, поэтому и не нашел нужных (искал в SPD, Visual Studio).

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

    2. Как запустить для каждого элемента другой РП, привязанный к этому списку? Ну или выполнить какие либо другие действия? Наверное нужно вставить код... но не представляю куда.


    10 января 2017 г. 15:27

Ответы

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

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

    https://blog.it-kb.ru/2014/04/15/install-two-tier-farm-sharepoint-server-2013-sp1-on-windows-server-2012-r2-part-2-create-a-new-server-farm-with-kerberos-and-language-pack/

    Поэтапно расписано как и в какой очередности поднимать службы на ферме SP, какие требуются УЗ, права и т.д. В заключении настройки фермы есть материал и по установке WFM. 

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

    WFM необязательно ставить на отдельный сервер ресурсов он ест мало. Абсолютно нормально установить его на сервер SP. Между рабочими процессами 2010 и 2013 есть разница, но не такая большая как хотелось бы. Кое-что полезное убрано из рп2013 (шаг олицетворения, профили пользователей, поиск руководителя), но добавлен веб-запрос внешнего содержимого. Самое полезное с установкой WFM  - это то,  что вы сможете комбинировать РП разных версий для достижения наилучшего результата. И запускать РП2010 внутри РП2013.

    Вот ссылка на создание семейства личных сайтов:

    https://blog.it-kb.ru/2014/04/17/install-two-tier-farm-sharepoint-server-2013-sp1-on-windows-server-2012-r2-part-6-configure-site-collection-on-my-sites-template-via-powershell/

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

    https://blog.it-kb.ru/2014/04/21/install-two-tier-farm-sharepoint-server-2013-sp1-on-windows-server-2012-r2-part-7-configure-user-profile-service-synchronization-from-active-directory/

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

    intranet:8093 - созданное веб-приложение для личных сайтов. Создаете управляемый путь /my (в настройках веб-приложения в ЦА). Сайты будут создаваться по адресу http://intranet/my/username, где username - доменный логин пользователя.

    С настройкой личных сайтов можно сломать только личные сайты, или должно ну очень не повезти, чтобы сломать еще что-то попутно ) 

     

    11 января 2017 г. 14:23

Все ответы

  • К сожалению вы не указали какая у вас версия SP.

    В WorkFlow Sharepoint2013 есть возможность обхода записей списка. Делаете обход, фильтруете документы нужного контрагента.

    10 января 2017 г. 17:28
  • Добрый день,

    в SP 2010 такая задача решается обработчиками списка, в РП никак (стандартно).

    Для SP 2013 посмотрите:

    Looping Through List Items in SharePoint 2013 Designer Workflows

    How to Loop through another list and update a column with SharePoint Designer 2013 Workflow


    MS,MCTS,MCP,MCPD: SharePoint Developer 2010


    11 января 2017 г. 6:22
  • Версия SP 2013. Извините, что не указал, как правило всегда пишу.

    Сергей, а как делать обход записей списка? РП (в SPD и в VS) из неких блоков, какие нужно использовать?

    Максим, спасибо за ссылки, изучу и отпишусь.

    11 января 2017 г. 7:11
  • Пока не изучите полностью стандартный функционал, его возможности и ограничения, Visual Studio лучше не использовать. No_Code_Solutions only!!!

    Изучайте в такой последовательности:

    1. Designer

    2. javascript\jQuery\JSOM\CSOM

    3. SSOM

    Что это и зачем читать CSOM vs JSOM vs SSOM vs REST


    MS,MCTS,MCP,MCPD: SharePoint Developer 2010

    11 января 2017 г. 7:22
  • Первое с чем столкнулся - не настроена служба рабочих процессов SP 2013. При изучении установки службы прочитал: The SharePoint 2013 Workflow platform is not supported in SharePoint Foundation 2013.

    Нашел пару полезных статей на определение редакции SP: https://msdn.microsoft.com/en-us/library/office/jj659075.aspx, http://sharepoint.stackexchange.com/questions/3886/how-to-detect-the-edition-of-sharepoint-2010-installed - из них выяснилось, что у меня есть два ключа:

    "C5D855EE-F32B-4A1C-97A8-F0A28CE02F9C", "SharePoint Server 2013"

    "9FF54EBC-8C12-47D7-854F-3865D4BE8118", "SharePoint Foundation 2013" - какие выводы из этого можно сделать? Могу я установить у себя WF Manager?

    Если да, то одно из требований к установке - правильно настроенная приложение-служба "User Profile Service Application". Следую инструкциям, пытаюсь ее поставить, но с одним вопросом справиться не могу - это свойства "URL-адрес узла личного сайта" и "Управляемый путь к личному сайту", они изначально пустые. Вроде бы по смыслу надо только в первое вписать адрес своего семейства сайтов, в котором я работаю. Но так ли это? Там требование шаблона "Узел личных сайтов"... блин как все сложно! Не сломаю я свое семейство сайтов, в котором у меня развернут проект и есть наработки через дизайнер?

    Для настройки UPSA пользуюсь статьей https://technet.microsoft.com/ru-ru/library/ee721052.aspx


    11 января 2017 г. 7:41
  • Как вы используете портал без настроенной службы профилей пользователей ? Просто как документооборот ? 

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

    https://blog.it-kb.ru/2014/04/15/install-two-tier-farm-sharepoint-server-2013-sp1-on-windows-server-2012-r2-part-2-create-a-new-server-farm-with-kerberos-and-language-pack/

    Поэтапно расписано как и в какой очередности поднимать службы на ферме SP, какие требуются УЗ, права и т.д. В заключении настройки фермы есть материал и по установке WFM. 

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

    WFM необязательно ставить на отдельный сервер ресурсов он ест мало. Абсолютно нормально установить его на сервер SP. Между рабочими процессами 2010 и 2013 есть разница, но не такая большая как хотелось бы. Кое-что полезное убрано из рп2013 (шаг олицетворения, профили пользователей, поиск руководителя), но добавлен веб-запрос внешнего содержимого. Самое полезное с установкой WFM  - это то,  что вы сможете комбинировать РП разных версий для достижения наилучшего результата. И запускать РП2010 внутри РП2013.

    Вот ссылка на создание семейства личных сайтов:

    https://blog.it-kb.ru/2014/04/17/install-two-tier-farm-sharepoint-server-2013-sp1-on-windows-server-2012-r2-part-6-configure-site-collection-on-my-sites-template-via-powershell/

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

    https://blog.it-kb.ru/2014/04/21/install-two-tier-farm-sharepoint-server-2013-sp1-on-windows-server-2012-r2-part-7-configure-user-profile-service-synchronization-from-active-directory/

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

    intranet:8093 - созданное веб-приложение для личных сайтов. Создаете управляемый путь /my (в настройках веб-приложения в ЦА). Сайты будут создаваться по адресу http://intranet/my/username, где username - доменный логин пользователя.

    С настройкой личных сайтов можно сломать только личные сайты, или должно ну очень не повезти, чтобы сломать еще что-то попутно ) 

     

    11 января 2017 г. 14:23
  • Спасибо, Сергей! Мне нужно время, чтобы в этом разобраться. Отредактирую это сообщение, когда установлю FWM ну или не установлю.

    Пока я решил вторую часть своей задачи через Event Receiver, но это не по теме, все равно буду пытаться пробовать FW 2013.

    11 января 2017 г. 14:39
  • ИМХО. В SP зачастую несколько вариантов решения одной и той же задачи. Но, ферма должна быть настроена правильно и полностью (развитие компании и новых сервисов никто не отменял, улучшение коммуникаций и бизнес-процессов тоже). Если уж вы тратите (немалые) деньги на покупку такого продукта, то уж используйте его по максимуму, со всеми преимуществами. Поставить SP для какой-то одной задачи (например - документооборот и все) неоправданно дорого как по цене покупки, так и по обслуживанию. Ради каких-то одиночных целей намного проще и дешевле воспользоваться специализированным в этой области ПО.   
    12 января 2017 г. 7:08