История хранилища конфигурации 1с программно. Работа с хранилищем конфигурации удаленно. Настройка сервера хранилища конфигураций. Метод работы с хранилищем конфигурации по tcp. Добавление пользователей в хранилище

Nafa 647 14.01.10 02:27 Сейчас в теме

Статья полезная.
В работе хранилища действительно очень много неочевидных вещей, поэтому мои дополнения:
1. Если работают несколько программистов, то как вариант,
рабочий день обычно начинается со следущего:
запускаем свою базу в конфигураторе, на корне конфигурации правой кнопкой мышки - получить из хранилища, включаем галочку "рекурсивно", жмем ОК. После этого в конфигурацию получаем все, что наработали другие из хранилища. САМУ БД НЕ ОБНОВЛЯЕМ!!!
Далее желаем "сравнить конфигурацию с конфигурацией БД" - и видим список все изменений сделанных другими программистами группы за предыдущий день. Если есть вопросы по изменениям- обращаемся к тому, кто их делал.
После того, как все разобрали - сохраняем в БД.
Почему не сравнить с конфигурацией хранилища - во-первых чтобы не показывались те объекты, над которым сам работаешь, во-вторых это работает быстрее.
2. В середине дня: срочные изменения (для динамического обновления) отправляем в хранилище сразу. Не срочные - после того, как изменим все связанные объекты. (см. пояснение ниже)
3. В конце дня (а если надо делать полное обновление базы - то перед ним) сдаем в хранилище все что можно.
Это не обязательный порядок, но весьма удобный.

4. Почему не помещаем сразу:
потому что целостность изменений контролируется 1С только там где есть ссылка. То есть если например вы сделали справочник "Автомобили клиентов" и добавили ссылку на него в "расходную накладную", то поместить "Расходную накладную" в хранилище Вы сможете только после (или одновременно) со справочником "Автомобили клиентов". Но если Вы например использовали этот справочник в процедуре общего модуле, которая вызывается при проведении расходной накладной, то этот общий модуль в хранилище спокойно поместиться без помещения справочника. Если после этого другой программист получит этот модуль из хранилища, то в его базе расходные накладные проводиться перестанут. (А если обновить основную базу - то и там перестанут).
И то еще хороший случай - так как возникает просто ошибка. А вот если Вы например изменили тип реквизита в документе со строки на текст и в процедуре общего модуля была проверка Если Реквизит = "1" а стала Если Реквизит = 1 и модуль в хранилище поместили а документ - нет, то ошибки не будет (привет отсутствию контроля типов), а значит у тех кто такой модуль получит документы будет неправильно проводиться, (и хорошо если это будет не основная база). Поэтому изменения лучше сдавать в хранилище "полным пакетом" (все измененные по одной теме объекты), если что-то нужно Вам для другой задачи - можно сразу же захватить по новой или просто, помещая в хранилище, "оставить захваченным".

В этом плане я не совсем понял:

Если программистов много - то изменения каждого нужно отправлять в Хранилище поочереди, ПРЕДВАРИТЕЛЬНО выгрузив у всех работу во внешние файлы с конфигурацией локальной БД и (если объединение делается с разных рабочих мест), не забывая перед каждым объединением ОБНОВЛЯТЬ локальные БД из Хранилища - до последней версии, с присутствующим там изменениями ранее подключенных товарищей..

Странно, не было никаких проблем когда несколько человек сразу изменения помещали, разве что подтормаживало малость. На то захват объектов и предусмотрен, чтобы 2 человека сразу одно и то же не исправили. Причем было замечено, что: если 1 разработчик изменил документ, скажем "Авансовый отчет", а затем второй "получения" не делал, а сразу его захватывает (например, объект только что помещен в хранилище), то 1С это отследит и сама даст ему уже новую - измененную версию. (Так прикольно бывает - смотришь на документ - 5 реквизитов, захватываешь - уже 15).

И зачем работу во внешние файлы выгружать тоже не понял.

4. Создание копий базы для программистов проще делать не 1Совской загрузкой-выгрузкой (т.к. она требует монопольного режима и не шибко шустрая), а восстановлением скульного бекапа или просто копированием базе на скуле.

