Cluster · разработчикам
app.ui
Объявление элементов страницы модуля и чтение или запись их значений.
Все методы SDK · Типы и ошибки
Получение объекта
page = app.ui.page("overview")__init__
Создаёт Interface. Обычный способ получения объекта показан выше; прямой конструктор не выполняет сетевые запросы.
def __init__(app: App) -> None: ...Аргументы
app: App, обязательный. Переданный ядром объект app. Второй App в модуле создавать не нужно.
Результат
None. Создаёт Interface. Обычный способ получения объекта показан выше; прямой конструктор не выполняет сетевые запросы.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
# Обычный способ получения объекта:
page = app.ui.page("overview")page
Создаёт объект существующей страницы для загрузки и редактирования значений.
def page(id: str) -> Page: ...Аргументы
id: str, обязательный. Идентификатор объекта, полученный при его создании. Не путь сервера.
Результат
Page. Создаёт объект существующей страницы для загрузки и редактирования значений.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
result = app.ui.page("object-id")define
Создаёт описание страницы для объявления в Module.pages.
def define(id: str, title: str | dict[str, str]) -> PageDefinition: ...Аргументы
id: str, обязательный. Идентификатор объекта, полученный при его создании. Не путь сервера.title: str | dict[str, str], обязательный. Подпись либо словарь локализаций, например ru и en.
Результат
PageDefinition. Создаёт описание страницы для объявления в Module.pages.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
result = app.ui.define("object-id", "Status")element
Создаёт описание текстового элемента, метрики, таблицы, кнопки, формы или списка задач.
def element(id: str, kind: str, label: str | dict[str, str] | None = None, **data: JSON) -> Element: ...Аргументы
id: str, обязательный. Идентификатор объекта, полученный при его создании. Не путь сервера.kind: str, обязательный. Тип text, metric, table, button, form или tasks.label: str | dict[str, str] | None, по умолчаниюNone. Подпись либо словарь локализаций, например ru и en.data: JSON, произвольные именованные аргументы. Допустимые именованные параметры: параметры элемента: columns, fields, action, value и другие по типу элемента; см. MODULES.md. Точные типы и исходные значения низкоуровневых операций приведены в разделе типов и ROUTES.md.
Результат
Element. Создаёт описание текстового элемента, метрики, таблицы, кнопки, формы или списка задач.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
result = app.ui.element("object-id", "text", value="Ready")set
Целиком передаёт значения страницы в ядро без проверки ревизии на стороне SDK.
async def set(page: str, data: JSON) -> bool: ...Аргументы
page: str, обязательный. ID страницы из объявления Module.pages.data: JSON, обязательный. Данные выбранной операции. Форма и ограничения описаны ниже; передаваемые JSON-значения копируются.
Результат
bool. True при успешном действии; у отзыва уже отсутствующей записи возможен False.
Права
Нужны interface.write.
Ошибки
- Ошибки ядра: AccessDenied при нехватке прав или выходе за ограничения, InvalidInput для неверных параметров, InvalidState для недоступного состояния, QuotaExceeded при превышении лимита, Unavailable при недоступной службе. Остальные коды представлены SDKError; см. TYPES.md. Ошибка канала связи вызывает RuntimeError. Действие с неизвестным результатом нельзя автоматически считать невыполненным.
Пример
result = await app.ui.set("overview", {"count": 1})get
Получает текущие значения страницы без её описания и ревизии.
async def get(page: str) -> dict[str, JSON]: ...Аргументы
page: str, обязательный. ID страницы из объявления Module.pages.
Результат
dict[str, JSON]. Получает текущие значения страницы без её описания и ревизии.
Права
Нужны interface.read.
Ошибки
- Ошибки ядра: AccessDenied при нехватке прав или выходе за ограничения, InvalidInput для неверных параметров, InvalidState для недоступного состояния, QuotaExceeded при превышении лимита, Unavailable при недоступной службе. Остальные коды представлены SDKError; см. TYPES.md. Ошибка канала связи вызывает RuntimeError. Действие с неизвестным результатом нельзя автоматически считать невыполненным.
Пример
result = await app.ui.get("overview")