Стандартные web-сервисы
В данном разделе рассмотрены основы работы с сервисами, а также основные web-сервисы, доступные для использования в web-расширениях.
Сервисы представляют основной API взаимодействия с системой в части функциональности, не связанной с конкретными элементами управления. Они позволяют получить информацию о текущем контексте выполнения, выполнять запросы к серверу, показывать модальные окна, взаимодействовать с разметкой и использовать множество других функций системы.
Сервисы информации о текущей карточке/строке/разметке
Информацию о текущей разметке можно получить с помощью следующих сервисов:
-
$CardId
— идентификатор текущей карточки текущей разметки. -
$RowId
— идентификатор текущей строки текущей разметки (если открыта разметка строки, а не карточки) -
$CardTimestamp
—timestamp
текущей карточки текущей разметки. -
$CardInfo
— дополнительная информация о текущей карточке, текущей разметки. Например, там можно найти тип и вид карточки, ее состояние и другие данные. -
$RowInfo
— дополнительная информация о текущей строке, текущей разметки (если открыта разметка строки). -
$LayoutInfo
— дополнительная информация о текущей разметке. -
$Layout
— экземпляр текущей разметки. Содержит множество различных методов, среди которых сохранение (save
), перезагрузка (reloadFromServer
), смены состояния карточки (changeState
) и другие. -
$ControlStore
— предоставляет доступ к элементам управления на разметке по имени через методыget
иtryGet
. Первый метод генерирует ошибку, в случае отсутствия элемента управления с таким именем, второй просто возвращаетnull
. -
$EditOperationStore
— позволяет получить информацию о доступности операции редактирования.
Сервисы информации об окружении
Информацию в целом о текущем контексте работы приложения можно с помощью следующих сервисов:
-
$CurrentEmployeeId
— идентификатор текущего пользователя. -
$CurrentEmployeeAccountName
— имя учетной записи текущего пользователя. -
$CurrentEmployee
— расширенная информация о текущем пользователе. Состав полей можно найти в описании типаCurrentEmployeeInfo
. -
$ApplicationTimestamp
— строка, изменяющаяся при перезапуске веб-сервиса. -
$ApplicationSettings
— системные настройки (см.GenModels.ApplicationSettings
). -
$Locale
— двухбуквенное обозначение текущей выбранной локализации веб-клиента (например:ru
,en
). -
$CurrentFolder
— информация о текущей открытой папке (см.ICurrentFolderService
). -
$DeviceType
— обозначение текущего выбранного типа устройства (компьютер/телефон/планшет). См.GenModels.DeviceType
.
Сервисы для выполнения запросов
Выполнение запросов к серверу осуществляется через сервис $RequestManager
. Сформировать URL запроса поможет сервис $UrlResolver
.
Подробнее см. "Сервисы для выполнения запросов".
Сервисы для отображения сообщений
Показать на экране простое информационное сообщение можно с помощью сервиса $MessageWindow
. Основные методы этого сервиса: showInfo
, showWarning
, showError
. Они различаются только цветом оформления и отображают диалоговое окно.
Подробнее см. "Сервисы для выполнения запросов".
Сервис навигации
Для перехода между страницами существует сервис $RouterNavigation
. Он предоставляет следующие методы:
export interface IRouterNavigation { refresh(): Promise<void>; goTo(route: string, refresh?: boolean): Promise<void>; openUrl(url: string, mode: GenModels.OpenMode): Promise<void>; back(): Promise<void>; }
-
refresh
— перезагружает содержимое текущей страницы. Например, если открыта карточка, то перезагружается разметка карточки. -
goTo
— открывает страницу по указанному хеш-адресу. Для получения корректного адреса можно использовать следующие функции:-
getCardViewRoute
,getCardEditRoute
,getCardCreateRoute
- для отображения разметки карточки. -
makeFolderUrl
- для открытия папки -
getViewDirectoryRoute
- для открытия справочника -
getRowEditRoute
,getRowViewRoute
,getRowCreateRoute
— для отображения разметок строки. Опциональный параметр refresh определяет поведение, в случае если переданный ардес совпадает с текущим. Еслиrefresh = true
, то в такой ситуацию будет произведено обновление страницы.
-
-
openUrl
— расширение методаgoTo
, добавляющее возможность открывать адрес в новой вкладке или новом окне (параметрmode
). При открытии в текущей вкладке работает также, какgoTo
. -
back
— возврат на предыдущую страницу.
Настройка роутинга осуществляется с помощью сервиса $Router
. В нем присутствуют методы для регистрации своих обработчиков. Подробнее об этом сервисе будет рассказано в другой статье, посвященной реализации собственных страниц.