5. Если нужно добавить новый объект (документ, справочник и пр), то захватите корень конфигурации, добавьте его, добавьте минимум реквизитов (совсем "пустые" объекты не всегда сохраняется), сдайте корень в хранилище (этот объект тоже сдастся при этом) и заберите объект опять. (Чтобы не держать корень долго захваченным - он и другим нужен).

6. Если Вы хотите исправить права доступа на объект, захватили его - а права доступа по прежнему недоступны - захватите соответствующую роль.

7. Поскольку отладку лучше всего вести на максимально свежих данных, то рабочие базы нуждаются в обновлении. Для этого: поместите все изменения в хранилище, отключите базу от хранилища, перепишите в нее на скуле основную базу (из бекапа или просто скопируйте), подключите по-новой.

8. Когда делаем "получить все из хранилища" (п. 1) бывает, что 1с выдает кучу сообщений а потом пишет, что "не удалось" (список объектов при этом меняется). Значит давно не получали изменения. Ничего страшного, жмем ОК по новой и так до тех пор, пока не сработает, как надо.

9. Иногда 1С отказывается сохранять полученные из хранилища изменения, причем сообщение выдает абсолютно невнятное. Виновниками обычно являются "регистры сведений". Выясняем, у какого регистра сведений менялась структура, удаляем из него в своей базе все записи, после этого все обновится как надо.

10. Поскольку рабочие базы делаются из основной, то названия конфигураций совпадают и их легко перепутать и потом начинаются непонятки, когда пользователе говорит что у него в отчете 100 руб, а у Вас - 100,000 руб. Как вариант, добавляем в модуль приложения строчку, проверяющую при запуске программы что это за база и если не основная - выводящую это в заголовке программы 1С (например "РАБОЧАЯ БАЗА ПРОГРАММИСТА ИВАНОВА")

11. Когда база подключена к хранилищу, но при запуске не удалось к нему подключиться по любым причинам, то может выдаться сообщение "Не удалось подключиться, выполнить отключение от хранилища" (а у Вас есть захваченные объекты) - тут ОТВЕЧАЙТЕ "НЕТ". Но если случайно ответить "да" то - не пытайтесь подключиться по новой!!! Сначала сохраните конфигурацию в файл!!! Так как когда подключаемся к хранилищу, то вся конфигурация базы заменяется на конфигурацию хранилища. После этого загружаем изменения из сохраненного файла и работаем дальше.

При коллективной разработке требуется контроль за историей разработки, отслеживание объектов, которые дорабатываются в текущий момент.

Для этого и предназначено хранилище конфигурации.

  • если в конфигурации более одного разработчика
  • несколько баз, но решение единое и требуется их синхронизация
  • просто требуется сохранять историю разработки даже одного программиста

Значит вам надо разворачивать хранилище конфигураций.

Быстрый переход

Как это делается поэтапно:

  1. Зайти в « » и создать хранилище
  2. Указать его расположение (папку на которую есть права на запись)
  3. Задать имя Администратора и его пароль
  4. Далее, конфигурация подключится к созданному хранилищу
  5. Следующий шаг: добавление пользователей в хранилище — каждая база разработки привязывается к отдельному пользователю. Эти пользователи никак не связаны с пользователями информационной базы. Зайдите в «Администрирование хранилища»
  6. Добавляете и задаете пароль:
  7. Устанавливаете его права, достаточно прав на «Захват хранилища»
  8. Создаете новую базу из копии (или используете уже существующую), изменения должны быть сохранены, поскольку при первом подключении конфигурация синхронизируется с данными хранилища
  9. Указываете данные ранее созданного пользователя
  10. Вот и всё: подключение к хранилищ успешно завершено

Работа с хранилищем

При каждом старте запуске конфигурации требуется:

  • подключиться к хранилищу указав пароль, либо прописать его в параметрах запуска 1с «ConfigurationRepositoryP»(Пользователь: «ConfigurationRepositoryN», хранилище: «ConfigurationRepositoryF»)
  • либо отказаться от подключения, но не отвязывать хранилища — в этом случае вы сможете править только ранее «Захваченные» объекты, остальные только на просомтр

Для начала работы с объектом его требуется «Захватить» объект — установить монопольный доступ на его разработку. До этого все объекты доступны только на чтение (подобно «Поставке» до снятия с поддержке).

Это можно произвести двумя способами :


После окончания у вас два основных варианта :

  • отменить захват, при этом у вас объект восстановится их хранилища (этим отменяются также внесенные правки)
  • поместить измененный объект

