Freigeben über


Как удалить отмененные задачи из списка задач всех пользователей?

Исходный текст доступен вот тут -  How do I delete cancelled tasks from each user’s timesheet?

Когда руководитель проекта отменяет назначенную на ресурс задачу (удаляет ресурс, назначенный на задачу и публикует изменения на Project server или просто удаляет задачу из проекта), она все-равно продолжает отображаться в списке задач ресурса в Project Web Access. Единственное изменение - такая задача отмечается справа с большим знаком "Х".

Каждый ресурс может самостоятельно скрыть такие задачи (кнопка Hide или Скрыть). Но при этом задачи только скрываются, а не удаляются из БД.

Чтобы удалить такие задачи из БД Project Server администратору должен выполнить следующий скрипт:

delete from MSP_WEB_ASSIGNMENTS
where WASSN_ID IN (
select ma.WASSN_ID from MSP_WEB_ASSIGNMENTS ma
join MSP_WEB_PROJECTS mp
ON ma.WPROJ_ID = mp.WPROJ_ID
join MSP_WEB_RESOURCES mr
ON ma.WRES_ID = mr.WRES_ID
where
ma.WASSN_DELETED_IN_PROJ <>0
--AND mp.PROJ_NAME like '25713%' --uncomment it for specific project
)

Чтобы просмотреть список всех отмененных задачь администратору необходимо выполнить следующий скрипт:

select ma.WASSN_ID, mp.PROJ_NAME, ma.TASK_NAME,mr.RES_NAME, from MSP_WEB_ASSIGNMENTS ma
join MSP_WEB_PROJECTS mp
ON ma.WPROJ_ID = mp.WPROJ_ID
join MSP_WEB_RESOURCES mr
ON ma.WRES_ID = mr.WRES_ID
where
ma.WASSN_DELETED_IN_PROJ <>0
order by 1

И последнее - все это относится к MS Project Server 2003. на 2007 я это не проверял, но думаю структура БД достаточно сильно изменилась, так что скрипты придется переписывать.