Мы распрацавалі формы InfoPath з некалькімі ўяўленнямі для падтрымкі новага супрацоўніка / on-boarding process. When the company hires a new person, ІТ-аддзела і іншых груп павінны прыняць меры (створана заработнай платы, забяспечыць доступ да адпаведных прыкладанням, знайсці стол, і г.д.). We use on form but a different view of the form for each of those functions.
У гэтай кампаніі, большасць людзей, якія ўдзельнічаюць у бізнес-працэсе з'яўляюцца IT-падкаваных, таму, калі яны атрымліваюць доступ да форме, their default view is a "menu" view with buttons that direct them to their specific function. Аднак, we needed to simplify things for the new hire’s direct manager. This person should not see any of the IT related stuff. На самай справе, яна павінна ўбачаць толькі адзін від на форме і нават не маюць магчымасць убачыць іншыя меркаванні.
У нашым выпадку, што кошт прамога мэнэджара напрамую звязана з формай ласкі Выбар кантактаў (which I am always wanting to call a "people picker" па некаторых прычынах).
Меры заключаюцца ў наступным:
1. У рэжыме канструктара, перайдзіце ў меню Сэрвіс -> Параметры формы -> Адкрыць і Захаваць.
2. Select "rules".
3. Create a new rule whose action is "switch to view" і чый стан выкарыстоўвае імя карыстальніка() функцыя.
имя_пользователя() returns the "simple" user name without the domain. If I log into SharePoint with credentials "domain\pagalvin", имя_пользователя() returns "pagalvin".
The contact selector provides three bits of information for a contact. The "AccountID" portion is most useful for this scenario. The only thing that makes this even a little bit of challenge is that the contact selector (у маім асяроддзі ўсё роўна) вяртае імя дамена і карыстальніка ID, as in "domain\pagalvin". This prevents us from doing a straight-forward equality condition since AccountID ("domain\pagalvin") ніколі не будзе роўная имя_пользователя() ("pagalvin").
We can get around this using the "contains" аператар: AccountID ўтрымлівае имя_пользователя().
Мы можам узяць яго, а таксама папярэдне залежаць жорстка дамена перад імем карыстальніка() функцыю, каб атрымаць нашу раўнавагу праверыць і выключыць рызыку ілжывых спрацоўванняў на аператара ўтрымлівае.
We would have REALLY like to automatically switch view for other users based on their AD security group membership. Напрыклад, when a member of the "IT Analytics" група атрымлівае доступ да форме, automatically switch to the IT Analytics view. We didn’t have time to implement it, but my first thought is to create a web service that would have a method like "IsMemberOfActiveDirectorySecurityGroup", перадаць яго імя карыстальніка() and return back true or false. Does anyone have any other, больш разумная думка? Is there any SharePoint function we can leverage from InfoPath to make that determination?
</канец>
Вялікі дзякуй г-н. Пол
Pingback: Infopath Switch View Based On User « Sladescross's Blog