В другой базы разработчик по вашему сигналу может обновить конфигурацию из хранилища:


Это основные команды для работы с хранилищем.

Особенности работы

Отбор захваченных объектов

  • можно отобрать все захваченные
  • захваченные определенным пользователем


В целом, хранилище работает очень стабильно:

  • проблемы возникали при сетевом хранении: слетало поле данных у реквизитов, скорее всего потеря данных в процессе помещения).
  • «хранилище конфигурации повреждено» такая ошибка происходит один раз в год — просто создали заново (делайте дополнительные копии этой папки).

Для резервного копирования достаточно настроить сохранение

1Cv8ddb.1CD и ПОЛНОСТЬЮ папку data, расположенную в той же папке, что и файл 1Cv8ddb.1CD

Если http-Сервер не отвечает или сбрасывает соединение, то может возникнуть ошибка «Неклассифицированная ошибка работы с хранилищем конфигурации»:

При «Ошибке сетевого доступа к серверу» попробуйте перезапустить службу хранилища и выполнить команду «Хранилище конфигурации/Закрыть хранилище/Открыть хранилище».

Если такая ошибка происходит при полном помещении, попробуйте помещать объекты частями — иногда срабатывают таймауты ответа сервера.

Уменьшилось удобство при повторном подключении

При восстановлении базы из копии сохраняются настройки подключения к хранилищу, но слепок может быть не верным, требуется переподключиться повторно к хранилищу.

Раньше, настройки: адрес хранилища и пользователь сохранялись, оставалось только внести пароль — это было гораздо быстрее.

Субъективно и процесс начальной синхронизации стал дольше — не припоминаю долго висящего состояния «Построение снимка версии конфигурации»

В 8.3. появился режим совместимости на вкладке «Прочее» в администрировании хранилища: этим можно включить новый формат хранения.

Особенности хранения

«Хранилище» до 8.3.3 это обычная файловая база, в виде файла 1Cv8ddb.1CD, в которой дополнительно хранится информация о захватах.

Внутренние таблицы не могут быть больше 4 ГБ иначе может быть ошибка: «Ошибка операции с хранилищем конфигурации. по причине: Превышен максимально допустимый размер внутреннего файла», но такое встречается только при очень интенсивной работе с хранилищем (много версий макетов и других емких объектов).

С версии 8.3.3 появилась папка «data»:
Скорее всего для более универсальной работы с системами версионного контроля.

В случае проблем с рассинхронизацией можно почистить каталог «Cache» в папке хранилища.

Механизм оптимизации

Находится на вкладке «Прочие»

Производится упаковка файлов метаданных в папку pack

  • Количества неупакованных файлов больше 5000.
  • Количества архивов более 50.

Основные этапы запуска удаленного хранилища конфигураций 1С 8 на сервере, на котором планируется установить сервер удаленного хранилища 1С 8 :

1. Установка 1С предприятия.
При установке платформы необходимо отметить следующие компоненты:

  • Сервер 1С:Предприятия 8.1
  • Адаптер web-сервисов 1С:Предприятия 8.1 (он понадобится для обеспечения доступа к серверу хранилища из интернета)
  • Сервер хранилища конфигурации.

1.1 Устанавливаем сервер хранилища как сервис, для этого нужно выполнить следующую команду:
"C:\Program Files\1cv81\bin\crserver.exe" -instsrvc -d "D:\WebRepo\"
- в ключе -d нужно указать путь к папке где будут храниться ваши хранилища.
2. Настройка поддержки WEB-сервисов.
В рамках данной статьи рассмотрим веб-сервер IIS 6.0(используется для Windows Server 2003).

Таблица соответствия версий IIS и ОС семейства Windows

