Mieliśmy opracowany formularza programu InfoPath, z wielu widoków do obsługi nowych Wynajem / na pokład proces. Kiedy firma wynajmuje nową osobę, dział IT i innych grup trzeba podjąć działania (Konfigurowanie listy płac, umożliwienia dostępu do odpowiednich aplikacji, Zlokalizuj biurko, itp). Używamy na formie, ale inny widok formularza dla każdej z tych funkcji.
W tej firmie, Większość ludzi zaangażowanych w proces biznesowy IT-bystry, więc kiedy oni dostępu do formularza, ich widok domyślny jest "menu" widok z przycisków, które kierują je do ich szczególnych funkcji. Jednakże, nam potrzebne uprościć do bezpośredniego przełożonego wynajem nowy. Ta osoba nie powinna zobaczyć rzeczy związanych z IT. W zasadzie, ona powinna zobaczyć tylko jeden widok formularza i nawet nie ma opcji aby zobaczyć inne poglądy.
W naszym przypadku, bezpośrednie Menedżera konta jest bezpośrednio powiązana z postaci dzięki uprzejmości skontaktować się selektora (co jestem zawsze chcą nazwać "ludzie picker" z jakiegoś powodu).
Kroki są następujące:
1. W trybie projektowania, Przejdź do menu Narzędzia-> Opcje formularza-> Otwieranie i zapisywanie.
2. Wybierz "zasady".
3. Utwórz nową regułę, w której akcja jest "Przełącz się na widok" i którego stan wykorzystuje nazwę użytkownika() Funkcja.
Nazwa użytkownika() zwraca "simple" Nazwa użytkownika bez domeny. Czy zalogować się do programu SharePoint przy użyciu poświadczeń "domainpagalvin", Nazwa użytkownika() zwraca wartość "pagalvin".
Kontakt z selektor zawiera trzy bity informacji o kontakt. "AccountID" część jest najbardziej przydatne dla tego scenariusza. Jedyną rzeczą, która sprawia, że jest to nawet trochę z wyzwaniem jest to, że kontakt z selektora (w moim środowisku tak) zwraca identyfikator domeny i użytkownika, Podobnie jak w "domainpagalvin". To zabezpiecza nas przed tym warunku równości prosta od AccountID ("domainpagalvin") nigdy nie będzie równa użytkownika() ("pagalvin").
My puszka metalowa dostać wokoło ten za pomocą "zawiera" operatora: AccountID zawiera nazwę użytkownika().
Możemy go dalej i pre-pend zakodowane domeny przed nazwa użytkownika() funkcja, aby sprawdzić nasze równości i wyeliminować ryzyko pewien fa³szywy pozytywny na zawiera operator.
Mamy naprawdę jak automatyczne przełączanie widoku dla innych użytkowników na podstawie ich członkostwa grup zabezpieczeń AD. Na przykład, gdy członek "to Analytics" Grupa uzyskuje dostęp do formularza, automatycznie Przełącz do widoku IT Analytics. Nie mieliśmy czasu, aby je wdrożyć, ale moja pierwsza myśl jest stworzenie serwisu, który miałby Metoda jak "IsMemberOfActiveDirectorySecurityGroup", przekazać nazwę użytkownika() i Powrót powrót true lub false. Ma ktoś inne, Więcej sprytny pomysł? Jest tam dowolnej funkcji programu SharePoint, które możemy wykorzystać z programu InfoPath do tego ustalenia?
</koniec>
Wiele dzięki Pana. Paul
Pingback: Program InfoPath zmien widok oparty na użytkownika « Sladescross's Blog