none
Как считать в рабочем процессе списка само имя списка? RRS feed

  • Вопрос

  • Привет всем!
    Есть несколько списоков заданий. Каждый список - отдельный объект (напр. Дом 32, Дом 33 и т.д.). При создании нового элемента списка рабочий процесс списка рассылает уведомления. Необходимо, чтобы в тексте сообщения фигурировало ИМЯ СПИСКА, чтобы начальник, не нажимая на ссылку, знал на каком объекте произбодятся работы.  Как его получить?

    Рабочий процесс создается в SP-Designer, версия SharePoint - Foundation!

    Знаю, что встроенный рабочий процесс - "Три статуса" может отсылать такую информацию.

    Заранее спасибо за любую идею!


    • Изменен тип foxmann 5 июля 2012 г. 10:06
    • Изменено foxmann 5 июля 2012 г. 14:35

Ответы

  • Foxxman,

    Держите:

    Кастомное действие для SharePoint Designer - Получение имени текущего списка.

    там wsp + исходники и краткое описание как установить.


    LinkedIn Profile
    SharePoint Advanced Visibility Options project
    SharePoint Managed Metadata Claims Provider project

    • Помечено в качестве ответа foxmann 12 июля 2012 г. 13:22
    11 июля 2012 г. 9:18
  • Действия по установки решения WFAGetListName от HeToC:

    1. Скопировать wsp-файл на сервер
    2. Развернуть решение с помощью SP Power-shell: add-spsloution c:\file_path_and_name

    1342083857-clip-15kb

    3. Активировать (подготовить) решение в "центре администрирования":

    1342084068-clip-13kb

    3a. Активировать фичу на сайте :
    sp_feature_active

    4. Отредактировать конфиг (C:\inetpub\wwwroot\wss\VirtualDirectories\80\web.config)

    для этого поместить строку:

    <authorizedType Assembly="WFAGetListName, Version=1.0.0.0, Culture=neutral, PublicKeyToken=7aa7cbcfc095863c" Namespace="WFAGetListName" TypeName="*" Authorized="True" />

    перед тегом </authorizedTypes>

    в блоке <authorizedTypes>>

     Если после этого фича не появится в дизайнере:

    5. Закрыть SP-Designer 2010
    6. почистить кэш (удалить все файлы по след.путям: 
    %APPDATA%\Microsoft\Web Server Extensions\Cache
    И
    %USERPROFILE%\AppData\Local\Microsoft\WebsiteCache\
    )
    7. На всякий случай презапустить IIS
    8. Запустить SP-Designer 2010




    • Помечено в качестве ответа foxmann 12 июля 2012 г. 13:31
    • Изменено foxmann 13 июля 2012 г. 6:42
    12 июля 2012 г. 9:18

