Хранимые процедуры |
Содержание Назад Вверх Вперед E-mail |
В данном разделе в табличном виде представлены основные процедуры заданий, их параметры и краткое описание, а также некоторые примеры кода. Все цифры в примерах могут изменяться в зависимости от бизнес-задач.
@TaskID (int) – это входной параметр, обозначающий номер текущей задачи
Процедура |
Параметры и краткое описание |
---|---|
tc_ws_addAcceptant
|
Добавление подписчика в текущую запрошенную динамическую подпись. Параметры: •@TaskSignatureId (int) - номер запрошенной подписи, обязателен •@InitUserID (int) - ID пользователя который добавил акцептанта, обязателен •@UserID (int) - ID пользователяб которого добавляют в акцептанты, обязателен •@WriteComment(bit) - нужно ли писать коментарий, необязателен •@SendEmail(bit) - отправлять ли письмо, необязателен Пример кода: DECLARE @id int select @id = ID from TaskSignatures where signatureId = 5 and taskId = @taskId and SignatureStateID = 1 EXEC dbo.tc_ws_addAcceptant @TaskSignatureID=@id, @InitUserID=2, @WriteComment=0, @SendEmail=0, @UserID=123 |
tc_ws_addComment |
Добавление комментария в задачу. Параметры: •@UserID (int) - ID пользователя, от имени которого генерируется комментарий •@TaskID (int) - ID задачи, в которой пишут комментарий, обязателен •@Comment nvarchar(4000) - текст комментария, обязателен Пример кода: declare @Comment varchar(1000) set @Comment = 'привет, мир!' exec dbo.tc_ws_addComment @UserID = 123, @TaskID = @taskID, @Comment = @Comment |
tc_ws_addNewPerformer |
Назначение нового исполнителя задачи. Параметры: •@UserID (int) - ID пользователя, является исполнителем •@TaskID (int) - ID задачи, в которой назначается новый исполнитель •@SessionUserID (int) - ID пользователя, который назначает пользователя исполнителем, обязателен Пример кода: EXEC tc_ws_addNewPerformer @TaskID = @TaskID, @UserID = 123, @SessionUserID = 1 |
tc_ws_AddNewSignatureToTask |
Запрос подписи в задачу. Параметры: •@TaskID (int) - ID задачи, в которой запрашивают подпись, обязателен •@SignatureID (int) - ID подписи, которую запрашивают, обязателен •@UserID (int) - ID пользователя, который запрашивает подпись, обязателен •@IsDynamic (bit) - динамическая ли подпись, необязателен •@Reason (nvarchar(4000)) - причина запроса подписи, необязателен Пример кода: exec dbo.tc_ws_AddNewSignatureToTask @taskid = @taskid, @signatureid = 3, @userid = 123 , @isDynamic = 1, @reason ='нужно ли это делать?' |
tc_ws_AddResponsiblePerformer |
Добавление ответственного исполнителя. Параметры: •@TaskID (int) - ID задачи, обязателен •@SessionUserID (int) - ID пользователя, который назначает пользователя заказчиком, обязателен •@UserToAddID (int) - ID пользователя, которого назначают заказчиком |
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_addSubscriberMailed @userid = 123, @taskid = @taskid, @SessionUserId = 1 |
tc_ws_addSubscriberMailed |
Добавление пользователя в подписчики с уведомлением по почте (на данный момент на почту уведомления не отправляются, фактически работает как dbo.tc_ws_addSubscriber). Параметры: •@UserID (int) - ID пользователя, которого надо подписать к задачи, обязателен •@TaskID (int) - ID задачи, к которой надо подписать, обязателен •@IsSubscribeChildTask (bit) - подписывание к дочерним задачам, необязателен •@ActingUserID - ID пользователя, который подписывает, обязателен Пример кода: exec dbo.tc_ws_addSubscriberMailed @userid = 123, @taskid = @taskid, @IsSubscribeChildTask = 0, @actinguserid = 1 |
tc_ws_AddUserComment |
Отправление комментарий конкретному пользователю. Параметры: •@TaskID (int) ID задачи, в которой надо написать комментарий, обязателен •@CommentRecipients (nvarchar(4000)) - список через точку с запятой логин (на англиском) получателей, обязателен •@UserID (int) - ID пользователя отправителя, обязателен •@Text (nvarchar(4000)) - текст комментария , обязателен •@NeedSubscribe (bit) - нужно ли подписываться на задачу, необязателен |
tc_ws_AddUserCommentWithSms |
Отправление пользователю комментарий через смс (требуется подключение к системе Clickatell). Параметры: •@TaskID (int) ID задачи, в которой надо написать комментарий, обязателен •@CommentRecipients (nvarchar(4000)) - список через точку с запятой логин (на английском) получателей, обязателен •@UserID (int) - ID пользователя отправителя, обязателен •@Text (nvarchar(4000)) - текст комментария , обязателен •@NeedSubscribe (bit) - нужно ли подписываться на задачу, необязателен |
tc_ws_changeTaskStep |
Совершение перехода в задаче. Параметры: •@StepID (int) - номер перехода который надо сделать, обязателен •@Userid (int) - ID пользователя, который делает переход, обязателен •@Taskid (int) - ID задачи, в которой надо сделать переход, обязателен |
tc_ws_DeleteRequestedSignature |
Удаление запрошенной подписи. Параметры: •@UserID (int) - ID пользователя, который удаляет запрошенную подпись, обязателен •@TaskSignatureID (int) - номер запрошенной подписи, обязателен |
tc_ws_DeleteTask |
Удаление задачи. Параметры: •@UserID (int) - ID пользователя, который удаляет задачу, обязателен •@TaskID (int) - ID задачи, которая удаляется, обязателен |
tc_ws_FindSidForNick |
Поиск уникального ключа (SID) в Active Directory по логину пользователя. Параметры: •@Nick nvarchar(50) - ник пользователя, обязателен •@SID nvarchar(4000) - параметр ввод-вывода сюда записывается найденный SID или null, обязателен |
tc_ws_moveTask |
Перемещение задачи в категорию. Параметры: •@UserID (int) - ID пользователя, от имени которого будет сделано перемещение, обязателен •@TaskID (int) - ID перемещаемой задачи, обязателен •@SubcatID (int) - ID категории, в которую будет перемещена задача, обязателен |
tc_ws_newTask |
Создание новой задачи. Параметры: •@UserID (int) - IDd пользователя, который будет являться заказчиком, обязателен •@Task (nvarchar(4000)) - текст задачи, обязателен •@OrderedTime (datetime) - срок задачи, обязателен (в зависимости от настройки категории) •@Category (int) - ID категории, в которую будет поставлена задача, обязателен •@Comment (nvarchar(4000)) - первый комментарий к задаче, не обязателен •@ExtParamStr (nvarchar(4000)) - служебная строка для заполнения доп. параметров, описание см. ниже, обязателен (в зависимости от настройки обязательных ДП при постановке в категории) •@PerfID (int) - ID исполнителя при постановке, обязателен (в зависимости от настройки категории) •@PriorityID (int) - ID приоритета задачи, не обязателен •@D3TaskID - не используется •@ParentID (int) - ID родительской задачи, не обязателен •@UserNick (nvarchar(20))- ник пользователя, ставящего задачу, не обязателен (может использоваться вместо @UserID) •@Remind (bit) - напоминание о приближении срока задачи, не обязателен •@PropagateSubscribers (bit) - подписать подписчиков родительской задачи, не обязателен •PropagateFiles (boolean) - перенести файлы в дочернюю задачу •@TaskStartTime (datetime) - постановка даты начала работ, не обязателен |
tc_ws_newTaskFromName |
Создание новой задачи от имени пользователя. Параметры аналогичны tc_ws_newTask, с небольшим отличием: •@UserID (int) - ID пользователя, от имени которого будет поставлена задача, обязателен •@SessionUserID (int) - ID пользователя, фактически ставящего задачу, обязателен •PropagateFiles (boolean) - перенести файлы в дочернюю задачу |
tc_ws_newTaskIgnoreError |
Постановка новой задачи с дальнейшим игнорированием ошибок. Не рекомендуется для использования. Параметры аналогичны tc_ws_newtask |
tc_ws_SendSmsToGroup |
Отправка СМС группе пользователей. Параметры: •@GroupID (int) - id группы пользователей, обязателен •@Text (nvarchar(4000)) - текст СМС, обязателен •@TaskID int = null |
tc_ws_SendSmsToPhone |
Отправка СМС на указанный номер. Параметры: •@Number (nvarchar(4000)) - номер телефона, обязателен •@Text (nvarchar(4000)) - текст СМС, обязателен •@TaskID (int) - ID задачи, обязателен |
tc_ws_SendSmsToPhoneList |
Отправка СМС по списку номеров. Параметры: •@Numbers (nvarchar(4000)) - список телефонов, вводится через ";", обязателен •@Text (nvarchar(4000)) - текст СМС, обязателен •@TaskID (int) - ID задачи, обязателен |
tc_ws_SendSmsToUser |
Отправка СМС пользователю. Параметры: •@UserID (int) - ID пользователя, обязателен •@Text (nvarchar(4000)) - текст СМС, обязателен •@TaskID (int) - ID задачи, обязателен |
tc_ws_sub_InsertDatesIntoCalendar |
Проставляет отсутствия в календарь (служебная). Параметры: •@TaskID (int) - ID задачи, обязателен |
tc_ws_updateExtParamsInTasks |
Обновление дополнительных параметров в задаче. Параметры: •@TaskID (int) - id задачи, обязателен •@Str (nvarchar(4000)) - служебная строка для заполнения доп. параметров, описание см. ниже, обязателен •@SessionUserID (int) - id пользователя, от имени которого будут обновлены параметры, обязателен |
tc_ws_updateOrderedTime |
Обновление срока задачи. Параметры: •@TaskID (int) - ID задачи, обязателен •@OrderedTime (datetime) - срок задачи, обязателен |
tc_ws_updateTaskDescription |
Обновление текста задачи. Параметры: •@TaskID (int) - ID задачи, обязателен •@Description (nvarchar(max)) - новый текст, обязателен |
tc_ws_updateTaskStartTime |
Обновление даты начала работ. Параметры: •@TaskID (int) - ID задачи, обязателен •@StartTime (datetime) - дата начала работ, обязателен •@UserID (int) - ID пользователя, обязателен •@Reason (nvarchar(4000)) - причина, обязательна |
tc_job_ws_PeriodicExecution |
Явное выполнение периодических заданий из очереди |
@ExtParamStr (@str) |
Заполняет/изменяет дополнительные параметры. Например: '#n_номер_#v_значение::#n_номер1_#v_значение1::' Параметры: •#n_номер - id доп. параметра •#v_значение - то, что нужно внести Все значения должны быть приведены к типу varchar Пример кода: В задаче 15678 от имени диспетчера задач нужно обновить доп. параметр 167 (тип текст), вставить туда значение 'Иван Иванович', а в параметр 168, тип дата+время, указать текущую дату. Строку мы можем задекларировать следующим образом: set @str = '#n167#vИван Иванович::#n168#v'+ cast (getdate() as varchar) + '::' ID диспетчера задач получим следующим образом: select @UserID = SystemRobotID from Settings where CustomerID = 1 Наконец, сделаем вызов процедуры: exec tc_ws_UpdateExtParamsInTasks @TaskID = 15678, @Str = @str, @SessionUserID = @userid Обратите внимание, что для того, чтобы: - сохранить символы '::' внутри значения ДП - поставьте перед ними обратный слеш '\::' - поместить слеш в конце значения ДП - продублируйте его '\\::' |