Show/Hide Toolbars

Руководство администратора

Веб-сервис TCWebService

Ссылки Назад Вверх Вперед

Веб-сервис основан на сервисе TCWebService.asmx. Он сохранен для поддержания прежних разработок, однако для реализации новых функций следует использовать веб-сервис Valhalla.

Предварительная подготовка — настройка IIS для использования TCWebService

Работа с отдельными задачами

Метод NewTask

Метод NewTask создает задачу в указанной категории в "Первой Форме". В зависимости от категории, задача может являться, например, записью справочника или инициированным бизнес-процессом.

Параметры функции:

Идентификатор пользователя (ID), от имени которого ставится задача.

Текст задачи.

Срок исполнения задачи, необязательный параметр.

Идентификатор категории задачи (можно узнать в интерфейсе администрирования "Первой Формы", в разделе "Категории".).

Комментарий к задаче, необязательный параметр.

Идентификатор пользователя (ID), назначенного ответственным исполнителем задачи, необязательный параметр.

Приоритет задачи (высокий/низкий/обычный).

Дополнительные параметры.

После выполнения функция NewTask возвращает номер задачи.  Номер является уникальным идентификатором задачи и используется для осуществления дальнейших действий с данной задачей. Обычно, во внешних системах реализуется функция "словаря", с помощью которого внутренние идентификаторы объектов системы соотносятся с соответствующими номерами задач из "Первой Формы".

Функция GetFullTaskInfo

Функция GetFullTaskInfo позволяет получить все данные о задаче, включая текущее состояние и реквизиты. При вызове функция возвращает основные параметры задачи, значения заполненных ДП, и текущий статус задачи (положение на маршруте).

Параметры функции:

Номер задачи, о которой требуется получить информацию.

Идентификатор пользователя с требуемым уровнем доступа, от имени которого осуществляется сбор данных.

Метод PostTask

Метод PostTask аналогичен NewTask, однако имеет более удобную сигнатуру — в частности, намного удобнее заполнять дополнительные параметры в задаче.

Параметры функции:

Идентификатор пользователя (ID), от имени которого надо производить действия.

Текст задачи.

Идентификатор категории, куда надо поставить задачу.

Опциональные параметры задачи.

Параметр "Опциональные параметры задачи" содержит следующие дочерние элементы:

Срок задачи.

Дата начала работы с задачей.

Проставление автоматического комментария в задачу.

Идентификатор исполнителя задачи.

Приоритет. Может иметь значения 3 — высокий, 1 — обычный, 0 – низкий.

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

oидентификатор доп. параметра.

oзначение доп. параметра.

Напоминание о сроке задачи.

Настройка постановки подзадачи, если задача создается как подзадача, со следующими свойствами:

oидентификатор родительской задачи.

oтребуется ли копировать подписчиков из родительской задачи.

oтребуется ли копировать вложения из родительской задачи.

Метод возвращает идентификатор созданной задачи (аналогично методу NewTask).

Работа с доп. параметрами и свойствами задач

Метод GetExtParamValueInTask

Метод GetExtParamValueInTask используется для получения значение конкретного ДП в определенной задаче.

Параметры:

Номер задачи.

Идентификатор дополнительного параметра.

Возвращать ли идентификатор значения вместо текстового представления (для ДП "выпадающий список" или "ссылка на задачу"/лукап)

Идентификаторы (коды) доп. параметров можно узнать в интерфейсе администрирования "Первой Формы", в разделе "Доп. параметры".

Метод UpdateExtParamsInTasks

Метод UpdateExtParamsInTasks изменяет значения одного или нескольких ДП в задаче (например, изменяет реквизиты в элементе справочника или какие-либо данные в бизнес-процессе).

Параметры:

Номер задачи.

Идентификатор дополнительного параметра.

Значения ДП, сформированные в виде строки специального формата

Изменение основных параметров

Существует ряд функций для изменения предопределенных свойств задач, не являющихся доп. параметрами:

UpdateTime — устанавливает (или меняет) срок выполнения задачи

UpdateTaskDescription — изменяет текст задачи

UpdateTaskStartTime — фиксирует время начала выполнения работ по задаче.

Управление движением задачи по маршруту

Метод ChangeTaskStep осуществляет переход задачи по маршруту из одного состояния в другое. В том числе метод может осуществлять: отклонение или утверждение задач, переход в бизнес-процессе. Переход по маршруту – это стандартный способ инициировать автоматизацию в "Первой Форме" по команде от внешней системы

Функция имеет следующие параметры:

Идентификатор перехода (можно узнать в интерфейсе администрирования "Первой Формы", раздел "Категории", вкладка "Маршрут")

Номер задачи.

Идентификатор пользователя, от имени которого осуществляется переход.

Методы для работы с файлами

Файлы в системе "Первая Форма" могут храниться в виде вложений в задачу и в ДП типа "файл".

Передача файлов в "Первую Форму"

Функции UploadFile и UploadEpFile загружают слепок файла при подписании файла с помощью ЭЦП. Функция UploadFile загружает его в задачу, а UploadEpFile — в ДП.

Функции имеют следующий набор параметров:

Идентификатор пользователя (ID), от имени которого вкладывается файл.

Номер задачи, в которую вкладывается файл.

Исходные имя и расширение файла.

Содержимое файла в виде массива байт (byte [ ]). При передаче по сети этот массив кодируется в Base64, в большинстве случаев задачу кодирования берет на себя оболочка программной среды, в которой выполняется доработка сторонней системы. Поэтому можно просто передавать массив байт в "чистом" виде.

Текстовое описание файла (не обязательно для заполнения).

Функция UploadEpFile имеет также параметр — ID ДП, в который загружается файл.

Передача файлов в стороннее приложение

Функции DownloadFile и DownloadEpFile позволяют стороннему приложению получить содержимое файла, вложенного в задачу или ДП "Первой Формы". Параметры DownloadFile:

Идентификатор пользователя.

Идентификатор файла.

Параметры DownloadEpFile:

Идентификатор задачи.

Идентификатор пользователя.

Идентификатор ДП.

Обе процедуры возвращают файл в виде набора байт в кодировке Base64.

Получение идентификаторов пользователей

Внешняя система может не знать идентификатор  пользователя в системе "Первая Форма", но может знать, например, их логин или е-mail. Функции GetUserIdByLogin и GetUserIdByEmail, которые возвращает ID пользователя, пригодный для использования в других методах. Параметрами вызова для них являются логин и е-mail соответственно.

Полный список методов

Первая Форма — это объект конфигурации с типом WSСсылки с WSDL (Web Services Description Language – язык описания веб-сервисов и доступа к ним, основанный на языке XML).

Метод

Описание

AddAcceptant

Добавить акцептанта

AddCommentSilent

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

AddCommentSilentWithType

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

AddNewSignatureToTask

Добавить запрос подписи

AddPerformer

Добавить исполнителя

AddResponsiblePerformer

Добавить отвественного исполнителя

AddRole

Добавить роль для пользователя в указанной группе

Параметры:

<param name="groupId">int</param> – идентификационный номер группы, в которой состоит пользователь;

<param name="userId">int</param> – идентификационный номер пользователя, которому требуется добавить роль;

<param name="roleId">int</param> – идентификационный номер роли, которую требуется добавить (список ролей с ID можно уточнить в разделе "Роли")

<param name="adminUserId"></param> – идентификационный номер пользователя с требуемым уровнем доступа, от имени которого осуществляется добавление роли указанному пользователю.

AddSubscriber

Добавить подписчика

AddSubscriberSilent

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

AddToFavourites

Добавить письмо в избранное

AddUnrequiredSignatures

Запрос необязательных подписей

AddUser

Добавить пользователя

AddUserComment

Добавить комментарий

AddUserCommentWithSms

