Для чего-то подобного я бы использовал приемник событий ItemUpdated , чтобы записать сведения о том, кто обновил форму, в отдельный список audit . Затем вы можете просто запросить список аудита, чтобы получить нужный отчет.
Чтобы реализовать это, сначала создайте список аудита, содержащий поля для имени формы и имени пользователя (а также всего, что, по вашему мнению, было бы полезно зарегистрировать). Затем создайте Event Receiver, производный от SPItemEventReceiver. Получатель должен будет работать только с библиотеками форм. В получателе событий переопределите метод ItemUpdated, чтобы проверить, что обновленный элемент является формой, и, если это так, зарегистрируйте имя обновленной формы и пользователя, который обновил ее, в списке аудита.
Существует очень похожий пример для этого в http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spitemeventreceiver.aspx,, хотя он использует метод ItemAttachmentAdded, а не ItemUpdated.
Некоторые другие учебные пособия, которые могут быть вам полезны: здесь и здесь .