Получение сервиса клиентского уровня
Сервисы представляют основной API взаимодействия с системой в части функциональности, не связанной с конкретными элементами управления. Они позволяют получить информацию о текущем контексте выполнения, выполнять запросы к серверу, показывать модальные окна, взаимодействовать с разметкой и использовать множество других функций системы.
Доступ к сервисам предоставляет функция getService
разметки (тип Layout
). Функция getService
принимает тип сервиса, который нужно предоставить. Список сервисов клиентского уровня приведён в справочнике по JS API в разделе Services.
В Web-клиент версии 17 и выше функция getService
есть у всех ЭУ. Рекомендуется получать сервис в ближайшем элементе управления.
Следующий код демонстрирует пример получения списка всех операций редактирования, зарегистрированных для карточки, с помощью сервиса $EditOperationStore
.
export function onMyButtonClick(sender: CustomButton, e: IEventArgs) { (1)
let editOperationStore = sender.getService($EditOperationStore); (2)
let editOperations = editOperationStore.getAll(); (3)
}
1 | Метод onMyButtonClick обрабатывает событие нажатия кнопки. |
2 | Получаем разметку layout из элемента, вызвавшего событие. С помощью метода getService получаем сервис $EditOperationStore. |
3 | Вызываем метод getAll сервиса для получения списка всех операций редактирования. |