В данном разделе представлены основные процедуры заданий, их параметры и краткое описание, а также некоторые примеры кода. Все значения параметров в примерах могут изменяться в зависимости от бизнес-задач.
Для работы веб-сервисов "Первой Формы" необходимо выдать следующие права роли, в которую входит служебный пользователь D10TaskUser:
GRANT EXECUTE ON [sys].[sp_OASetProperty] TO {D10TaskUserRole}
GRANT EXECUTE ON [sys].[sp_OAMethod] TO {D10TaskUserRole}
GRANT EXECUTE ON [sys].[sp_OAGetErrorInfo] TO {D10TaskUserRole}
GRANT EXECUTE ON [sys].[sp_OADestroy] TO {D10TaskUserRole}
GRANT EXECUTE ON [sys].[sp_OAStop] TO {D10TaskUserRole}
GRANT EXECUTE ON [sys].[sp_OACreate] TO {D10TaskUserRole}
GRANT EXECUTE ON [sys].[sp_OAGetProperty] TO {D10TaskUserRole}
Также надо выдать права на создание экземпляров объектов OLE-автоматизации в пакетах Transact-SQL.
Процедура |
Параметры и краткое описание |
||
---|---|---|---|
tc_ws_addAcceptant
|
Добавление подписчика в текущую запрошенную динамическую подпись. Параметры: •@TaskSignatureId (int) — номер запрошенной подписи, обязателен, •@InitUserID (int) — ID пользователя который добавил акцептанта, обязателен, •@UserID (int) — ID пользователя, которого добавляют в акцептанты, обязателен , •@WriteComment(bit) — нужно ли писать комментарий, необязателен, •@SendEmail(bit) — отправлять ли письмо, необязателен. Пример кода: DECLARE @id int |
||
tc_ws_addComment |
Добавление комментария в задачу. Параметры: •@UserID (int) — ID пользователя, от имени которого генерируется комментарий, •@TaskID (int) — ID задачи, в которой пишут комментарий, обязателен, •@Comment nvarchar(8000) — текст комментария, обязателен. Пример кода: declare @Comment varchar(1000) |
||
tc_ws_addNewPerformer |
Назначение нового исполнителя задачи. Параметры: •@UserID (int) — ID пользователя, является исполнителем, •@TaskID (int) — ID задачи, в которой назначается новый исполнитель, •@SessionUserID (int) — ID пользователя, от имени которого выполняется действие, обязателен. Пример кода: EXEC tc_ws_addNewPerformer |
||
tc_ws_AddNewSignatureToTask |
Запрос подписи в задачу. Параметры: •@TaskID (int) — ID задачи, в которой запрашивают подпись, обязателен, •@SignatureID (int) — ID подписи, которую запрашивают, обязателен, •@UserID (int) — ID пользователя, который запрашивает подпись, обязателен, •@IsDynamic (bit) — динамическая ли подпись, необязателен, •@Reason (varchar(max)) — причина запроса подписи, необязателен. Пример кода: exec dbo.tc_ws_AddNewSignatureToTask |
||
tc_ws_addSubscriber |
Добавление пользователя в подписчики задачи. Параметры: •@UserID (int) — ID пользователя, которого надо подписать к задачи, обязателен, •@TaskID (int) — ID задачи, к которой надо подписать, обязателен, •@IsSubscribeChildTask (bit) — подписывание к дочерним задачам, необязателен, •@SubscribeType (int) тип подписки (принимает значение 2 -Акцептант, 6 — Прочее\Автоматизация, 4 — Консультант\Исполнитель\Заказчик\Автоподписка 1 — Добавление вручную , 5 — Не определено, 3 — Скопирован из родительской), необязателен, •@SessionUserId (int) — ID пользователя, от имени которого выполняется действие, обязателен. Пример кода: exec dbo.tc_ws_addSubscriber |
||
tc_ws_addSubscriberMailed |
Добавление пользователя в подписчики с уведомлением по почте (на данный момент на почту уведомления не отправляются, фактически работает как dbo.tc_ws_addSubscriber). Параметры: •@UserID (int) — ID пользователя, которого надо подписать к задачи, обязателен, •@TaskID (int) — ID задачи, к которой надо подписать, обязателен, •@IsSubscribeChildTask (bit) — подписывание к дочерним задачам, необязателен, •@ActingUserID — ID пользователя, который подписывает, обязателен. Пример кода: exec dbo.tc_ws_addSubscriberMailed |
||
tc_ws_AddUserComment |
Отправление комментарий конкретному пользователю. Параметры: •@TaskID (int) — ID задачи, в которой надо написать комментарий, обязателен, •@CommentRecipients (nvarchar(4000)) — список через точку с запятой логин (на английском) получателей, обязателен, •@UserID (int) — ID пользователя отправителя, обязателен, •@Text (nvarchar(8000)) — текст комментария, обязателен, •@NeedSubscribe (bit) — нужно ли подписываться на задачу, необязателен |
||
tc_ws_AddUserCommentWithSms |
Отправление пользователю комментарий через смс (требуется подключение к системе Clickatell). Параметры: •@TaskID (int) — ID задачи, в которой надо написать комментарий, обязателен, •@CommentRecipients (nvarchar(8000)) — список через точку с запятой логин (на английском) получателей, обязателен, •@UserID (int) — ID пользователя отправителя, обязателен, •@Text (nvarchar(8000)) — текст комментария , обязателен, •@NeedSubscribe (bit) — нужно ли подписываться на задачу, необязателен |
||
tc_ws_changeTaskStep |
Совершение перехода в задаче. Параметры: •@StepID (int) — номер перехода который надо сделать, обязателен, •@Userid (int) — ID пользователя, который делает переход, обязателен, •@Taskid (int) — ID задачи, в которой надо сделать переход, обязателен •@InitiatorUserId (int) — ID пользователя-инициатора перехода, |
||
tc_ws_DeletePerformerFromTask |
Удаление исполнителя из задачи. Параметры: •@Taskid (int) — ID задачи, в которой надо удалить исполнителя, обязателен, •@Userid (int) — ID пользователя, которого удаляют из исполнителей, обязателен, •@SessionUserId (int) — ID пользователя, от имени которого выполняется действие, обязателен. |
||
tc_ws_DeleteRequestedSignature |
Удаление запрошенной подписи. Параметры: •@UserID (int) — ID пользователя, который удаляет запрошенную подпись, обязателен, •@TaskSignatureID (int) — номер запрошенной подписи, обязателен |
||
tc_ws_DeleteTask |
Удаление задачи. Параметры: •@UserID (int) — ID пользователя, который удаляет задачу, обязателен, •@TaskID (int) — ID задачи, которая удаляется, обязателен |
||
tc_ws_LinkOrgUnitWithGroup |
Установление связи между орг. единицей и группой пользователей. Параметры: •@OrgUnitID (int) — ID орг. единицы, обязателен, •@GroupID (int) — ID группы, обязателен |
||
tc_ws_moveTask |
Перемещение задачи в категорию. Параметры: •@UserID (int) — ID пользователя, от имени которого будет сделано перемещение, обязателен, •@TaskID (int) — ID перемещаемой задачи, обязателен, •@SubcatID (int) — ID категории, в которую будет перемещена задача, обязателен |
||
tc_ws_newTask |
Создание новой задачи. Параметры: •@UserID (int) — IDd пользователя, который будет являться заказчиком, обязателен, •@Task (nvarchar(8000)) — текст задачи, обязателен, •@OrderedTime (datetime) — срок задачи, обязателен (в зависимости от настройки категории), •@Category (int) — ID категории, в которую будет поставлена задача, обязателен, •@Comment (nvarchar(8000)) — первый комментарий к задаче, не обязателен, •@ExtParamStr (nvarchar(8000)) — служебная строка для заполнения доп. параметров, описание см. ниже, обязателен (в зависимости от настройки обязательных ДП при постановке в категории), •@PerfID (int) — ID исполнителя при постановке, обязателен (в зависимости от настройки категории), •@PriorityID (int) — ID приоритета задачи, не обязателен, •@D3TaskID — не используется, •@ParentID (int) — ID родительской задачи, не обязателен, •@UserNick (nvarchar(20))- ник пользователя, ставящего задачу, не обязателен (может использоваться вместо @UserID), •@Remind (bit) — напоминание о приближении срока задачи, не обязателен, •@PropagateSubscribers (bit) — подписать подписчиков родительской задачи, не обязателен, •@PropagateFiles (boolean) — перенести файлы в дочернюю задачу, •@TaskStartTime (datetime) — постановка даты начала работ, не обязателен
|
||
tc_ws_PeriodicExecution |
Явное выполнение периодических заданий из очереди |
||
tc_ws_updateExtParamsInTasks |
Обновление дополнительных параметров в задаче. Параметры: •@TaskID (int) — id задачи, обязателен, •@Str (nvarchar(8000)) — служебная строка для заполнения доп. параметров, описание см. ниже, обязателен, •@SessionUserID (int) — id пользователя, от имени которого выполняется действие, обязателен, •@Comment (bit) — если равен 1, то пишется системный комментарий об изменении ДП, если 0 — не пишется; по умолчанию равен 1; не обязателен |
||
tc_ws_updateOrderedTime |
Обновление срока задачи. Параметры: •@TaskID (int) — ID задачи, обязателен, •@OrderedTime (datetime) — срок задачи, обязателен |
||
tc_ws_updateTaskDescription |
Обновление текста задачи. Параметры: •@TaskID (int) — ID задачи, обязателен, •@Description (nvarchar(max)) — новый текст, обязателен |
||
Служебная строка |
|||
Заполняет/изменяет значение ДП. Например, для одного ДП строка имеет вид: '#nномер#vзначение::' где номер — ID ДП, а значение — значение, которое должно быть записано в ДП. Для двух ДП (и более — аналогично): '#nномер1#vзначение1::#nномер2#vзначение2::'
Пример кода Пусть в задаче 15678 от имени пользователя "Диспетчер задач" нужно обновить ДП с ID=167 (тип "Текст"), записать в него значение 'Иван Иванович', а в ДП с ID=168 (тип "ДатаВремя") записать текущую дату. Строку можно задекларировать следующим образом: set @str = '#n167#vИван Иванович::#n168#v'+ cast (getdate() as varchar) + '::' ID пользователя "Диспетчер задач" получим следующим образом: select @UserID = SystemRobotID from Settings where CustomerID = 1 Наконец, сделаем вызов процедуры: exec tc_ws_UpdateExtParamsInTasks
Пример работы с таблицей Пусть в ДП "Таблица" с ID=999 колонки 11 и 33 заполняются, а колонка 22 остается пустой. set @str = '#n999#v' + @str |
Полезные ссылки