Загрузить в библиотеку документов - PullRequest
2 голосов
/ 09 июня 2009

Существует ли программный способ различения между добавлением нового документа и загрузки документа в библиотеку документов? (Мосс 2007)

Я хочу, чтобы при загрузке документа вызывалось событие ItemAdded только после того, как были заполнены некоторые обязательные поля, по умолчанию оно вызывается, как только выполняется сама загрузка, перейдя к файлу и нажав кнопку ОК ...

Спасибо

Ответы [ 3 ]

1 голос
/ 10 июня 2009

Возможно, вы сможете проверить свойства до и после события ItemAdded, но я сомневаюсь, что будет надежная разница.

0 голосов
/ 15 июня 2009

Предполагая, что основное управление версиями включено для библиотеки документов,

Настройки Doc Lib> Настройки версий> Основные версии

Следующие значения могут использоваться для определения, является ли это первой версией в событии ItemCheckedIn,

properties.ListItem.Versions [0] .VersionID (512 - это значение для первого Версия) properties.ListItem.Versions [0] .VersionLabel («1.0» - это значение для первого Версия)

Note-Verions [0] обозначает текущую версию.

Таким образом, можно выполнять функциональность ItemAdded в приемнике событий ItemCheckedIn.

0 голосов
/ 11 июня 2009

Боюсь, это очень сложно сделать программно, потому что

  • Когда документ загружается с использованием New, происходит только событие create
  • Когда документ загружается с помощью Upload, возникает событие create, когда файл загружается, и обновление, когда (и если) обновляются свойства. Но свойства обновляются при обновлении системы, поэтому событие обновления не запускается.

После добавления документа я согласен с Nat, что достоверной разницы не будет.

Но Джон Пауэлл написал статью о том, как разделить New и Upload с помощью рабочего процесса в следующей статье Вы можете сделать то же самое, добавив необходимую логику в этот рабочий процесс.

Надеюсь, это поможет,

Энрико

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...