none
Sharepoint 2010 - обновление статуса в списке RRS feed

  • Вопрос

  • Есть список с тремя столбцами (см. картинку), статус показывает какой период времени задан. если до даты начала - "не Начата", если период выпадает между датами то "в работе", если после даты конца - "Завершена". подскажите как заставить меняться статус автоматически.

    Сделал столбец "Статус" вычисляемым полем с формулой: "=ЕСЛИ([Дата окончания]<=СЕГОДНЯ();"Завершена";(ЕСЛИ([Дата начала]<=СЕГОДНЯ();"В работе";"Не начата")))". При добавлении элемента все работает отлично. Но с течением времени статус не меняется.

    P.S. Это не постановка задач.

    22 сентября 2014 г. 5:53

Ответы

  • Вы знаете, я перечитал Ваше сообщение.
    Указанное поле "Статус" будет меняться если пользователь зайдет и сохранит форму.
    Самостоятельно данные не будут обновляться.
    Вам необходимо обновлять значения через timerJob.

    • Помечено в качестве ответа Leonov Pavel 22 сентября 2014 г. 8:24
    22 сентября 2014 г. 7:08

Все ответы

  • Попробуйте использовать JavaScript или добавьте EventReceiver на C#.
    Так же можете использовать рабочий процесс.

    А как Вы изменяете поле "Дата окончания"?
    22 сентября 2014 г. 6:29
  • Дату начала и Дату окончания, пользователь выбирает ручками при добавлении элемента. Можно про рабочий процесс поподробнее? если знаете, дайте пожалуйста адекватную ссылку с примерами..

    22 сентября 2014 г. 7:04
  • Вы знаете, я перечитал Ваше сообщение.
    Указанное поле "Статус" будет меняться если пользователь зайдет и сохранит форму.
    Самостоятельно данные не будут обновляться.
    Вам необходимо обновлять значения через timerJob.

    • Помечено в качестве ответа Leonov Pavel 22 сентября 2014 г. 8:24
    22 сентября 2014 г. 7:08
  • Спасибо, Александр! Буду разбираться с TimerJob )
    22 сентября 2014 г. 8:24
  • я могу ошибаться,  а рабочий процесс не подойдет как альтернатива?
    я конечно же выбрал бы евент рессивер или JS.

    22 сентября 2014 г. 8:34
  • Смысл видимо в том, что бы данные обновлялись.
    В вычисляемом поле используется функция:
    СЕГОДНЯ()
    В общем самое простое решение использовать TimerJob.
    Ну или PowreShell скрипт по расписанию.
    22 сентября 2014 г. 9:26