Для настройки поддержки web-сервисов необходимо сделать следующее:

  • Необходимо зарегистрировать менеджер веб-сервисов: Start---Run "C:\Program Files\1cv81\bin\wsinst.exe" -iis.
  • В C:\Inetpub\wwwroot создаем каталог с именем appstorage1C
  • Создание прав на использование веб-сайтов. Открытие IIS / Веб-узлы / Веб-узел по умолчанию (правой кнопкой мыши) Свойства
  • Создание приложения IIS на основе виртуального каталога. Открытие IIS / Веб-узлы / Веб-узел по умолчанию / appstorage1C (правой кнопкой мыши) Свойства / Каталог / кнопка Создать
  • Проверка правильности указания пользователя для работы с IIS и флага анонимности. Открытие IIS / Веб-узлы / Веб-узел по умолчанию / appstorage1C (правой кнопкой мыши) Свойства / Безопасность каталога
  • Настройка отображения расширений.1cws и.1crs (+ .1ccr) на wsisapi.dll. Открытие IIS / Веб-узлы / Веб-узел по умолчанию / appstorage1C (правой кнопкой мыши) Свойства / Каталог / кнопка Настройка.

Обязательно указываем путь к исполняемому файлу в кавычках если имеется пробел в данном пути!!!

  • Добавление MIME типов 1C:Предприятия в настройки HTTP заголовков виртуальной директории Web-сервисов (расширения.1cws и.1crs (+ .1ccr), Mime тип text/xml). Открытие IIS / Веб-узлы / Веб-узел по умолчанию / appstorage1C (правой кнопкой мыши) Свойства / Заголовки HTTP
  • Разрешение запускать wsisapi.dll на IIS. (если не создано - в расширениях Web-сервисов IIS добавить wsisapi.dll как расширение Web-сервисов и разрешить ему запуск). Проверить имеется ли в наличии и при отсутствии создать:
  • Настройка прав пользователей на каталог исполняемого файла "C:\Program Files\1cv81\bin" 2-х учетных записей IIS

Для корректной работы нужно сделать "Port Forwarding / Port Triggering" портов 8080(+ 80) и 443 на сервер хранилища.

На данном рисунке представлены настройки роутера D-link. В данном случае 192.168.15.2 - сервер хранилища конфигурации.

3. Публикация конфигурационного файла веб-сервиса.
Нашему веб-сервису для корректной работы с сервером хранилища конфигураций необходим конфигурационный файл. Его нужно поместить в виртуальный каталог, который мы создали ранее, а выглядеть он должен вот так:

Это файл в формате XML с расширением 1ccr, с единственным узлом и атрибутом connectString - в этом атрибуте необходимо указать адрес нашего сервера хранилища конфигурации в сети. В нашем случае мы не разделяли сервер хранилища и IIS, поэтому указываем имя компьютера, на котором мы проделываем все эти действия. Назовем наш файл repository.1ccr.

4. Создание хранилища.
При запуске агента сервера хранилища конфигураций будет создан каталог"D:\WebRepo\" - это каталог хранилищ конфигураций. Если не указывать путь при регистрации сервера(как в пункте 1.1), то хранилище по умолчанию будет создано в каталоге %APPDATA%\1C\1Cv81\ maincr.
Для создания уделенного хранилища, необходимо из режима "Конфигуратор"(Конфигурация / Хранилище конфигурации / Создать хранилище...) создать новое хранилище, только указать в качестве каталога адрес нашего сервера:
<Имя виртуального каталога>/<Имя конфигурационного файла>/<имя хранилища>
Вот пример: http://78.45.99.183/appstorage1C/repository.1ccr/MyRepo. Но мы рекомендуем создавать хранилище соответствующей конфигурации непосредственно на сервере, на котором располагается сервер хранилищ конфигураций, так как это будет быстрее.

5.Подключение к хранилищу.
Подключаемся к хранилищу стандартными средствами, только в качестве каталога указываем адрес нашего сервера
http://78.45.99.183/appstorage1C/repository.1ccr/MyRepo


Для групповой разработки конфигурации в системе «1С:Предприятия» 8 используется специальный механизм — хранилище конфигурации . Хранилище конфигурации — это файловая база данных, в которую средствами конфигуратора помещается конфигурация, и которая хранит в себе информацию о редактируемых в данный момент объектах, а также историю изменения этих объектов. Доступ разработчиков к хранилищу конфигурации осуществляется либо в рамках локальной сети, либо по удаленному доступу с использованием веб-сервера. Изначально, конфигурация рассматривается как набор объектов, закрытых для изменения. Чтобы произвести изменения в объекте, его следует захватить, а одновременно объект может быть захвачен только одним пользователем. После работы с захваченными объектами, результат их модификации помещается в хранилище, после чего эти объекты становятся доступными всем участникам групповой разработки. Таким образом, осуществляется контроль доступа к одним и тем же объектам конфигурации, а также обеспечивается синхронизация работы группы разработчиков по модификации конфигурации. Ниже подробно рассмотрим процесс создания нового хранилища конфигурации в системе 1С:Предприятие 8.3 (в более старых версиях, 8.2 и 8.1 алгоритм создания хранилища аналогичен).

