Как форма InfoPath может получить утверждения пользователя, вошедшего в SharePoint?

У нас есть библиотека документов, содержащая список предложений (формы InfoPath). Пользователи входят в систему через SharePoint, используя утверждения (проверка подлинности с помощью форм, через экстранет), которые принадлежат различным организациям. Формы открываются в InfoPath на клиенте. Форма InfoPath содержит поле, к какой организации принадлежит предложение (список выбора), которое пользователь затем выбирает при заполнении формы.

Мы написали настраиваемого поставщика утверждений, который дополняет логин каждого пользователя заявлением организации.

Когда пользователь открывает предложение из SharePoint в заполнителе форм InfoPath, мы хотели бы:

  • Предварительно заполните список выбора организации организацией, соответствующей заявлению пользователя.
  • Ограничьте сохранение формы (вставку и обновление), если значение утверждения пользователя для организации не соответствует выбранной организации в форме

Мне интересно, как получить информацию о претензиях в InfoPath. Или для идей о том, как сделать это на стороне сервера, используя настраиваемый рабочий процесс / приемник событий / веб-службу (или что-то еще).


person umbyersw    schedule 11.04.2012    source источник


Ответы (2)


Вот базовое руководство по получению утверждений из SharePoint 2010. Поместите его в код своей формы InfoPath. http://msdn.microsoft.com/en-us/library/ee535731.aspx

В идеале вы хотите вызвать код из метода FormEvents_Loading вашей формы InfoPath, и если организация пользователя недействительна, создайте логическое значение, которое, если оно равно false, предотвратит отправку формы. Это будет сделано в методе FormEvents_Submit.

person Meyer Denney    schedule 11.04.2012
comment
Я уже создал настраиваемого поставщика утверждений по ссылке Microsoft. Сложнее всего прочитать претензию в форме InfoPath. Не могли бы вы уточнить эти детали? - person umbyersw; 12.04.2012
comment
На самом деле я никогда не делал этого специально, но в PDF-файле есть хороший образец кода, расположенный microsoft.com/download/en/ Удачи! - person Meyer Denney; 12.04.2012
comment
Пример кода реализует настраиваемого поставщика утверждений (опять же, у меня уже есть рабочая реализация поставщика утверждений). Я не вижу ничего, что могло бы получить утверждения пользователя из InfoPath. - person umbyersw; 12.04.2012
comment
Извините, я неправильно понял ваш вопрос. Не можете ли вы получить претензии пользователей из кода формы InfoPath? - person Meyer Denney; 12.04.2012
comment
Думаю, это тот же вопрос, который я задаю. :) - person umbyersw; 20.04.2012

Я не уверен, работает ли это для вашей конкретной реализации, однако вы можете установить источник данных для элементов управления вводом (раскрывающиеся списки, списки и т. Д.), Которые будут извлекаться из веб-службы.

Затем вы можете использовать скрытые поля в электронной форме, которые заполняются необходимыми метаданными, такими как идентификатор пользователя. Эти значения впоследствии передаются в веб-службу, а возвращаемый результат (список или что-то еще) привязывается к желаемым элементам управления в электронной форме.

person Warren Rox    schedule 20.04.2012
comment
Хм, так как на стороне сервера искать заявки на произвольный идентификатор пользователя? (Учитывая, что мое настраиваемое утверждение назначается пользователю только тогда, когда пользователь сам входит в систему) - person umbyersw; 20.04.2012