Оповестить о комментарии с помощью смс-сервиса

AddUserToGroup

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

Параметры:

<param name="userId">int</param> – идентификационный номер добавляемого пользователя;

<param name="groupId">int</param> – идентификационный номер группы, в которую осуществляется добавление;

<param name="adminUserId">int</param> – идентификационный номер пользователя с требуемым уровнем доступа, от имени которого осуществляется добавление пользователя.

AddUserWithLang

Добавить пользователя

ChangeSignatureDue

Сменить срок подписи

ChangeSignatureReason

Сменить причину подписи

ChangeTaskStep

Сменить статус задачи

ChangeTaskStepWithoutUnrequiredSignatures

Переход с необзятальными подписями

CheckAuth

Это служебный метод – проверяет не истек ли ключ авторизации

CreateGroup

Добавляет новую группу с указанными параметрами и возвращает идентификационный номер созданной группы

Параметры:

<param name="groupName">string</param> – название группы;

<param name="groupDetails">string</param> – детальная информация о созданной группе;

<param name="groupTypeID">int</param> – идентификационный номер типа группы (список групп с ID можно уточнить в разделе "Группы -> Типы групп");

<param name="adminUserId">int</param> – идентификационный номер пользователя с требуемым уровнем доступа, от имени которого осуществляется добавление группы.

DeleteAllPerformersFromTask

Удалить всех исполнителей в указанной задаче

<param name="taskID">int</param> – идентификационный номер задачи, из которой требуется удалить исполнителей;

<param name="adminUserID">int</param> – идентификационный номер пользователя с требуемым уровнем доступа, от имени которого осуществляется осуществляется удаление исполнителей данной задачи.

DeleteMailbox

Удалить почтовый ящик

DeletePerformerFromTask

Удалить исполнителя в указанной задаче

Параметры:

<param name="performerID">int</param> – идентификационный номер пользователя, которого требуется удалить;

<param name="taskID">int</param> – идентификационный номер задачи, из которой требуется удалить исполнителя;

<param name="adminUserID">int</param> – идентификационный номер пользователя с требуемым уровнем доступа, от имени которого осуществляется осуществляется удаление исполнителя данной задачи.

DeleteRequestedSignature

Отменить запрос подписи

DeleteTask

Удалить задачу

EditGroup

Редактировать группу по указанным параметрам

Параметры:

<param name="name">string</param> – название редактируемой группы;

<param name="details">string</param> – детальная информация о редактируемой группе;

<param name="groupId">int</param> – идентификационный номер редактируемой группы;

<param name="groupTypeId">int</param> – идентификационный номер типа группы  (список групп с ID можно уточнить в разделе "Группы -> Типы групп");

<param name="adminUserId">int</param> – идентификационный номер пользователя с требеумым уровнем доступа, от имени которого осуществляется редактирование группы.

EmailMassChangeReadState

Пометить письмо прочитанным

FindSidForAccountName

Возвращает SID из AD по логину (AccountName)

GetContactsTree

Запрос на получение дерева контактов

GetEvents

Запрос на получение событий

GetGroupCard

Получить состав группы

GetFullTaskInfo

Получить полную информацию о задаче.

Параметры:

<param name="taskID">int</param> – идентификанционный номер задачи, о которой требуется получить информацию;

<param name="adminUserID">int</param> – идентификационный номер пользователя с требуемым уровнем доступа, от имени которого осуществляется сбор данных.

GetFullTaskInfoAsDic

Метод, аналогичный GetFullTaskInfo и позволяющий получить полную информацию о задаче. Используется для синхронизации данных с программами "1С:Предприятие"

Параметры:

<param name="taskID">int</param> – идентификанционный номер задачи, о которой требуется получить информацию;

<param name="adminUserID">int</param> – идентификационный номер пользователя с требуемым уровнем доступа, от имени которого осуществляется сбор данных.

GetInvitationTemplate

Возвращает шаблон для письма с приглашением 1Ф

