none
Timer Job автоматически отправляющий сообщения по почте RRS feed

  • Вопрос

  • Добрый день,

    Я - новичок в SP2013. Недавно столкнулся с задачей по написанию таймер джоба, который отправлял бы уведомления по почте. Есть список "Задачи по разработке" и два поля "Срок"  - дата и "Назначено" - пользователи и группы. Необходимо написать таймер джоб, который бы проверял текущую дату и дату из поля "Срок"и, если "Сегодня" = "Дата" из поля списка. то отправляется сообщение пользователям из поля "Назначено" (пользователей может быть несколько). 

    Честно говоря смог только проект создать

    Подскажите, пожалуйста, как можно реализовать данный таймер джоб :)

    Заранее благодарю)


    • Изменено Ivan.T 13 января 2015 г. 12:49
    13 января 2015 г. 10:01

Ответы

Все ответы

  • Добрый день,

    на english, но в картинках:

    Step by Step procedures to create a Timer Job in SharePoint 2013

    Step by Step procedures to create a Timer Job in SharePoint 2013

    A Complete Guide to Writing Timer Jobs in SharePoint 2010

    Как заработает простейший таймер, далее спрашивайте конкретно что не получается.
    13 января 2015 г. 11:30
  • Если стандарт, то можно политикой управления сведениями -

    Information Management Policy Settings

    предварительно создав рабочий процесс в дизайнере. Еще есть Harepoint workflow бесплатная тулза. если это фоундейшен. Он сможет по расписанию пробегать по всем элементам и запускать РП

    13 января 2015 г. 12:30
  • Спасибо за ответ, но Workflow не подойдет
    13 января 2015 г. 12:46
  • Спасибо за ответ, картинки - это не плохо. 2-ю статью даже юзал. Но мне не понятно, как вытаскивать данные из списка, чтобы отправить сообщение, как сравнить с нужным временем и как вообще отправить сообщение :)
    13 января 2015 г. 13:27
  • Извиняюсь почему не подойдет?

    Создаете воркфлоу состоящие из двух строк.

    первое сравнение времени.

    Второе отправка почты.

    И назначаете этт воркфлоу Harepoint. Он будет обходить каждый элемент и запускать это РП.

    Или еще проще. создаете РП из одной строчки. Отправить почту. Настраиваете Information Management Policy Settings запускаться если дата в столбце +1  = дата сегодня. 

    И все будет РП рассылаться.

    13 января 2015 г. 14:49
  • Изначально у меня был рабочий процесс в SPDesigner.

    Там я сравнивал время - если подошло - отправлял на почту, если нет делал "паузу до даты" и только потом отправлял. Но проблема в том, что эта пауза "замораживает" рабочий процесс. И если я, например, захочу поменять дату, то рабочий процесс будет работать со старой датой, т.к. он приостановлен. Другого метода отправки в определенной время в дизайнере, я не нашел. Поэтому решил смотреть в сторону таймер - джоба. c harepoint workflow не сталкивался. :)

    может вы мне про таймер - джоб лучше подскажете ?  

    13 января 2015 г. 16:03
  • Так я про него и говорю только без програмирования. Вчитайтесь в мой совет. Там нет никаких пауз. Рп создаете, и ставите запуск руками. А запускаете его другими одним из двух способов. Которые обходят каждый элемент и выполнят ваш рабочий процесс
    13 января 2015 г. 17:19
  • Спасибо, я все понял :)
    13 января 2015 г. 19:07
  • Андрей, добрый день. 

    Подскажите еще одну вещь, пожалуйста. Для того, чтобы настроить запуск "если дата в столбце +1 = дата сегодня" использовать "задать настраиваемой формулой хранения, установленной на сервере", а это в свою очередь придется кодить? я правильно понял? И почему "дата + 1" ?

    Спасибо за ответ :)

    15 января 2015 г. 6:43
  • Нет там кодить ничего не надо. Максимум прийдется создать еще один вычеслямый столбец. Вам нужно поиграться. Там ведь условия запуска дата плюс чтото от сегодня. А вам видимо нужно один день плюс или один день минус. И от этого столбца запускать. Кстате по умолчанию эта служба работает на раз в неделю. В админке нужно поменять два параметра на запуск каждый день. Поставьте на ночь. В общем попробуйте поиграйтесь все получится. Ну и вариант с harepoint workflow тоже посмотрите. Там еще проще.
    • Помечено в качестве ответа Ivan.T 20 января 2015 г. 18:49
    15 января 2015 г. 18:01