Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Настройка ограничения доступа к данных в 8.1
|
|||
|---|---|---|---|
|
#18+
Добрый день! Кто нибудь сталкивался с настройкой прав к полям справочника в ролях 8.1? В справке минимум описан и ничего непонятно, сказано что подмножество языка запросов, но какая его часть ни слова. Хочу сделай критерий доступа к справочнику Подразделения, но проблема что надо чтобы правило применялось еще и ко всем подчиненным этим подразделениям структурным единицам. Разрешенные для просмотра подразделения храняться в отдельном справочнике и определены для каждого пользователя в отдельности. Запрос есть который выбирает множество разрешенных подразделений, но вот это подмножество языка запроса не хочет его признавать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2009, 13:34 |
|
||
|
Настройка ограничения доступа к данных в 8.1
|
|||
|---|---|---|---|
|
#18+
Запрос выкладывай мы чё тебе телепаты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2009, 13:38 |
|
||
|
Настройка ограничения доступа к данных в 8.1
|
|||
|---|---|---|---|
|
#18+
Кури не справку, а штатную документацию по платформе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2009, 13:48 |
|
||
|
Настройка ограничения доступа к данных в 8.1
|
|||
|---|---|---|---|
|
#18+
в конструкторе запросов он отлично работает Вот сам запрос: ВЫБРАТЬ ПодразделенияОрганизаций.Ссылка ИЗ Справочник.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций ГДЕ (ПодразделенияОрганизаций.Родитель В ИЕРАРХИИ (ВЫБРАТЬ ПодразделенияОрганизаций.Ссылка КАК Наименование ИЗ Справочник.Доступ КАК Доступ ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций ПО Доступ.Подразделения.Подразделение = ПодразделенияОрганизаций.Ссылка ГДЕ Доступ.Пользователь = &Пользователь) ИЛИ ПодразделенияОрганизаций.Ссылка В (ВЫБРАТЬ ПодразделенияОрганизаций.Ссылка КАК Наименование ИЗ Справочник.Доступ КАК Доступ ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций ПО ДоступКДокументу.Подразделения.Подразделение = ПодразделенияОрганизаций.Ссылка ГДЕ Доступ.Пользователь = &Пользователь)) И (ПодразделенияОрганизаций.Ссылка = &Подразделение) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2009, 13:50 |
|
||
|
Настройка ограничения доступа к данных в 8.1
|
|||
|---|---|---|---|
|
#18+
Сисой, которая в програмфайлс/1с81? читал, там тоже все довольно поверхностно написано вся проблема то в том что конкретные люди должны смотреть определеный сегмент данных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2009, 13:52 |
|
||
|
Настройка ограничения доступа к данных в 8.1
|
|||
|---|---|---|---|
|
#18+
Ты будешь смеяться, но выражение В ИЕРАРХИИ в RLS не работает. Вариантов два: или тупо писать Подразделение.Родитель.Родитель и т.д. :-) или при старте системы формировать полный массив подразделений, доступных пользователю, класть его в ПараметрСеанса и всякий раз проверять на вхождение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2009, 14:20 |
|
||
|
Настройка ограничения доступа к данных в 8.1
|
|||
|---|---|---|---|
|
#18+
Спасибо Как этот запрос то в ограничения запихать, чтобы он срабатывал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2009, 14:23 |
|
||
|
Настройка ограничения доступа к данных в 8.1
|
|||
|---|---|---|---|
|
#18+
сами примеры написания ограничений доступа в ролях у кого нибудь есть? только, не где указывается 1 параметр, а где используются данные из запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2009, 14:40 |
|
||
|
Настройка ограничения доступа к данных в 8.1
|
|||
|---|---|---|---|
|
#18+
в УПП типовом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2009, 22:04 |
|
||
|
Настройка ограничения доступа к данных в 8.1
|
|||
|---|---|---|---|
|
#18+
Где можно взять этот типовой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2009, 07:19 |
|
||
|
Настройка ограничения доступа к данных в 8.1
|
|||
|---|---|---|---|
|
#18+
хм... купить. А как Вы хотели? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2009, 08:54 |
|
||
|
Настройка ограничения доступа к данных в 8.1
|
|||
|---|---|---|---|
|
#18+
Мне не нужна УПП, мне интересно решается мой вопрос. Покупать УПП ради того, чтобы посмотреть как решена одна задача нецелесообразно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2009, 09:06 |
|
||
|
Настройка ограничения доступа к данных в 8.1
|
|||
|---|---|---|---|
|
#18+
Protasoffсами примеры написания ограничений доступа в ролях у кого нибудь есть? только, не где указывается 1 параметр, а где используются данные из запроса. А ты не догадываешься, что построенное таким образом RLS-ограничение будет тормозить всю твою систему? Именно поэтому в типовых используется кэш параметров сеанса, а не обращение к подзапросам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2009, 12:51 |
|
||
|
Настройка ограничения доступа к данных в 8.1
|
|||
|---|---|---|---|
|
#18+
Понимаю, но уж очень они хотят построить высокие заборы для защиты данных от нежелательных взглядов. Другого варианта я не могу придумать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2009, 13:26 |
|
||
|
Настройка ограничения доступа к данных в 8.1
|
|||
|---|---|---|---|
|
#18+
ProtasoffПонимаю, но уж очень они хотят построить высокие заборы для защиты данных от нежелательных взглядов. Другого варианта я не могу придумать. У вас настройки доступа меняются ежечасно для одних и тех же юзеров? Если нет, брось изобретать велосипед и делай как принято: через создание массива - ПараметраСеанса при старте клиентской сессии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2009, 14:52 |
|
||
|
Настройка ограничения доступа к данных в 8.1
|
|||
|---|---|---|---|
|
#18+
Как это организовать правильно в параметрах сеанса? Я думал сделать через справочник в котором было соответствие пользователя с разрешенными подразделениями. Только есть нюанс в виде вложенных в эти подразделения структур, а их очень много. И документов с отчетами в которых надо закрывать просмотр информации много. А как я понимаю через параметр сеанса это надо в каждом документе и отчете прописывать доступ. Еще бы знать как, то можно было. К сожалению не сталкивался с этим по работе. Подскажите как что выстроить по порядку, буду очень признателен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2009, 07:23 |
|
||
|
Настройка ограничения доступа к данных в 8.1
|
|||
|---|---|---|---|
|
#18+
Проще простого. Делаешь справочник, как и думал. В нем прописываешь соответствие подразделениям верхнего уровня. ПриНачалеРаботыСистемы считываешь запросом В ИЕРАРХИИ все подразделения, доступные ТекущемуПользователю, далее командой Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку() помещаешь подразделения в ПараметрСеанса типа фиксированный массив. Ну а дальше дело техники, RLS: ГДЕ Подразделение В (&МассивДоступныхПодразделений) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2009, 11:09 |
|
||
|
Настройка ограничения доступа к данных в 8.1
|
|||
|---|---|---|---|
|
#18+
Параметр в ограничении доступа он &Массив он сам распознает? его нигде указывать не надо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2009, 11:30 |
|
||
|
Настройка ограничения доступа к данных в 8.1
|
|||
|---|---|---|---|
|
#18+
Нигде. Это имя ПараметраСеанса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2009, 12:14 |
|
||
|
Настройка ограничения доступа к данных в 8.1
|
|||
|---|---|---|---|
|
#18+
Буду пробовать спасибо за подробнее пояснения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2009, 12:50 |
|
||
|
Настройка ограничения доступа к данных в 8.1
|
|||
|---|---|---|---|
|
#18+
ГДЕ Подразделение В (&МассивДоступныхПодразделений) Подразделение - это где определить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2009, 13:26 |
|
||
|
Настройка ограничения доступа к данных в 8.1
|
|||
|---|---|---|---|
|
#18+
УРААА Все получилось! Огромное спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2009, 13:54 |
|
||
|
Настройка ограничения доступа к данных в 8.1
|
|||
|---|---|---|---|
|
#18+
Когда вот так делаю, он ругается на недостаточно фактических параметров. Подскажите какая ошибка в синтаксисе. Запрос = Новый Запрос; Запрос.Текст = " ВЫБРАТЬ ПодразделенияОрганизаций.Ссылка ИЗ Справочник.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций ГДЕ (ПодразделенияОрганизаций.Родитель В ИЕРАРХИИ (ВЫБРАТЬ ПодразделенияОрганизаций.Ссылка КАК Наименование ИЗ Справочник.ДоступКДокументу КАК ДоступКДокументу ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций ПО ДоступКДокументу.Подразделения.Подразделение = ПодразделенияОрганизаций.Ссылка ГДЕ ДоступКДокументу.Пользователь = &Пользователь) ИЛИ ПодразделенияОрганизаций.Ссылка В (ВЫБРАТЬ ПодразделенияОрганизаций.Ссылка КАК Наименование ИЗ Справочник.ДоступКДокументу КАК ДоступКДокументу ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций ПО ДоступКДокументу.Подразделения.Подразделение = ПодразделенияОрганизаций.Ссылка ГДЕ ДоступКДокументу.Пользователь = &Пользователь))"; Запрос.УстановитьПараметр("Пользователь", Пользователь); Результат = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку(); ПараметрыСеанса.ДоступПоПодразделениям = Результат; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2009, 08:34 |
|
||
|
Настройка ограничения доступа к данных в 8.1
|
|||
|---|---|---|---|
|
#18+
ПараметрыСеанса.ДоступПоПодразделениям = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка"); так тоже не получается Ошибка при получении аттрибута контекста ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2009, 08:53 |
|
||
|
Настройка ограничения доступа к данных в 8.1
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2009, 10:38 |
|
||
|
Настройка ограничения доступа к данных в 8.1
|
|||
|---|---|---|---|
|
#18+
и так пробовал, не помогло ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2009, 10:48 |
|
||
|
Настройка ограничения доступа к данных в 8.1
|
|||
|---|---|---|---|
|
#18+
Получается что он в фиксированный массив не хочет записывать ничего, т.к. не сопоставляет типы. Пробовал результат выборки записывать в массив и его занести в параметры сеансы, все равно не признает. Что может помочь с ними непонятно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2009, 14:37 |
|
||
|
Настройка ограничения доступа к данных в 8.1
|
|||
|---|---|---|---|
|
#18+
Пробовал Параметр сеанса по доступу привязать к специально созданному справочнику. Тоже не видит его. С фиксированным массивом никто не работал что ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2009, 12:34 |
|
||
|
Настройка ограничения доступа к данных в 8.1
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2009, 19:40 |
|
||
|
Настройка ограничения доступа к данных в 8.1
|
|||
|---|---|---|---|
|
#18+
ПолучитьПодразделенияДляДоступа().ВыгрузитьЗначения() - это откуда брать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2009, 07:10 |
|
||
|
Настройка ограничения доступа к данных в 8.1
|
|||
|---|---|---|---|
|
#18+
ПолучитьПодразделенияДляДоступа() - в данном примере своя функция, возвращающая СписокЗначений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2009, 10:31 |
|
||
|
Настройка ограничения доступа к данных в 8.1
|
|||
|---|---|---|---|
|
#18+
Разобрался, большое спасибо. RLS жестко работает, видимо все таки придется прописывать конкретно все подразделения ))) И по сотрудникам еще отдельно надо будет сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2009, 10:59 |
|
||
|
Настройка ограничения доступа к данных в 8.1
|
|||
|---|---|---|---|
|
#18+
Использование встроенного механизма ограничения доступа в 8.1 (Управление торговлей) Пример для справочника с небольшим числом строк (по типу справочника "Организации") Ограничения доступа по кассам В конфигураторе: Перечисления/ВидыОбъектовДоступа/Значение - добавить Кассы РегистрыСведений/ОбъектыДоступаДокументов/Измерения/ОбъектДоступа - добавить тип Справочник.Кассы РегистрыСведений/НастройкиПравДоступаПользователей/Измерения/ОбъектДоступа - добавить тип Справочник.Кассы РегистрыСведений/НастройкиПравДоступаПользователей/Измерения/ВладелецПравДоступа - добавить тип Справочник.Кассы Общие модули/НастройкаПравДоступа/ПолучитьВидОбъектаДоступа: Функция ПолучитьВидОбъектаДоступа(ОбъектДоступа) Экспорт Если ТипЗнч(ОбъектДоступа) = Тип("СправочникСсылка.Организации") Тогда Возврат Перечисления.ВидыОбъектовДоступа.Организации; //ДОБАВЛЯЕМ ТЕКСТ ИначеЕсли ТипЗнч(ОбъектДоступа) = Тип("СправочникСсылка.Кассы") Тогда Возврат Перечисления.ВидыОбъектовДоступа.Кассы; //ДОБАВЛЯЕМ ТЕКСТ ИначеЕсли ТипЗнч(ОбъектДоступа) = Тип("СправочникСсылка.ГруппыДоступаККонтрагентам") Тогда Возврат Перечисления.ВидыОбъектовДоступа.Контрагенты; Иначе Возврат Перечисления.ВидыОбъектовДоступа.ПустаяСсылка(); КонецЕсли; КонецФункции Для интерактивной настройки прав доступа - необязательная часть Обработки/НастройкаПравДоступа/Формы/НастройкаПравДоступа/Форма - добавить копированием страницу "Кассы", добавить копированием на страницу табличное поле ТаблицаПравДоступа_Кассы Обработки/НастройкаПравДоступа/Формы/НастройкаПравДоступа/Форма/ПередОткрытием: Процедура ПередОткрытием(Отказ, СтандартнаяОбработка) Если НЕ ПараметрыСеанса.ИспользоватьОграниченияПравДоступаНаУровнеЗаписей Тогда Предупреждение("В конфигурации отключено использование ограничения прав доступа не уровне записей."); Отказ = Истина; Возврат; КонецЕсли; ТипыОбъектовДоступа = Новый Структура; ТипыОбъектовДоступа.Вставить("Организации", Тип("СправочникСсылка.Организации")); ТипыОбъектовДоступа.Вставить("Контрагенты", Тип("СправочникСсылка.ГруппыДоступаККонтрагентам")); //ДОБАВЛЯЕМ ТЕКСТ ТипыОбъектовДоступа.Вставить("Кассы", Тип("СправочникСсылка.Кассы")); //ДОБАВЛЯЕМ ТЕКСТ СсылкаОбъекта = ЭтаФорма.КлючУникальности; МетаданныеОбъекта = СсылкаОбъекта.Метаданные(); Если Не НаличиеПраваНаЧтениеСсылки(СсылкаОбъекта) Тогда Предупреждение("Отсутствует право на чтение объекта!"); Отказ = Истина; Возврат; КонецЕсли; НастройкаПользователя = ТипЗнч(СсылкаОбъекта) = Тип("СправочникСсылка.ГруппыПользователей"); СформироватьЗакладки(); ОбновитьОтборПоНаследуемымЗаписям(); ПраваДоступаПользователей = РегистрыСведений.НастройкиПравДоступаПользователей.СоздатьНаборЗаписей(); НастройкаПравДоступа.ПрочитатьПраваДоступаКОбъекту(ПраваДоступаПользователей, СсылкаОбъекта); ПрочитатьТаблицыПравДоступа(ПраваДоступаПользователей); Заголовок = Заголовок + ": " + ?(НЕ ЗначениеЗаполнено(МетаданныеОбъекта.Синоним), МетаданныеОбъекта.Имя, МетаданныеОбъекта.Синоним) + ": " + ?(НЕ ЗначениеЗаполнено(СсылкаОбъекта),"<Весь справочник>", Строка(СсылкаОбъекта)); КонецПроцедуры Обработки/НастройкаПравДоступа/Формы/НастройкаПравДоступа/Форма/ПолучитьСписокОбластейДанных: Функция ПолучитьСписокОбластейДанных(ТипДанных) СписокОбластей = Новый СписокЗначений; Если ТипДанных = Тип("СправочникСсылка.Организации") Тогда СписокОбластей.Добавить(Перечисления.ВидыОбъектовДоступа.Организации); //ДОБАВЛЯЕМ ТЕКСТ ИначеЕсли ТипДанных = Тип("СправочникСсылка.Кассы") Тогда СписокОбластей.Добавить(Перечисления.ВидыОбъектовДоступа.Кассы); //ДОБАВЛЯЕМ ТЕКСТ ИначеЕсли ТипДанных = Тип("СправочникСсылка.ГруппыДоступаККонтрагентам") Тогда СписокОбластей.Добавить(Перечисления.ОбластиДанныхОбъектовДоступа.КонтрагентыСписок); ИначеЕсли ТипДанных = Тип("СправочникСсылка.ГруппыПользователей") Тогда // Добавим только те виды объектов доступа, для которых нет областей данных СписокОбластей.Добавить(Перечисления.ВидыОбъектовДоступа.Организации); //ДОБАВЛЯЕМ ТЕКСТ СписокОбластей.Добавить(Перечисления.ВидыОбъектовДоступа.Кассы); //ДОБАВЛЯЕМ ТЕКСТ // Добавим все области данных Для каждого Перечисление Из Перечисления.ОбластиДанныхОбъектовДоступа Цикл СписокОбластей.Добавить(Перечисление); КонецЦикла; КонецЕсли; Возврат СписокОбластей; КонецФункции Конец Для интерактивной настройки прав доступа - необязательная часть В ролях скопировать существующие шаблоны по организации и контрагенту, по доступу к журналам документов, дополнить их проверкой по кассе: скопировать секцию выбора по организации, заменить ссылку на справочник Организации ссылкой на справочник Кассы, изменить номер #Параметр(1). Скорректировать ограничения для нужных документов и журналов документов (изменить шаблон на новый, добавить параметр по кассе в соответствии с порядковым номером - наименование реквизита документа). Каждую роль настраиваем отдельно, ограничения можно скопировать. В предприятии: В настройках параметров учета поставить галочку "Ограничивать права доступа на уровне записей". Создать группы пользователей в справочнике ГруппыПользователей, определить их состав. Поставить галочку для вида объекта доступа, по которому будут установлены ограничения - Кассы. Заполнить регистр НастройкиПравДоступаПользователей - вручную или интерактивно обработкой "НастройкаПравДоступа" (Кнопка "Права" с справочнике ГруппыПользователей). Для корректной работы механизма ограничений заполнить регистр сведений ОбъектыДоступаДокументов - перепровести документы, к которым относятся ограничения доступа. Если этого не делать, в журналах и списках документов они будут видны, но открываться не будут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2009, 11:33 |
|
||
|
Настройка ограничения доступа к данных в 8.1
|
|||
|---|---|---|---|
|
#18+
Марина Васильевна, добрый день! воспользовался вашим мануалом но настройке ограничения по кассам... но при запуске базы выдает следующую ошибку {Обработка.НастройкаПравДоступа.Форма.НастройкаПравДоступа.Форма(364)}: Значение не является значением объектного типа (Метаданные) МетаданныеОбъекта = СсылкаОбъекта.Метаданные(); подскажите пожалуйста где я что то сделал не так... заранее благодарен... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2012, 08:36 |
|
||
|
|

start [/forum/topic.php?all=1&fid=28&tid=1520727]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
83ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
83ms |
get tp. blocked users: |
2ms |
| others: | 242ms |
| total: | 459ms |

| 0 / 0 |
