Am avut o dezvoltat un formular InfoPath cu mai multe vizualizări pentru a sprijini o locație nouă / procesul de pe-internat. Când compania angajeaza persoana noi, departamentul IT şi alte grupuri trebuie să ia măsuri (parametrizaţi salarizare, permite accesul la aplicaţii corespunzătoare, Localizaţi un birou, etc). Vom folosi pe forma, dar o opinie diferită de forma pentru fiecare dintre aceste funcţii.
La această societate, cele mai multe dintre persoanele implicate în procesul de afaceri eşti IT-savvy, asa ca atunci cand au acces la forma, vizualizarea lor implicită este un meniu"" Vezi cu butoane care le direct la funcţia lor specifice. Cu toate acestea, avem nevoie de a simplifica lucrurile pentru noi de inchiriat directe manager. Această persoană nu ar trebui să vedeţi orice de IT chestii legate de. de fapt, ea ar trebui să vedeţi doar o vizualizare a formularului şi nu au chiar o opţiune pentru a vedea alte vizualizări.
În cazul nostru, care directă a managerului de cont este direct legat de formă curtoazie de un selectorul de contact (care am sunt întotdeauna doresc să numim "oameni selectorul de" pentru un motiv oarecare).
Paşii sunt după cum urmează:
1. În modul proiectare, du-te la Tools-> Opţiuni formular-> Deschiderea şi salvarea.
2. Selectaţi "reguli".
3. Crearea unei reguli noi ale căror acţiune este "comutare pentru a vizualiza" şi ale căror condiţie pârghii numele de utilizator() funcţia.
userName() Întoarce "simplu" numele de utilizator fără domeniu. Dacă eu log în SharePoint cu acreditări de "domainpagalvin", userName() Întoarce "pagalvin".
Selectorul de contacte oferă trei biţi de informaţii pentru un contact. "AccountID" porţiune este cel mai util pentru acest scenariu. Singurul lucru care face acest lucru chiar şi un pic de provocare este că selectorul de contact (în mediul meu oricum) Întoarce Identificatorul de domeniu şi de utilizator, ca în "domainpagalvin". Aceasta ne împiedică de la a face un afecţiune egalitatea de drept-înainte de AccountID ("domainpagalvin") niciodată nu este echivalent cu nume de utilizator() ("pagalvin").
Putem obţine în jurul acest folosind "conţine" operatorul: AccountID conţine nume de utilizator().
Putem lua it suplimentare şi pre-Comitatul pend un domeniu greu codificate în faţa numele de utilizator() funcţia de a obţine noastre selectare egalitatea şi elimina riscul de fals pozitivă pe conţine operatorului.
Vom avea cu adevărat ca să comuta automat Vezi pentru alt users bază on lor membru al grupului de securitate AD. De exemplu, atunci când un membru al "IT Analytics" Grupa accesează formularul, comuta automat la vizualizarea de analiză IT. Nu am avut timp să pună în aplicare, dar primul meu gând este de a crea un serviciu web care ar avea o metodă ca "IsMemberOfActiveDirectorySecurityGroup", să-l daţi numele de utilizator() şi a reveni înapoi adevărat sau fals. Oricine are orice alte, idee geniala mai multe? Există orice funcţie de SharePoint noi puteţi pârghie de InfoPath să facă determinarea?
</scop>
Multe mulţumiri Mr. Paul
Pingback: Vezi InfoPath Switch bazate pe utilizator « Sladescross pe Blog