Найти задачи по следующим критериям:
• | имеют вложенную запись справочника; |
• | находятся в состоянии задачи «Выполнена» или «Прекращена»; |
• | отправлены по типовому маршруту «Согласование совещания». |
Вычисление
CurrentObject = Object.Environment.FindItem('CurrentObject')
if CurrentObject.ComponentType = ctReference
CurrentObject : IReference = CurrentObject
CONST_NAME = 'СВЩТМУЧ'
RouteKod = ''
if ConstantExists(CONST_NAME)
RouteKod = GetConstant(CONST_NAME)
if not VarIsNull(RouteKod)
Query = Format("select
main.XrecID
from dbo.SBTask main
join dbo.SBTaskAttach attach
on
main.XrecID = Attach.TaskId and
attach.AttachID = %s and
attach.AttachType = 'R' and
((main.State = 'D') or (main.State = 'B')) and
main.ArchiveTag = 0 and
main.StandardRoute =
(select
top 1 Analit
from dbo.MBAnalit
where Vid = (select Vid from MBVidAn where Kod = 'ТМТ')
and ltrim(Kod) = '%s'
)
order by main.XrecID"; ArrayOf(CurrentObject.ID; Trim(RouteKod)))
BoundTaskIDs = SQL(Query)
// Архивирование задач
foreach TaskId in CSubString(BoundTaskIDs; '|')
try
Task = Tasks.GetObjectByID(TaskId)
Task.ArchiveInfo.MoveToArchive(1)
Task.Cancel
except
if not VarIsNull(Task)
Task.Cancel
endif
endexcept
if not VarIsNull(Task)
Task = nil
endif
endforeach
endif
endif
// Найти и заархивировать все повестки по совещанию
MEETING_DOC_CONST_NAME = 'MMAgendaEDocKind'
DocMeetingKod = ''
if ConstantExists(MEETING_DOC_CONST_NAME)
DocMeetingKod = GetConstant(MEETING_DOC_CONST_NAME)
if not VarIsNull(DocMeetingKod)
// Найти все повестки по совещанию
DocQuery = Format("select XRecID
from
dbo.SBEDoc
where
Kind = (select Analit
from
MBAnalit
where
Vid = (select Vid from MBVidAn where Kod = 'ВЭД')
and ltrim(Kod) = '%s')
and ArchiveTag = 0
and Meeting = %s"; ArrayOf(Trim(DocMeetingKod); CurrentObject.ID))
BoundDocIDs = SQL(DocQuery)
// Архивирование повесток
foreach DocID in CSubString(BoundDocIDs; '|')
try
Doc = EDocuments.GetObjectByID(DocID)
Doc.ArchiveInfo.MoveToArchive(1)
if not VarIsNull(Doc)
Doc = nil
endif
except
endexcept
endforeach
endif
endif
endif
© Компания DIRECTUM, 2018 | Сообщество пользователей DIRECTUM |