GetLastComment

Показать последний комментарий

GetLastComments

Показать последние комментарии

GetNextEvent

Показать предстоящие события

GetStats

Возвращает статистику по пользователю по задачам в категории:

Сколько задач сегодня

поставлено // filter by created date

завершено // filter by end date and status

сегодня подходит срок // filter by orderedtime and status

по людям в группе:

сколько подчиненных онлайн

сколько подчинённых отсутствует

GetTasks

Показать текущие задачи

GetTaskCommentRecipients

Показать комментарии

GetUserIdByLogin

Возвращает идентификационный номер пользователя по переданному логину (логин может быть записан как адрес электронной почты, например, test@gmail.com, или как обычный логин, например, testuser)

<param name="login">string</param> – логин пользователя, идентификационный номер которого необходимо получить

GetUserIDByEmail

Показать ID пользователя по E-mail

GetUserInfo

Возвращает информацию о пользователе в виде объекта UserWebParams.

Параметры:

<param name="userId">int</param> –  идентификационный номер пользователя, для которого требуется получить данные;

<param name="adminUserId">int</param> – идентификационный номер пользователя с требуемым уровнем доступа, от имени которогоо осуществляется получение данных.

InviteUser

Пригласить пользователя

MarkCommentAsUnread

Пометить комментарий как непрочитанный

MassDeleteEmail

Удалить письма

MoveTask

Изменить категорию задачи

NewTask

Новая задача

Параметры:

<userId>int</userId> – идентификационный номер пользователя (ID), от имени которого ставится задача;

<task>string</task> – текст задачи;

<orderedTime>dateTime</orderedTime> – срок;

<subCategoryId>int</subCategoryId> – идентификационный номер категории, в которую ставится задача;

<comment>string</comment> – позволяет сразу добавить комментарий к задаче;

<extParams> — массив строк, содержащий значения дополнительных параметров в виде {Идентификатор доп.параметра}={значение}.

Для ДП типа лукап нужно передавать идентификатор связываемой задачи; для ДП типа checkbox – строку да/нет, все остальные значения передаются строками;

<performerId>int</performerId> – идентификационный номер пользователя (ID), назначенного ответственным исполнителем;

<priorityId>int</priorityId>– приоритет (высокий/низкий/обычный);

<parentId>int</parentId> –  идентификационный номер родительской задачи;

<userNick>string</userNick> – ник пользователя;

<remind>boolean</remind> – создавать ли напоминание по задачи;

<propagateSubscribers>boolean</propagateSubscribers> – копировать подписчиков из родительской задачи;

<propagateFiles>boolean</propagateFiles> – копировать вложенные файлы из родительской задачи;

<isAnonymous>boolean</isAnonymous> – анонимная постановка задачи;

<realUserId>int</realUserId> – идентификационный номер пользователя (ID), от имени которого ставится задача;

<taskStartTime>dateTime</taskStartTime> – дата начала работы.

NewTaskOld

Новая задача (используется в CLR хранимках)

NewTaskOldIgnoreAfterTaskPostedErrors

Новая задача с перехватом исключений

PeriodicExecution

Запускает выполнение периодических задач (джобов)

ReadAll

Прочитать все непрочитанные комментарии

ReasonDialog_AddQucikReply

Быстрые ответы

RemoveGroup

Удаление группы по идентификационным номерам группы и пользователя

Параметры:

<param name="groupId">int</param> – идентификационный номер удаляемой группы;

<param name="adminUserId">int</param> – идентификационный номер пользователя с требуемым уровнем доступа, от имени которого осуществляется удаление группы.

RemoveUserFromGroup

Удалить пользователя с указанным идентификационным номером из группы с указанным идентификационным номером.

Параметры:

<param name="groupId">int</param> – идентификационный номер группы из которой осуществляется удаление;

<param name="userId">int</param> – идентификационный номер удаляемого пользователя;