Все ответы

  • А у вас трёхэтапный встроенный или сами сделали РП?

    если встроенный, то... http://office.microsoft.com/ru-ru/sharepoint-designer-help/HA101857172.aspx#_Toc264526217

    Трехэтапный рабочий процесс и рабочий процесс "Утверждение ликвидации" не поддерживаются, поскольку они являются компилированными рабочими процессами, для репликации действий которых требуется среда разработки приложений, например Microsoft Visual Studio. В оставшейся части статьи рассматриваются рабочие процессы, поддерживаемые в SharePoint Designer 2010.

    если сами писали, то... просто сами текстом напишите (см. скрин)

    список

    • Изменено igorsss 6 июля 2012 г. 5:17
  • Спасибо за ответ, igorsss

    А у вас трёхэтапный встроенный или сами сделали РП?

    У меня собственный РП, созданный в ШПД-2010

    если сами писали, то... просто сами текстом напишите (см. скрин)

    Не хотелось бы так делать, потому что списки создаются из шаблона, который содержит в себе РП... получается что после создания каждого списка придётся лезть в Дизайнер и руками править название списка (объекта), то же самое после переименования списка.
    Хочется сделать элегантно...

    ------------------------------------------------------------------------------------------------------------

    Похоже что в Дизайнере этого сделать нельзя.... Жаль

    • Изменено foxmann 6 июля 2012 г. 14:24
  • не смог найти в русскоязычном инете описания...

    думаю вам надо искать на гугле, на англицком, либо в ручную корректировать... :) удачи в поиске... 

    или может кто из местных мастеров 50 левела прокачки поможет ;);)


    Мы сами не местные, коды писать не умеем :):):)

    6 июля 2012 г. 15:33
  • А разве кликнув на кнопку "Добавить или изменить подстановку" нету ничего связанного с текущим списком с которым ассоциирован рабочий процесс ?

    Должно быть... (как минимум это стандартный параметр которые передается почти во все activity)


    LinkedIn Profile
    SharePoint Advanced Visibility Options project
    SharePoint Managed Metadata Claims Provider project

    • Изменено HeToC 7 июля 2012 г. 1:22
  • Да, там действительно есть поле "Текущий список", но если выбрать ее (Текущий список -> Имя) - то формуляр "заставляет" заполнять другие поля (Поиск элемента списка) а там ничего об имени списка... По крайней мере, я ничего не смог найти... Прошу прошения , что скриншот на немецком... но там, думаю, всё и так понятно...

    1341820955-clip-42kb

    Если всё-таки кто-нибудь отыщет возможность вытащить имя списка через - буду крайне признателен!

    P.S.

    Link: Get list name in SharePoint Designer workflow

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


    • Изменено foxmann 9 июля 2012 г. 9:15 orfo
  • За пол часа можно написать свой Workflow Action для получения имени списка...


    LinkedIn Profile
    SharePoint Advanced Visibility Options project
    SharePoint Managed Metadata Claims Provider project

    9 июля 2012 г. 15:25
  • За пол часа можно написать свой Workflow Action для получения имени списка...

    Вы наверное имели ввиду, что вы способны за полчаса написать собственный Workflow Action... )
    я  же только начинаю осваивать SP и должен сказать, что в некоторых моментах не вижу абсоютно никакой логики...
    Если тот же трёхэтапный РП умеет считывать имя списка и посылать его, то почему в пользовательском эта функция недоступна...
    опять же, трёхэтапный РП генерирует нормальную ссылку на список, а в пользовательском "абсолютный кодированный УРЛ" -  выводит какую-то билеберду...
    ...
    Теперь похоже придется покупать VisualStudio и пытаться обходить проблемы, которые можно было вообше не иметь...(
    10 июля 2012 г. 11:29
  • Откройте трехэтапный рабочий процесс и посмотрите как там это реализовано и повторите в своем рабочем процессе.

    По поводу Кодированного url - он так называется потомучто url encoded :)

    Все ссылки формируются подстановками по типу [%Task Process:Web URL%]/[%Task Process:Item URL%]

    SharePoint  вообще парадоксальная штука :

     OOTB фичи настраивать - легко,

     шаг вправо - боль,

     шаг влево - reflection

    
    

    LinkedIn Profile
    SharePoint Advanced Visibility Options project
    SharePoint Managed Metadata Claims Provider project

    10 июля 2012 г. 11:47
  • HeToC подскажите, а как открыть ТРЁХ этапный...? он в Дизайнере не видиться... я уже пытался его отыскать... :):):)


    Мы сами не местные, коды писать не умеем :):):)

    10 июля 2012 г. 12:20
  • Точно ) 'Пардоньте' Забыл совсем, что Three-State workflow - рабочий процесс написаный в Visual Studio a не в дизайнере - потому там все так классно сделано :)

    И следовательно в дизайнере его не посмотришь...

    Придется тогда либо писать активити свою как упоминал я выше, либо пытаться както из URL-ов выдирать

    Но в любом случае его можно посмотреть рефлектором :)


    LinkedIn Profile
    SharePoint Advanced Visibility Options project
    SharePoint Managed Metadata Claims Provider project

    
    
    
    • Изменено HeToC 10 июля 2012 г. 12:38
    10 июля 2012 г. 12:29
  •  а рефлектором - это как?

    в принципе, я попробую перефразировать...

    можно ли использовать функцию с ручным набором переменной, как на рисунке ниже, чтоб получить желаемый результат?

    а именно ссылку на Список или Библиотеку и нормальную ссылку на элемент

    1341820955-clip-42kb


    Мы сами не местные, коды писать не умеем :):):)

    10 июля 2012 г. 12:53
  • Все ссылки формируются подстановками по типу [%Task Process:Web URL%]/[%Task Process:Item URL%]

    Кстати, SP-Designer не позволяет производить ручную постановку, выражение типа  [%Task Process:Item URL%] сразу превращается в [%%]  и вызывает *ошибку* рабочего процесса
    SharePoint  вообще парадоксальная штука :

    100% - не поспоришь!

     OOTB фичи настраивать - легко,

    OOTB - Это "Только что из коробки" ?
    11 июля 2012 г. 8:14
  • Как я понял, "рефлектором"  это термин из СИ-программирования (вроде как-бы способ просмотра компилированного исходного кода) если не ошибаюсь. 

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

    Хочу еще поинтересоваться насчет Visual Studio... там их куча версий... какой будет достаточно??

    Есть еще вроде EXPRESS - она даже бесплатная.



    • Изменено foxmann 11 июля 2012 г. 8:24
    11 июля 2012 г. 8:20
  • Foxxman,

    Держите:

    Кастомное действие для SharePoint Designer - Получение имени текущего списка.

    там wsp + исходники и краткое описание как установить.


    LinkedIn Profile
    SharePoint Advanced Visibility Options project
    SharePoint Managed Metadata Claims Provider project

    • Помечено в качестве ответа foxmann 12 июля 2012 г. 13:22
    11 июля 2012 г. 9:18
  • Спасибо огромное, HeToC!

    Скачал

    wfagetlistname.wsp

     установил SP_Power-shell:

    add-spsolution C:\install\wfagetlistname.wsp

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

    Be sure to modify web config after installing solution

    Т.e. "не забудьте внести изменения в вэб-конфигурацию после установки"... а где именно?
    • Изменено foxmann 11 июля 2012 г. 12:58
    11 июля 2012 г. 12:57
  • web.config - в папках c:\inetbub\wwwroot\wss\VirtualDirectories\

    Не забудте активировать фичу


    LinkedIn Profile
    SharePoint Advanced Visibility Options project
    SharePoint Managed Metadata Claims Provider project

    • Изменено HeToC 11 июля 2012 г. 13:11
    11 июля 2012 г. 13:07
  • Да, конечно,

    активировал через Центральное администрирование.

    Внес изменения в конфиг (вставил строку: 

    <authorizedType Assembly="WFAGetListName, Version=1.0.0.0, Culture=neutral, PublicKeyToken=7aa7cbcfc095863c" Namespace="WFAGetListName" TypeName="*" Authorized="True" /> 

    последней в блоке <authorizedTypes>...</authorizedTypes> )

    Как теперь увидеть, что именно делает это решение?

    11 июля 2012 г. 13:56
  • Открыть SharePoint Designer

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

    Добавить действие:


    LinkedIn Profile
    SharePoint Advanced Visibility Options project
    SharePoint Managed Metadata Claims Provider project

    11 июля 2012 г. 14:08
  • хм... у меня в экшенах он не появился...

    может после изменения конфига надо было чего-нибудь перезапустить?

    11 июля 2012 г. 14:24
  • Для этого рекоммендуется почистить кэш дизайнера

    1. Close SPD.

    2. Open “My Computer”.

    3. Go to %APPDATA%\Microsoft\Web Server Extensions\Cache and %USERPROFILE%\AppData\Local\Microsoft\WebsiteCache\

    4. Go to a directory that looks similar to the name of the website you were connecting to. (Alternatively, you can just delete all these directories and everything should work when you boot SPD).

    5. Delete the assembly with the name similar to the one you are changing.

    6. Boot SPD.

    7. You can now work with your updated activity.


    LinkedIn Profile
    SharePoint Advanced Visibility Options project
    SharePoint Managed Metadata Claims Provider project

    • Изменено HeToC 11 июля 2012 г. 15:00
    11 июля 2012 г. 14:58
  • Действия по установки решения WFAGetListName от HeToC:

    1. Скопировать wsp-файл на сервер
    2. Развернуть решение с помощью SP Power-shell: add-spsloution c:\file_path_and_name

    1342083857-clip-15kb

    3. Активировать (подготовить) решение в "центре администрирования":

    1342084068-clip-13kb

    3a. Активировать фичу на сайте :
    sp_feature_active

    4. Отредактировать конфиг (C:\inetpub\wwwroot\wss\VirtualDirectories\80\web.config)

    для этого поместить строку:

    <authorizedType Assembly="WFAGetListName, Version=1.0.0.0, Culture=neutral, PublicKeyToken=7aa7cbcfc095863c" Namespace="WFAGetListName" TypeName="*" Authorized="True" />

    перед тегом </authorizedTypes>

    в блоке <authorizedTypes>>

     Если после этого фича не появится в дизайнере:

    5. Закрыть SP-Designer 2010
    6. почистить кэш (удалить все файлы по след.путям: 
    %APPDATA%\Microsoft\Web Server Extensions\Cache
    И
    %USERPROFILE%\AppData\Local\Microsoft\WebsiteCache\
    )
    7. На всякий случай презапустить IIS
    8. Запустить SP-Designer 2010




    • Помечено в качестве ответа foxmann 12 июля 2012 г. 13:31
    • Изменено foxmann 13 июля 2012 г. 6:42
    12 июля 2012 г. 9:18
  • Пойдет.

    Проверил на чистом серваке, все работает.

    ПС: Кэш чистить надо ессно на том компе где SharePоint Designer


    LinkedIn Profile
    SharePoint Advanced Visibility Options project
    SharePoint Managed Metadata Claims Provider project

    12 июля 2012 г. 11:44
  • Оказывается я не правильно понял "активировать фичу" надо было активировать не только в центральном администрировании, но и сайте (на скрине она уже активна):

    1342096908-clip-20kb

    После этого фича появиласть в SPD:

    1342097366-clip-25kb

    12 июля 2012 г. 12:51
  • Супер !

    Как только руки дойдут - опишу детально все шаги установки на сайте проекта


    LinkedIn Profile
    SharePoint Advanced Visibility Options project
    SharePoint Managed Metadata Claims Provider project

    12 июля 2012 г. 13:31