Interruttore vista basato sull'ID utente In un modulo di InfoPath

Abbiamo avuto un sviluppato un modulo di InfoPath con viste multiple per sostenere un nuovo noleggio / processo di on-boarding. Quando l'azienda assume una nuova persona, il reparto IT e altri gruppi è necessario agire (set up payroll, consentono di accedere alle applicazioni appropriate, individuare una scrivania, ecc). Utilizziamo il modulo, ma una visione diversa del modulo per ognuna di queste funzioni.

In questa società, la maggior parte delle persone coinvolte nel processo di business sono IT-savvy, così, quando si accedere al modulo, loro visualizzazione predefinita è un menu"" Mostra con pulsanti che indirizzarli alla loro specifica funzione. Tuttavia, Abbiamo bisogno di semplificare le cose per responsabile diretto di nuova assunzione. Questa persona non dovrebbe vedere che qualsiasi di esso correlato roba. Infatti, Lei dovrebbe vedere solo una visualizzazione del modulo e nemmeno avere la possibilità di vedere le altre visualizzazioni.

Nel nostro caso, che diretta account manager è direttamente legato alla forma di cortesia di un contatti Selettore (che ho sempre voglia di chiamare una selezione di utenti"" per qualche motivo).

I passaggi sono come segue:

1. In modalità progettazione, Vai a strumenti-> Opzioni di forma-> Aprire e salvare.

2. Selezionare "regole".

3. Creare una nuova regola cui azione è "switch per visualizzare" e la cui condizione sfrutta il userName() funzione.

userName() Restituisce il semplice"" nome utente senza il dominio. Se accedo al SharePoint con credenziali "domainpagalvin", userName() Restituisce "pagalvin".

Il selettore di contatto fornisce tre bit di informazioni per un contatto. Il "AccountID" porzione è più utile per questo scenario. L'unica cosa che lo rende anche un po' di sfida è che il selettore di contatto (nel mio ambiente comunque) Restituisce l'ID utente e dominio, come in "domainpagalvin". Questo ci impedisce di fare una condizione di uguaglianza semplice dal AccountID ("domainpagalvin") non sarà mai uguale userName() ("pagalvin").

Possiamo ottenere tutto questo utilizzando il "contiene" Operatore: AccountID contiene userName().

Possiamo prendere ulteriormente e pre-pend un dominio hard-coded davanti al nome utente() funzione per ottenere il nostro controllo di uguaglianza ed eliminare il rischio di un falso positivo sulla contiene operatore.

Ci sarebbe davvero piaciuto passare automaticamente vista per altri utenti in base alla loro appartenenza al gruppo di sicurezza AD. Per esempio, Quando un membro del "esso Analytics" gruppo accede a forma, passare automaticamente alla visualizzazione Analitica IT. Non abbiamo avuto tempo per la sua attuazione, ma il mio primo pensiero è quello di creare un servizio web che avrebbe un metodo come "IsMemberOfActiveDirectorySecurityGroup", passare il nome utente() e tornare indietro true o false. Qualcuno ha qualsiasi altro, idea più intelligente? C'è qualche funzione di SharePoint che possiamo sfruttare da InfoPath per rendere tale determinazione?

</fine>

Technorati Tags:

3 pensieri su "Interruttore vista basato sull'ID utente In un modulo di InfoPath

  1. Pingback: Vista di interruttore di InfoPath basato su utente « Blog di Sladescross

Lasciare una risposta

L'indirizzo email non verrà pubblicato. i campi richiesti sono contrassegnati *