<param name="adminUserId">int</param> – идентификационный номер пользователя с требуемым уровнем доступа, от имени которого осуществляется добавление пользователя.

RemoveRole

Удалить роль пользователя в указанной группе

Параметры:

<param name="groupId">int</param> – идентификационный номер группы, в которой состоит пользователь;

<param name="userId">int</param> – идентификационный номер пользователя, у которого требуется удалить роль;

<param name="roleId">int</param> – идентификационный номер роли, которую требуется удалить;

<param name="adminUserId">int</param> – идентификационный номер пользователя с требуемым уровнем доступа, от имени которого осуществляется удаление роли у указанного пользователя.

SearchTasksExtended

Поиск задач по расширенным параметрам.

Параметры:

SearchParamsExtended – расширенный набор параметров поиска, данный параметр осуществляет запрос следующих атрибутов:

oText – текст поискового запроса;

o ExtParams – фильтр по дополнительным параметрам, каждая строка вида:

{Идентификатор дополнительного параметра}={Значение дополнительного параметра}

oSubcatInIds – категории и разделы, в которых осуществляется поиск задач (массив строк вида s32423,c423423);

oStateInIds – отбор по статусам задач (список ID статусов через ;);

oPerformers – поиск по исполнителям задач (строка вида: {условие;ID исполнителя}. Обратите внимание, что условия могут быть двух типов: 1. Условие И (AND(0)), либо 2. ИЛИ (OR(1));

oOwners – строка вида: {условие;ID заказчика}Обратите внимание, что условия могут быть двух типов: 1. Условие И (AND(0)), либо 2. ИЛИ (OR(1));

oFullTaskText – условие получения полного текста задачи (true\false)

<param name="ownerId">int</param> –  идентификационный номер заказчика задачи;

<param name="userId">int</param> – идентификационный номер пользователя, от имени которого осуществляется поиск.

SendSmsToGroup

Отослать смс группе пользователей

SendSmsToPhone

Отослать смс по номеру телефона

SendSmsToPhoneList

Отослать смс по списку номеров

SendSmsToUser

Отослать смс пользователю

SimpleSearch

Поиск задач

UpdateExtParamsInTasks

Задать новые значения для ДП в задаче.

Данный метод обновляет значения дополнительных параметров в первой форме. Может быть использован для обновления информации в справочниках из сторонних систем.

Параметры:

<taskId>int</taskId> – номер задачи, где меняются параметры;

<userId>int</userId> – идентификационный номер пользователя (ID) пользователя, от имени которого меняются параметры;

<extParamStr>string</extParamStr> – сформированная строка со значениями дополнительных параметров (для того, чтобы сохранить символы '::'  внутри значения ДП — поставьте перед ними обратный слеш '\::'; для того, чтобы поместить слеш в конце значения ДП — продублируйте его '\\::'\)

В параметре <extParamStr>string</extParamStr> формируется строка следующего вида:

#n{Идентификатор ДП}#v{Значение}::#n{Идентификатор ДП}#v{Значение}::

Если среди ДП есть "Выбор нескольких задач в категории" (multilookup), то для него список значений передается строкой вида:

#n{Идентификатор ДП}#v{№Задачи1}#{№Задачи2}#{№Задачи3}::

UpdateOrderedTimeSilent

Задает срок задачи

UpdateTaskDescription

Задает текст задачи

UpdateTaskStartTime

Задает время начала работы по задаче

UpdateUser

Обновить данные пользователя согласно переданным в UserWebParams данным.

Параметры:

<param name="userObj">UserWebParams</param> – набор данных пользователя, которые требуется обновить;

<param name="adminUserId">int</param> – идентификационный номер пользователя с требуемым уровнем доступа, от имени которого осуществляется обновление информации о пользователе в базе данных.

UploadFile

Загрузить файл

Параметры:

<userId>int</userId> – идентификационный номер пользователя (ID), от имени которого вкладывается файл;

<taskId>int</taskId> – идентификационный номер задачи, в которую вкладывается файл;

<fileName>string</fileName> – исходные имя и расширение файла;

<fileData>base64Binary</fileData> – содержимое файла в виде массива байт (byte[]). (При передаче по сети этот массив кодируется в Base64, в большинстве случаев задачу кодирования берет на себя оболочка программной среды, поэтому можно просто передавать массив байт в чистом виде.)

<description>string</description> – описание файла (это поле является необязательным для заполнения).

UploadEpFile

Вложить файл в ДП типа "файл".

Параметры:

<userId>int</userId> – идентификационный номер пользователя (ID), от имени которого вкладывается файл;

<taskId>int</taskId> – идентификационный номер задачи, в которую вкладывается файл;

<extParamId>int</<extParamId> – идентификационный номер ДП, через который загружается файл;

<fileName>string</fileName> – исходные имя и расширение файла;

<fileData>base64Binary</fileData> – содержимое файла в виде массива байт (byte[]). (При передаче по сети этот массив кодируется в Base64, в большинстве случаев задачу кодироования берет на себя оболочка программной среды, поэтому можно просто передавать массив байт в чистом виде.)

<description>string</description> – описание файла (это поле является необязательным для заполнения).

UserNotificationSettings

Смена настроек уведомлений пользователя

UserWebParams

Набор данных пользователя доступных для методов UpdateUser и GetUser.

Состоит из:

userID[int] – ID пользователя (Список пользователей с ID можно получить в настройках "Админ"→"Пользователи");

nick[string] – Ник пользователя;

firstName[string] – Имя пользователя;

lastName[string] – Фамилия пользователя;

middleName[string] – Отчество пользователя;

phone[string] – Номер телефона пользователя;

departmentID[int?] – Департамент, в  котором состоит пользователь (cписок департаментов с ID можно получить в настройках "Админ"→"Пользователи"→"Список департаментов");

appointmentID[int?] – Должность пользователя (cписок должностей с ID можно получить в настройках "Админ"→"Пользователи"→"Список должностей");

externalAppointmentId[int?] – Внешняя должность пользователя;

divisionID[int?] – Отдел, в котором состоит пользователь (cписок отделов с ID можно получить в настройках "Админ"→"Пользователи"→"Список отделов");

email[string] – адрес электронной почты пользователя;

externalEmail[string] – адрес внешней электронной почты пользователя;

externalDisplayName[string] – Обычно, это имя и фамилия;

roomID[int?] – ID номера комнаты (cписок комнат с ID можно получить в настройках "Админ"→"Пользователи"→"Список комнат");

isFired[bool] – Если значение 1 – то уволен;

displayname[string] – Имя отображаемое в основном интерфейсе приложения;

Constants.UserNameMode – Тип отображения имени сотрудника в требуемом формате:

0 – отображать фамилию,

1 – отображать фамилию и имя,

3 – отображать ник;

langID[int] – ID языковых настроек:

1 – русский,

2 – английский;

companyID[int?] – ID компании (cписок компаний с ID можно получить в настройках "Админ"→"Пользователи"→"Список компаний");

cellPhone[string] – номер мобильного телефона;

homePhone[string] – номер домашнего телефона;

fax[string] – номер факса;

skype[string] – контакт скайпа;

isEmployee[bool] – является ли сотрудником компании. (1 – да);

birthDate[DateTime?] – дата рождения;

workStartDate[DateTime?] – дата начала работы;

country[string] – название страны;

city[string] – название города;

isInMaternityLeave[bool] – Декрет. (1 – да);

gender[bool?] – Пол:

1 – мужчина,

2 – женщина;

sip[string] – внутренний номер 4 цифры.

Примеры веб-сервисов TCWebService

Примеры использования веб-сервиса TCWebService.asmx:

Обращение к веб-сервису "Первой Формы" из стороннего приложения (при win-аутентификации):

Создание и заполнение заявки

Создание задачи "Первой Формы" из "1С:Предприятие 8.2"