Ми мали розвиненою InfoPath форми з кількома поданнями для підтримки нового Прокат / процес-інтернат. Коли компанія наймає новою людиною, відділ інформаційних технологій та інші групи потрібно вжити (Настроювання заробітної плати, Дозволити доступ до відповідних програм, Знайдіть на обслуговування, д). Ми використовуємо на формі, але інше подання форми для кожного з цих функцій.
У цій компанії, Більшість людей, що беруть участь в бізнес-процесу, ІТ підкований, тому, коли вони отримати доступ до форми, їх подання за промовчанням є "меню" Перегляд за допомогою кнопки, яка направляти їх певну функцію. Однак, нам необхідно спростити речі для нових прокат безпосередній керівник. Ця людина не повинні бачити будь-якої з ІТ пов'язані речі. Насправді, вона повинна переглянути лише одне подання, форми і навіть не параметр, щоб побачити інші переглядів.
У нашому випадку, що прямі, керівника обліковий запис безпосередньо пов'язана з форми люб'язно надані до засіб вибору контактів (який я завжди бажаючі називати "люди палітра" з різних причин).
Кроки є наступні:
1. У режимі конструктора, Виберіть сервіс-> Параметри форми-> Відкриття та збереження.
2. Виберіть "правила".
3. Створити нове правило, дія якої є "Перейти до перегляду" і чий умова використовує ім'я користувача() функція.
ім'я користувача() Повертає «простий" ім'я користувача без домену. Якщо я увійти в SharePoint з даними для "domainpagalvin", ім'я користувача() Повертає "pagalvin".
Контактна селектор надає три біта інформації контакту. "AccountID" частина є найбільш корисним для цього сценарію. Єдина річ, яка робить це ще трохи проблемою є те, що селекторі контактів (в моєму оточенні все одно) Повертає домену та користувача Ідентифікатор, як і в "domainpagalvin". Це заважає нам робити прямий рівності умову з AccountID ("domainpagalvin") ніколи не буде дорівнює ім'я користувача() ("pagalvin").
Ми може обійти це, використовуючи до "містить" Оператор: AccountID містить ім'я користувача().
Ми можемо прийняти його далі і pre панда жорстко домену перед ім'я користувача() функцію, щоб отримати наші рівності виїзду і виключити ризик помилкове спрацьовування на що містить оператор.
Ми б дійсно як автоматичне переключення подання для інших користувачів на основі їх оголошення групи безпеки членство. Наприклад, Коли член "це аналітика" Група отримує доступ до форми, автоматичне переключення до подання ІТ аналітика. У нас не було часу для його здійснення, але моя перша думка, щоб створити веб-служби, яка є метод, як "IsMemberOfActiveDirectorySecurityGroup", передати його ім'я користувача() і повернутися назад true або false. Хто-небудь є будь-який інший, більш розумна ідея? Чи є будь-яка функція SharePoint, ми можемо використовувати з InfoPath прийняти таке рішення?
</кінець>
Багато спасибі пан. Пол
Pingback: Перемикач InfoPath подання на основі користувача « Sladescross в блозі