Добавление названия документа к теме задачи рассмотрения в отчете по исполнительской дисциплине

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

Рис.1. Отображение задачи рассмотрения в стандартном отчете по исполнительской дисциплине

Так как редактировать стандартные отчеты нельзя, необходимо сделать копию этого отчета.

Рис.2. Копирование стандартного отчета

Видоизменяем текст запроса, нас интересует самое начало:

SELECT [User].Fullname AS UserFullName, Taskbase.EndDate AS EndDate, 
					TaskBase.EndWorkDate AS EndWorkDate,
					TaskBase.StartDate AS StartDate,
					TaskBase.Executor AS Executor,
					TaskBase.TypeUid AS TypeUid,
					TaskBase.Id AS TbId,
					TaskBase.IsEmulation,
					TaskBase.Status,
					TaskBase.Subject,

 Имя задачи берется из TaskBase.Subject, так как нам необходимо менять название задачи только для задач рассмотрения, то используем выражение CASE.

SELECT [User].Fullname AS UserFullName, Taskbase.EndDate AS EndDate, 
					TaskBase.EndWorkDate AS EndWorkDate,
					TaskBase.StartDate AS StartDate,
					TaskBase.Executor AS Executor,
					TaskBase.TypeUid AS TypeUid,
					TaskBase.Id AS TbId,
					TaskBase.IsEmulation,
					TaskBase.Status,
					 (TaskBase.Subject + ’ ’ + (CASE 
					WHEN TaskBase.Resolution IS NOT null 
					THEN (SELECT dms.Name FROM Resolution r, DmsObject dms WHERE TaskBase.Resolution = r.Id AND r.Document = dms.id)  ELSE ’ ’ END)) AS Subject,

 Проводится проверка на наличие задач рассмотрения, если они есть, то добавляем к названию задачи имя документа из таблицы DMSObject.

Рис.3. Отображение измененной задачи рассмотрения в отчете по исполнительской дисциплине