Vi havde en udviklede en InfoPath-formular med flere visninger til at støtte en ny leje / på boarding proces. Når virksomheden ansætter en ny person, IT-afdelingen og andre grupper skal handle (nedsat løn, Aktiver adgang til passende programmer, Find skrivebord, osv). Vi bruger på form, men en anden opfattelse af formen for hver af disse funktioner.
På dette selskab, de fleste af de mennesker, der er involveret i forretningsprocessen er IT-kyndige, så når de får adgang til formen, deres standard se på er en "menu" Se med knapper, der direkte dem til deres specifikke funktion. Dog, Vi havde brug at forenkle tingene for nye leje direkte manager. Denne person skal ikke se nogen af IT-relaterede ting. Faktisk, hun skal kunne se bare én visning af formularen og ikke selv har mulighed for at se de andre visninger.
I vores tilfælde, der direkte konto er direkte bundet til formularen høflighed af en Kontakt selector (som jeg altid ønsker at kalde en "mennesker picker" for anden grund).
Trinene er som følger:
1. I designtilstand, gå til værktøjer-> Formularindstillinger-> Åbne og gemme.
2. Vælg "regler".
3. Oprette en ny regel, hvis indsats er "skifte for at se" og hvis tilstand udnytter brugernavnet() funktion.
userName() Returnerer "simpelt" brugernavnet uden domænet. Hvis jeg logger på SharePoint med legitimationsoplysninger "domainpagalvin", userName() Returnerer "pagalvin".
Den kontakt selector giver tre bits af oplysninger for en kontaktperson. "AccountID" del er mest nyttige i dette scenarie. Det eneste, der gør det endda en lille smule af udfordring er, at den kontakt selector (i mit miljø alligevel) Returnerer det domæne og bruger-ID, som i "domainpagalvin". Dette forhindrer os i at gøre en straight-forward ligestilling tilstand siden AccountID ("domainpagalvin") vil aldrig være lig med brugernavnet() ("pagalvin").
Vi kan komme uden om dette ved hjælp af "indeholder" operatør: AccountID indeholder brugernavnet().
Vi kan tage det længere og pre-pend en hard-coded domæne foran brugernavnet() funktion til at få vores ligestilling check og fjerne risikoen for en falsk positiv på den indeholder operatør.
Vi havde virkelig gerne automatisk skifte visning for andre brugere baseret på deres annonce sikkerhedsgruppemedlemskab. For eksempel, Når et medlem af "det Analytics" Gruppen får adgang til formen, automatisk skifte til visningen IT Analytics. Vi har ikke haft tid til at gennemføre det, men min første tanke er at oprette en web-tjeneste, der ville have en metode, som "IsMemberOfActiveDirectorySecurityGroup", pass det Brugernavn() og vende tilbage sandt eller falsk. Er der nogen der har nogen andre, mere klog idé? Er der nogen SharePoint funktion vi kan udnytte fra InfoPath til at træffe denne afgørelse?
</slutningen>
Mange tak hr.. Paul
Pingback: InfoPath skifte visning baseret på brugeren « Sladescross's Blog