Меню

1с права на хранилище общих настроек

Работа с пользовательскими настройками

Область применения: управляемое приложение, обычное приложение.

1.1. Для хранения персональных настроек пользователя следует использовать хранилище общих настроек. Например, чтение и запись значения настройки «Задавать вопрос при выходе из программы» для текущего пользователя реализуется на встроенном языке с помощью объекта ХранилищеОбщихНастроек :

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

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

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

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

В то же время, некоторые настройки могут быть объединены в структуру, массив или соответствие, если все обращения к ним выполняются одновременно, как к одной настройке. Например, параметры прокси-сервера для доступа к сети Интернет представляют из себя набор из нескольких значений (адрес прокси-сервер, имя и пароль пользователя), однако хранятся все вместе в виде одной структуры как одна самостоятельная настройка.

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

Пример реализации формы персональных настроек «Мои настройки» имеется в демонстрационной конфигурации Библиотеки стандартных подсистем .

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

2.3. Форма персональных настроек пользователя, другие формы (рабочие места), а также отдельные элементы форм для работы с персональными настройками должны быть доступны только пользователям с правом СохранениеДанныхПользователя .

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

Читайте также:  настройка приставки oriel 750

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

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

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

источник

Какие права должны быть у пользователя?

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

Вот и возник вопрос что делать с правами?

Тип: Булево. Если это свойство установлено в значение Истина, то выполнение процедур общего модуля будет выполняться на сервере без контроля прав доступа.

Сервер, толстый клиент, внешнее соединение.

(2) А какое это имеет отношение к ХранилищеСистемныхНастроек? Или к другим Хранилищам?

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

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

Чтение в хранилище настроек другого пользователя точно только с полными правами? (В документации ноль)

Если да, то тему можно закрывать.

(11)+ Часть кода внешней обработки, который работает с полными правами и не работает с не административными:

Тип: Булево.
Если это свойство установлено в значение Истина, то выполнение процедур общего модуля будет выполняться на сервере без контроля прав доступа.

Читайте также:  где хранятся настройки сталкера

Я так понимаю, что «то выполнение процедур общего модуля» означает, то что УстановитьПривилегированныйРежим() имеет смысл только в общих модулях.

(13) А вообщем-то это не имеет никакого значения, т.к. ХранилищеОбщихНастроек.ПолучитьСписок(«КлючСообщенийЧата»,ТекущийПользователь.Имя) не работает и в общем модуле с признаком «Привилегированный» 🙁

ХранилищеНастроек другого пользователя НЕ ДОСТУПНО ДЛЯ ПОЛЬЗОВАТЕЛЯ С НЕ АДМИНИСТРАТИВНЫМИ ПРАВАМИ!

А как же тогда можно осуществлять миграцию настроек между пользователями? (Это уже другой вопрос, но связанный с этой темой)

Администрирование данных — данное право регулирует административные действия над конкретной областью данных. К этим действиям относятся:

§ просмотр записей журнала регистрации и получение значений отбора без ограничений.
§ установка часового пояса информационной базы (области данных) (вызов метода УстановитьЧасовойПоясИнформационнойБазы()).
§ создание начального образа подчиненного узла распределенной информационной базы (вызов метода СоздатьНачальныйОбраз()).
§ обновление нумерации объектов (вызов метода ОбновитьНумерациюОбъектов()).
§ выполнение методов объекта СтандартноеХранилищеНастроекМенеджер в тех случаях, если выполняется работа с настройками пользователя, отличными от текущего.

источник

Хранилище настроек в 1С

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

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

Хранилища настроек в конфигураторе

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

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

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

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

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

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

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

Читайте также:  настройка bios для mach3

источник

Хранилище общих настроек в платформе 1С 8.2 и 8.3

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

Специально для этого в платформе 1С были созданы 2 объекта — стандартные общие хранилища и хранилища настроек 1С, созданные разработчиком на стадии разработки конфигурации.

Стандартное хранилище настроек платформы 1С

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

  • Записать настройки можно при помощи метода ХранилищеОбщихНастроек.Сохранить().
  • Потом для прочтения нужно использовать ХранилищеОбщихНастроек.Загрузить() с теми же параметрами.
  • Если настройка стала не актуальной, её можно удалить методом ХранилищеОбщихНастроек.Удалить().
  • Также в разрезе объекта можно получить список сохраненных настроек с помощью метода ХранилищеОбщихНастроек.ПолучитьСписок().

Сохраненные настройки хранятся в отдельной сводной таблице БД.

Хранилище настроек, создаваемое в конфигураторе

Хранилище настроек может создать и сам разработчик в конфигураторе 1С:

Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания — попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>

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

Создание своих настроек может понадобиться в том случае, если:

  • необходима миграции настроек между базами данных;
  • необходим ссылочный контроль данных настроек.

Использование хранилищ настроек в отчетах и обработках 1С

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

Флаг Сохраняемые данные данные позволяет автоматически сохранить значение при закрытии обработки:

Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

источник

Добавить комментарий

Adblock
detector