Växla vy baserat på användar-ID i ett InfoPath-formulär

Vi hade ett utvecklat ett InfoPath-formulär med flera vyer att stödja en ny hyra / på ombordstigning process. När företaget anställer en ny person, IT-avdelningen och andra grupper måste vidta åtgärder (Ställ in löne, Aktivera åtkomst till lämpliga program, Leta upp ett skrivbord, m.m.). Vi använder på form men en annan vy av formuläret för var och en av dessa funktioner.

På detta företag, de flesta av inblandade i affärsprocessen är IT-kunniga, så när de öppnar formuläret, deras standardvyn är en "meny" Visa med knappar som hänvisa dem till sin specifika funktion. Men, Vi behövde för att förenkla saker och ting för den nya hyra direkt manager. Denna person bör inte se någon av IT relaterade saker. I själva verket, hon bör se en vy av formuläret och inte ens har en möjlighet att se andra vyer.

I vårt fall, som rikta chefens konto är direkt kopplad till formuläret artighet av en Kontakta selector (som jag alltid vill kalla en "människor picker" av någon anledning).

Stegen är följande:

1. I designläge, gå till verktyg-> Formuläralternativ-> Öppna och spara.

2. Välj "regler".

3. Skapa en ny regel vars verkan är "växla för att Visa" och vars villkor utnyttjar användarnamn() funktionen.

Användarnamn() Returnerar det "enkelt" Användarnamnet utan domän. Om jag loggar in på SharePoint med autentiseringsuppgifter "domainpagalvin", Användarnamn() Returnerar "pagalvin".

Kontakt väljaren ger tre bitar av information för en kontakt. "AccountID" del är mest användbar för detta scenario. Det enda som gör detta ännu lite utmaning är att kontakta väljaren (i min omgivning ändå) Returnerar domän och användar-ID, som i "domainpagalvin". Det hindrar oss från att göra en enkel jämlikhet förutsättning sedan AccountID ("domainpagalvin") kommer aldrig vara lika användarnamn() ("pagalvin").

Vi kan komma runt detta med den "innehåller" operatör: AccountID innehåller användarnamn().

Vi kan ta det vidare och pre-pend en hårdkodad domän framför användarnamnet() funktion för att få vår jämställdhet check och eliminera risken för ett falskt positivt på den innehåller.

Skulle vi verkligen gillar att automatiskt växla vy för andra användare baserat på deras annons säkerhetsgrupptillhörighet. Till exempel, När en medlem av "det Analytics" gruppen har åtkomst till formuläret, automatiskt växla till vyn IT Analytics. Vi hade inte tid att genomföra det., men min första tanke är att skapa en webbtjänst som skulle ha en metod som "IsMemberOfActiveDirectorySecurityGroup", passera det användarnamn() och återvända tillbaka sant eller falskt. Har någon någon annan, mer smart idé? Finns det någon SharePoint-funktion som vi kan utnyttja från InfoPath att göra detta konstaterande?

</slutet>

Technorati Tags:

3 tankar på "Växla vy baserat på användar-ID i ett InfoPath-formulär

  1. Pingback: InfoPath Växla vy baserat på användaren « Kakafonis blogg

Lämna svar

Din e-postadress kommer inte att publiceras. behövliga fält är markerade *