- Главная [object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
- Начало работы
- Как решить вашу задачу
-
API
-
Типы объектов
- DispositionType
- ProcessInstanceState
- ProcessTaskState
- ApplicationItemRegistration
- ApplicationProjectItem
- ApplicationProjectItemRef
- ApplicationProjectPlanElementItem
- ApplicationProjectPlanElementItemRef
- BaseApplicationItem
- BaseApplicationItemRef
- BaseItem
- BaseItemData
- CurrentUserItem
- DirectoryData
- DirectoryItem
- EmployeeItemData
- EmployeeItemParams
- EmployeeItemProcesses
- FileData
- FileItem
- FileItemRef
- FileVersionData
- FileVersionItem
- ImageData
- ImageItem
- ImageItemRef
- InstanceAddr
- Item
- ItemData
- ItemRef
- MailMessageData
- MailMessageItem
- MailMessageItemRef
- OrganisationStructureData
- OrganisationStructureItem
- OrganisationStructureItemRef
- ParamsItem
- ProcessInstanceData
- ProcessInstanceItem
- ProcessInstanceItemRef
- ProcessTaskData
- ProcessTaskItem
- ProcessTaskItemRef
- ProcessTemplate
- ProcessTimer
- ReminderData
- ReminderItem
- ReplacementData
- ReplacementItem
- StatusHistoryData
- StatusHistoryItem
- StatusHistoryItemRef
- TaskItemExit
- UserData
- UserGroupData
- UserGroupItem
- UserGroupItemRef
- UserItem
- UserItemRef
- ApplicationItem
- ApplicationItemRef
- Типы данных
- Глобальные константы
- Работа с приложениями
- Веб-запросы
- Права доступа
- Документооборот
- Линии
- Виджет «Код»
- Подписи
- Рабочие календари
- Интеграция с IP-телефонией
- Интеграция с сервисами рассылок
-
Типы объектов
Базовый элемент приложения
Содержит общий для элементов любого приложения набор полей и методов.
Type parameters
Data: ItemData
Params: ItemData
_Processes: Processes
I: Item<ItemData>
Hierarchy
Properties
Readonly code
Код приложения цели ссылки (код приложения).
Readonly data
Значения полей объекта.
Readonly fields
Описание полей объекта.
Readonly id
Идентификатор цели ссылки.
Readonly namespace
Пространство имен цели ссылки (код раздела приложения).
Methods
delete
Метод позволяет удалить элемент приложения.
await Context.data.app.delete();
Returns Promise<void>
docflow
Метод получает объект для работы с документооборотом.
const item = await Context.data.n1; const approvalLists = await item.docflow().getApprovalLists();
Returns DocflowApplicationItemRef
fetch
Запрос полных данных объекта-ссылки.
Returns Promise<BaseApplicationItem<Data, Params>>
getDataSigns
Метод получает внутреннюю подпись данных приложения.
При вычислении внутренних подписей приложения система учитывает пользовательские настройки для подписания данных. В полученных данных содержится набор подписей двух типов: подписи атрибутов и подписи файла.
Каждая такая подпись содержит в себе:
hash
— подпись данных приложения;body
— данные, для которых вычислен хеш;type
— тип подписи.В указанном примере контекст содержит:
dokument
— приложение типа Файл, включающее настройки подписи.В представленном примере выполняется поиск подписи и использование
hash
,body
для сохранения полученной подписи у приложения.const app = await Context.data.dokument.fetch(); const dataSigns = await app.getDataSigns(); const dataSign = res.find( (res: any) => res.type === SignType.File); const newSign: NewSign = { sign: "aGVsbG8=", codeProvider: "External", body: btoa(app.data.__file!.hash), hash: dataSign.hash } await app.uploadSign(newSign);
Returns Promise<SignData[]>
getFolder
Метод позволяет получить папку элемента иерархического справочника.
const item = await Context.data.n1; const folder = await item.getFolder();
Returns Promise<TFolder | undefined>
getPermissions
Метод получает права доступа, установленные для данного элемента приложения.
Этот метод следует использовать, если нужно добавить новые права доступа к существующим.
// Добавим права на элемент инициатору процесса const item = await Context.data.request.fetch(); const user = Context.data.__createdBy; // Получаем текущие права const currPermissions = await item.getPermissions(); currPermissions.values.push(new PermissionValue(user, [PermissionType.READ])); await item.setPermissions(currPermissions);
Returns Promise<TPermissions>
getRegistrations
Deprecated
Метод устарел. Получение списка регистраций элемента приложения.
const item = Context.data.d1! await item.getRegistrations();
Так как метод устарел, используйте docflow:
const item = Context.data.d1! await item.docflow().getRegistrations();
Returns Promise<ApplicationItemRegistration[]>
getSettings
Метод позволяет получить настройки приложения.
const app = Context.data.dokument; if (app === undefined) { return; } const settings = await app.getSettings();
Returns Promise<TSettings>
getSignHistory
Метод получает историю подписей приложения.
// Пример сохранения подписей в контекстные переменные типа Файл const app = await Context.data.dokument!.fetch(); const signHistory = await app.getSignHistory(); Context.data.sign_attributes = await signHistory[0].signs[0].createSignFile(); const attributes = await signHistory[0].signs[0].createAttributesFile(); if (attributes !== undefined) { Context.data.attributes = attributes; }
Returns Promise<EntityVersion[]>
getSubscribers
Список пользователей, подписанных на сообщения в ленте элемента приложения.
// Запишем подписчиков элемента приложения в контекст const subscribers = await item.getSubscribers(); Context.data.subscribers = subscribers;
Returns Promise<TUser[]>
hasPermission
Метод проверяет наличие права доступа для пользователя, группы, элемента оргструктуры, роли.
Parameters
orgunit: TPermissionOrgunit
type: PermissionType
Returns Promise<boolean>
manualRegister
Deprecated
Метод устарел. Регистрация элемента приложения вручную (если включена регистрация вручную в настройках дела).
Так как метод устарел, используйте docflow:
const item = Context.data.d1! const settings = await Application.getSettings(); settings.registrationSettings.nomenclatureIds.forEach(nomenclatureId => { item.docflow().manualRegister("Номер 1", nomenclatureId); })
Parameters
nameReg: string
nomenclatureId: string
Returns Promise<boolean>
normalize
Удаление дублирующихся данных в массивах.
Выполнить удаление дубликатов в полях, в которых хранятся массивы ссылок на объекты системы (пользователи, файлы, элементы приложений, документы).
Этот метод, например, можно вызвать после массового изменения данных в объекте.
const app1 = await Context.data.app1.fetch(); const app2 = await Context.data.app2.fetch(); app1.data.executors.push(app2.data.executors); app1.normalize(); // Далее перебираем элементы нового массива app1.data.executors.forEach( ... );
Returns void
register Deprecated
Метод устарел. Автоматическая регистрация элемента приложения.
Так как метод устарел, используйте docflow:
const item = Context.data.d1! const settings = await Application.getSettings(); settings.registrationSettings.nomenclatureIds.forEach(nomenclatureId => { item.docflow().register(nomenclatureId); })
Parameters
nomenclatureId: string
Returns Promise<boolean>
restore
Метод позволяет восстановить удаленный элемент приложения.
await Context.data.app.restore();
Returns Promise<void>
save
Метод сохраняет элемент приложения.
Сохранять элемент необходимо после изменения данных элемента.
const request = await Context.data.service_request.fetch(); request.data.responsible = Context.data.responsible; await request.save();
Returns Promise<void>
sendMessage
Метод позволяет отправлять сообщения в ленту элемента приложения.
Parameters
title: string
message: string
Returns Promise<void>
setFolder
Метод позволяет изменять папку элемента иерархического справочника.
Parameters
id: string
Returns Promise<void>
setPermissions
Метод устанавливает новые права на элемент приложения.
Существующие права полностью заменяются новыми.
Для элементов приложения не имеют смысла права на создание, поэтому недоступно значение
PermissionValue.Create
.Parameters
permissions: TPermissions
Returns Promise<void>
setStatus
Метод позволяет изменить статус элемента приложения.
Статус элемента приложения меняется сразу при выполнении этого метода.
Дополнительного вызова не требуется.
Parameters
status: TStatus<any, any>
Optional comment: undefined | string
Returns Promise<boolean>
subscribe
Метод позволяет подписать пользователя на сообщения в ленте элемента приложения.
Parameters
user: TUser
Returns Promise<void>
unsubscribe
Метод позволяет отписать пользователя от сообщений в ленте элемента приложения.
Parameters
user: TUser
Returns Promise<void>
uploadSign
Загрузка подписи приложения.
Метод используется для реализации собственного механизма подписания в приложениях. С помощью данного метода можно использовать для приложения подпись, полученную у внешнего провайдера.
Для того чтобы воспользоваться методом, необходимо иметь:
тело подписи, представленное в формате base64;
тип подписи;
код провайдера (строковая константа, которая его идентифицирует);
хеш данных приложения, которые подписали;
данные, по которым вычислена подпись.
В примере указан скрипт, где:
dokument
— это приложение типа Документ в контексте;класс
MySignProvider
— несуществующий провайдер для примера.В результате мы получаем флаг, который говорит о результате загрузки. Если флаг имеет значение
true
, загрузка прошла успешно,false
— подпись не загружена.const app = await Context.data.dokument.fetch(); const provider = new MySignProvider(); const innerSigns = await Conetxt.data.dokument.getDataSigns(); const attributesInnerSign = innerSigns.find(sign => sign.type === SignType.Attributes); const sign = provider.Sign(attributesInnerSign.body); const newSign: NewSign = { sign: sign, codeProvider: "MyProvider", body: attributesInnerSign.body, signType: SignType.Attributes, hash: attributesInnerSign.hash, }; const isUploaded = await app.uploadSign(newSign);
Parameters
sign: NewSign
Returns Promise<boolean>
Properties
Methods