0
MaxisUssr
18.02.13
✎
11:35
|
стрОтбора = новый Структура("КлючОбъекта , Пользователь", "КВД" + Вариант , ПользователиИнформационнойБазы.ТекущийПользователь());
Выборка = ХранилищеВариантовОтчетов.Выбрать(стрОтбора);
ЭлементыФормы.ДействияФормы.Кнопки.ВосстановитьЗначения.Доступность = Выборка.Следующий();
Валится Выборка.Следующий() на всех пользователях без прав "Администрирование данных" по причине "Нарушение прав доступа".
Читаем СП к ф-и "ХранилищеВариантовОтчетов.Выбрать()":
Выбрать(<Отбор>)
Параметры:
<Отбор> (необязательный)
Тип: Структура.
Задает поле и значение отбора открываемой выборки. Ключ структуры описывает имя поля, а значение структуры - значение отбора по этому полю. В качестве полей для отбора могут задаваться поля "КлючОбъекта" ("ObjectKey"), "КлючНастроек" ("SettingsKey"), "Пользователь" ("User").
Отсутствие в элементе структуры соответствующего свойства означает, что отбор по полю не выполняется.
Если не установлен отбор по пользователю или указан пользователь, не являющийся текущим пользователем, т.е. делается попытка обратиться к настройкам, не принадлежащим текущему пользователю, то требуется наличие у текущего пользователя права "Администрирование данных". Таким образом, если пользователь, не обладающий правом "Администрирование данных", запросит выборку без установки отбора по текущему пользователю, при выполнении метода произойдет ошибка "Нарушение прав доступа".
Ясно сказано - если указан тек. пользователь - отбор должен работать у всех. В чем ошибка?
|
|