Хранилищеобщихнастроек нарушение прав доступа

Хранилищеобщихнастроек нарушение прав доступа

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

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

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

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

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

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

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

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

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

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

Читайте также:  Не работают фонари заднего хода на ниве

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

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

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

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

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

Программирование системы 17.06.2016 15:42 10381

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

Сохранить значение и восстановить значение (только обычное приложение)

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

Системные хранилища настроек (обычное и управляемое приложение)

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

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

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

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

Для того чтобы добавить сообщение, необходимо Войти или Зарегистрироваться

Автор: Admin 5 сентября, 2019 0 комментария

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

‘ХранилищеОбщихНастроек’ – представляет собой объект глобального контекста, с помощью которого осуществляется управление общими настройками для отдельного взятого пользователя.

Попробуем реализовать простой пример общих настроек конфигурации ‘Футбольные клубы’. Допустим у нас есть 3 настройки:

  • Любимый клуб;
  • Обновлять статистику автоматически при загрузке системы;
  • Отображать панель отчетов.

Добавляем общую форму настроек и отображаем эти реквизиты на форме:

Настройки пользователя.

Теперь с помощью метода ‘хранилищеобщихнастроек.сохранить‘ реализуем их запись в конфигурацию:

Параметры метода ‘Сохранить’:

[stextbox
* (обязательный) / Тип: Произвольный / Ключ объекта настройки. Здесь мы можем указать значение любого типа, характеризующий наш объект. В нашем случае это общие настройки конфигурации – ‘Конфигурация’. Если это были бы настройки документа, то можно было бы указать к примеру ‘”Документ.БонусыИгрокам’ и т.д.
* (обязательный) / Тип: Произвольный / Ключ объекта настройки. Здесь мы можем указать значение любого типа, характеризующий наш объект. В нашем случае это общие настройки конфигурации – ‘Конфигурация’. Если это были бы настройки документа, то можно было бы указать к примеру ‘”Документ.БонусыИгрокам’ и т.д.
* (необязательный) / Тип: Строка. / Ключ сохраняемых настроек. У одного ключа объекта, может быть много настроек с разными ключами: ‘ОбщиНастройкиПользователя’, ‘НастройкиУсловногоОформления’, ‘НастройкиИнтерфейса’ и т.д.
* (обязательный) / Тип: Произвольный. / Содержит настройки, которые нужно сохранить в хранилище. Собственно это и есть наши с вами настройки. В данном примере я буду хранить настройки в универсальной коллекции ‘Структура’.
* (необязательный) / Тип: ОписаниеНастроек. / Описание настроек.
* (необязательный) / Тип: Строка. / Имя пользователя, настройки которого сохраняются. Если не указан, то сохраняются настройки текущего пользователя.
[/stextbox]

Читайте также:  Покемон гоу в россии

[stextbox
Важно заметить что в качестве параметра ‘ИмяПользователя‘ у нас ничего не передается, соответственно мы работаем с настройками текущего пользователя.
[/stextbox]

Далее с помощью метода ‘ хранилищеобщихнастроек.загрузить‘ реализуем получение наших настроек:

Ссылка на основную публикацию
Хорошие характеристики для ноутбука
На сегодняшний день портативной электроникой никого не удивишь - персональным носимым компьютером имеют право именоваться не только планшеты, плееры и...
Фото для срисовки легкие но красивые карандашом
Хотите научиться рисовать, но не знаете с чего начать? Подборка самых простых и легких картинок для срисовки помогут создать красивый...
Фото для школьной беседы
Если обычный диалог подразумевает участие только двух пользователей, то в беседу можно позвать нескольких друзей. Эта функция удобна, если нужно...
Хорошие щетки стеклоочистителя отзывы
Проверяем щетки стеклоочистителей. На испытаниях — 8 брендов. Сегодня можно определить к себе на службу дворника любой националь… простите, конструкции:...
Adblock detector