1. Создание нового хранилища

Для создания нового хранилища конфигурации необходимо запустить 1С:Предприятие в режиме Конфигуратор, подключившись к той информационной базе, конфигурация которой будет неким «фундаментом» — начальной конфигурацией создаваемого хранилища.

Запустив конфигуратор, выбираем в меню пункт «Конфигурация » — «Открыть конфигурацию » или же нажимаем соответствующую иконку на панели действий.

Когда конфигурация загрузится, там же в меню выбираем «Конфигурация » — «Хранилище конфигурации » — «Создать хранилище… »

Затем в окне создания хранилища необходимо указать расположение нового хранилища, это может быть:

  • Каталог на текущем компьютере, например: C:\1C_BASE\repository\Accounting
  • Сетевой ресурс, например: \\WIN2012\repository\Accounting
  • Адрес хранилища на (если он установлен), например: tcp://WIN2012/accounting

    Tcp://192.168.0.10/accounting

  • Адрес хранилища на сервере хранилищ, например: http://WIN2012R2/repository/repository.1ccr/Accounting

    Https://сайт/repository/repository.1ccr/Accounting

Указав расположение файлов создаваемого хранилища, нажимаем «Далее ».

Далее необходимо указать имя пользователя и пароль администратора хранилища. Чтобы сэкономить время, и сразу подключить данную информационную базу к хранилищу, укажем вместо этого учетные данные того пользователя, под которым будет подключена текущая база данных. А администратора хранилища создадим позднее. Введя имя пользователя и пароль, нажимаем «ОК ».

После чего начнется длительный процесс создания хранилища. Когда он завершится, мастер предложит нам подключиться к созданному хранилищу конфигурации. Нажимаем «Да ».

После подключения информационной базы к хранилищу, объекты конфигурации станут недоступны для редактирования, о чем будет свидетельствовать значок с изображением замка, напротив каждого объекта.

2. Добавление пользователей в хранилище

Теперь добавим нового пользователя хранилища конфигурации. Пусть это будет администратор хранилища, учетные данные которого предлагалось ввести на предыдущем шаге. Для добавления пользователя в хранилище, в конфигураторе выбираем «Конфигурация » — «Администрирование хранилища… »

В появившемся окне «Администрирование хранилища конфигурации » собраны все необходимые инструменты для администрирования хранилища. В частности, на вкладке «Пользователи » мы можем увидеть всех зарегистрированных в хранилище пользователей. Добавляем нового пользователя, нажав на соответствующую пиктограмму.

Вводим имя и пароль пользователя и переходим на вкладку «Права », для установки полномочий создаваемого пользователя хранилища.

Здесь, мы можем установить / или снять следующие права пользователей:

  • Административные функции – пользователь имеет права создания, удаления и отключения пользователей, отмены захвата, может изменять режим совместимости хранилища и выполнять процедуру оптимизации.
  • Изменение состава версий – пользователь имеет права выполнения отката и сокращения истории версий.
  • Захват объектов – пользователям с данным правом доступны захват и внесение изменений в конфигурацию хранилища. Если право не установлено, то объекты хранилища можно только просмотреть.

Определив необходимые права пользователя, нажимаем «ОК» .

После чего только что созданный пользователь появится в списке пользователей хранилища. Подобным образом создаются пользователи, под которыми разработчики, участвующие в групповой разработке, будут подключать свои информационные базы к данному хранилищу конфигурации. Для каждого разработчика необходимо создать отдельного пользователя.

3. Подключение к хранилищу конфигурации

Для подключения новой информационной базы к хранилищу конфигурации, также необходимо запустить конфигуратор для данной базы данных и прежде всего открыть конфигурацию, выбрав в меню «Конфигурация » — «Открыть конфигурацию ».

Затем в этом же меню выбираем «Конфигурация » — «Хранилище конфигурации » — «Подключиться к хранилищу… »

Конфигуратор предупредит, что при подключении текущая конфигурация будет заменена конфигурацией из хранилища. Нажимаем «Да », согласившись и продолжив подключение.

