.. _spec_ui-components_settings: Настройки пользователя =========================== .. versionadded:: AS 1.26.0-ms31 В данном разделе описывается взаимодействие с пользовательскими настройками Формат данных ---------------- Версия "1.0" ++++++++++++ Настройки пользователя сохраняются в бинарном формате, полученном из JSON-строки. В данной версии формат совпадает с тем, что используется в реестре настроек Сохраняемые/загружаемые настройки ------------------------------------ Далее перечислены настройки списка, которые будут сохраняться и загружаться: 1. Настройки списка в целом: - Видимость области итогов - Значение флага ``Разместить все колонки на экране`` - Высота заголовка - Высота строк - Видимость области группировки - Условия группировки 2. Настройки колонок списка: - Видимость колонки - Ширина колонки - Функция агрегации - Порядковый номер События прикладного слоя ------------------------ * :btk:event:`selection.FeatureCheck` — проверка поддержки функций работы с пользовательскими настройками на прикладной стороне. Проверяется функционал по имени `UserSettings`, на данный момент реализован только для компонента `selection.layout.composer.frame.grid`. В качестве ответа ожидается объект :java:ref:`CoreFeatureCheckResponse`, содержащий перечень поддерживаемых событий. Перечень содержит строковые значения имен событий без префикса компонента, например `SaveUserSettings`. * :btk:event:`selection.layout.composer.frame.grid.SaveUserSettings`. * :btk:event:`selection.layout.composer.frame.grid.SaveAsUserSettings`. * :btk:event:`selection.layout.composer.frame.grid.LoadUserSettings`. * :btk:event:`selection.layout.composer.frame.grid.LoadDefaultUserSettings`. Жизненный цикл загрузки/сохранения настроек ----------------------------------------------- Открытие фрейма +++++++++++++++ 1. Клиент выполняет :btk:event:`selection.FeatureCheck`. Проверяется готовность прикладным слоем обрабатывать события, которые отвечают за доступность контекстных пунктов меню и загрузку умолчательных настроек. 2. Если ответ не является :java:ref:`CoreFeatureCheckResponse`, механизм считается неподдерживаемым. 3. Применяется состояние, если версия формата пришедших настроек поддерживается: - загруженная :term:`Пользовательская настройка` (если есть); - иначе :term:`Автонастройки` (если включено :ref:`«Восстанавливать изменения…»`); - иначе результат :btk:event:`selection.layout.composer.frame.grid.LoadDefaultUserSettings` (если поддерживается); - иначе состояние по метаданным. Действия пользователя +++++++++++++++++++++ Пользователь может сохранять и загружать пользовательские настройки, используя контекстное меню списочного контрола .. seealso:: :ref:`grid_cm_user_settings` Закрытие фрейма +++++++++++++++ - Если флаг :java:ref:`CoreAutoSettings.isRestoreAutoSettingsRegardlessOfUserSettings(boolean)` или перекрытое значение через контекстное меню грида активны, то изменения интерфейса будут записаны в реестр настроек. API ---- * :java:ref:`CoreAutoSettings.isRestoreAutoSettingsRegardlessOfUserSettings(boolean)`, доступ к которой можно получить с помощью :java:ref:`CoreApplication.autoSettings()`. * Конфигурация сервера :xsd:attr:`Configuration.Databases.Database.UI.AutoSettings`. UI ------- .. seealso:: :ref:`Контекстное меню настроек пользователя`