После чего, вводим адрес хранилища, имя и пароль раннее созданного пользователя и нажимаем «ОК » для подключения к хранилищу конфигурации.

Помогла ли Вам данная статья?

Назначение объекта конфигурации «Хранилище настроек» понятно из названия — хранить различные пользовательские настройки. Область применения данного объекта широка — в любой, хоть сколь-нибудь серьезной конфигурации требуется хранить какие-либо пользовательские настройки.

Для удобства программистов в каждой конфигурации существует несколько стандартных хранилищ настроек, кроме этого есть возможность создать столько дополнительных хранилищ настроек, сколько будет нужно.

Сначала разберемся со стандартными хранилищами настроек, которые присутствуют в любой конфигурации 1С начиная с версии 8.2.

Стандартные хранилища настроек

Итак, по умолчанию, в конфигурации имеются следующие хранилища настроек:

  • ХранилищеВариантовОтчетов — для доступа к настройкам вариантов отчетов.
  • ХранилищеПользовательскихНастроекОтчетов — для доступа к пользовательским настройкам отчетов.
  • ХранилищеНастроекДанныхФорм — для доступа к пользовательским настройкам данных форм.
  • ХранилищеОбщихНастроек — для доступа к общим настройкам.
  • ХранилищеСистемныхНастроек — для доступа к системным настройкам.
  • ХранилищеПользовательскихНастроекДинамическихСписков — для доступа к пользовательским настройкам динамических списков.

К каждому из этих хранилищ можно обратиться как к свойству глобального контекста.

Стандартные хранилище программист может использовать для своих нужд, сохраняя различные настройки в разрезе пользователя, объекта и самой настройки.

Для работы с хранилищами настроек (как со стандартными, так и с добавленными программистом) используются следующие методы.

Запись и получение настройки:

ХранилищеОбщихНастроек.Сохранить(НазваниеОбъекта, НазваниеНастройки, ЗначениеНастройки, ОписаниеНастройки, ИмяПользователя); ЗначениеНастройки = ХранилищеОбщихНастроек.Загрузить(НазваниеОбъекта, НазваниеНастройки, ОписаниеНастройки, ИмяПользователя);

Удаление лишней/ненужной настройки:

ХранилищеОбщихНастроек.Удалить(НазваниеОбъекта, НазваниеНастройки, ИмяПользователя);

Получение списка настроек:

СписокЗначенийНастроек = ХранилищеОбщихНастроек.ПолучитьСписок(ИмяОбъекта, ИмяПользователя);

Параметры «НазваниеОбъекта», «НазваниеНастройки» и «ИмяПользователя» должны строковой тип.

В базе данных, все настройки хранятся в отдельно таблице.

Хранилища настроек создаваемые программистом

Теперь поговорим о тех хранилищах настроек, что создаются программистом. Вообще, программист ничем не ограничен в своем желании создать новое хранилище настроек, но обычно отдельные хранилища настроек создают по следующим причинам:

  • необходимо перемещение настроек между базами данных;
  • необходим ссылочный контроль при хранении настроек;
  • требуется особая структура настроек 1С.

Хранилища настроек добавляют в соответствующем разделе конфигурации.

Ключевой особенностью хранилищ настроек, созданных программистом является необходимость ручной реализации методов записи и получения значений (Сохранить() и Загрузить()). В этих методах программист должен описать сохранение (в регистры сведений, файлы, справочники и тд.) и загрузку настроек при помощи встроенного языка.

В остальном же, принципы работы с созданным хранилищем практически не отличается от работы со стандартными хранилищами настроек.

Доступ к созданному хранилищу можно получить таким образом:

ХранилищаНастроек.НазваниеХранилища.Загрузить();

Кроме этого, созданными хранилищами можно заменять стандартные в различных объектах конфигурации и в самой конфигурации.

Управляемые формы имеют два свойства:

  • Автоматическое сохранение данных — если выбрано значение «Использовать», то данные будут сохраняться автоматически в стандартное хранилище настроек данных форм;
  • Сохранение данных в настройках — если выбрано значение «Использовать список», то в окне реквизитов формы появится столбец «Сохранение», с помощью которого можно указать какие реквизиты формы должны сохраняться, а также появиться возможность выбрать хранилище настроек для этих данных.

На этом все, надеюсь данная статья Вам помогла.