![]() |
![]() |
|
Ограничение доступа к справочнику | ☑ | ||
---|---|---|---|---|
0
Alex7771
03.09.25
✎
11:29
|
Не подскажите, если надо конкретным пользователя в 1с бухгалтерии 30 ограничить возможность добавлять/менять элементы в каком-нибудь справочнике ( например номенклатурные группы ) - это делается только через расширение ( т.е. мутим расширение которое при открытии формы элемента справочника например как-то идентифицировало что этому пользователю это делать нельзя и ругалось/выкидывало его обратно ) или как-то типовыми средствами можно ?
|
|||
1
Волшебник
03.09.25
✎
11:30
|
при открытии формы элемента надо устанавливать режим ТолькоПросмотр = Истина
|
|||
2
mikecool
03.09.25
✎
11:31
|
(0) настроить роли
|
|||
3
craxx
03.09.25
✎
11:31
|
(0) Роли уже запретили?
|
|||
4
Alex7771
03.09.25
✎
11:37
|
(3) отдельной роли на конкретный справочник не нашел
|
|||
5
Волшебник
03.09.25
✎
11:39
|
А ещё можно организационно запретить. Просто всем объявить и всё.
|
|||
6
mikecool
03.09.25
✎
11:40
|
(4) ну... тут надо помощника звать
|
|||
7
slad
03.09.25
✎
12:47
|
Создаешь Группу пользователей, проверяешь принадлежность пользователя к группе, если не принадлежит форму только на просмотр
|
|||
8
shuhard
03.09.25
✎
13:06
|
(4) что-то мешает создать и назначить роль в расширении ?
|
|||
9
Alex7771
03.09.25
✎
13:29
|
(8) я создал роль в расширении, добавил в расширение справочник, в роли указал для него галки чтение, только просмотр.
В предприятии создал профиль с этой ролью. У пользователя выбран профиль к примеру ГлБухгалтер и мой новый. Гав буху же разрешено менять этот справочник - и это право как я понимаю перекрывает мое. т.е. менять вводить можно. что не так делаю ? |
|||
10
shuhard
03.09.25
✎
13:33
|
(9)[что не так делаю ?]
всё, ГБ имеет полные права |
|||
11
Alex7771
03.09.25
✎
13:37
|
(10) ну т.е. если надо запретить кому то с полными правами то новой ролью не получится ?
|
|||
13
shuhard
03.09.25
✎
13:52
|
(11) ты точно 1С-ник ?
|
|||
14
PLUT
гуру
03.09.25
✎
13:59
|
(11) "В тех случаях, где роль не дает никаких прав на объекты метаданных, а служит только для определения того или иного дополнительного права, следует использовать метод РольДоступна. При использовании в конфигурации Библиотеки стандартных подсистем (БСП) следует использовать функцию РолиДоступны общего модуля Пользователи:
Например, без использования БСП: Если РольДоступна(...) Или <ЭтоПолноправныйПользователь> Или ПривилегированныйРежим() Тогда ... Либо аналогичная проверка с использованием БСП: Если Пользователи.РолиДоступны(...) Тогда ..." ©пижжено отсюда https://its.1c.ru/db/v8std/content/737/hdoc |
|||
15
СвинТуз
03.09.25
✎
14:03
|
(9)
"Гав буху" - Чем ЧК отличается от ЦК? - ЦК - цыкает, а ЧК - чикает. |
|||
16
СвинТуз
03.09.25
✎
14:04
|
(14)
с полными правами осторожнее в этом случае. |
|||
17
spiller26
03.09.25
✎
14:05
|
(9)
1. Нужно "вычислить" все роли, у которых есть права на добавление/изменение (далее РолиИзмСпр) 2. Делаешь расширение. В расширение кидаешь например Справочник.НоменклатурныеГруппы Закидываешь все роли РолиИзмСпр 3. В ресширении у всех ролей РолиИзмСпр ставишь права на Справочник.НоменклатурныеГруппы = Чтение, Просмотр, Ввод по строке. 4. Делаешь в расширении дополнительную роль, для отдельных личностей, для правки.
|
|||
18
spiller26
03.09.25
✎
14:08
|
(17) Мы так ограничили всем право на изм "Производственных календарей" и "Графиков работ сотрудников", чтобы было централизовано для всех организаций, а их сейчас 10-ть только в одной базе.
Меняют определнные пользователи и только по согласованию. |
|||
19
maxab72
03.09.25
✎
14:26
|
(17) не очень надежный способ. особенно когда широко используются расширения. Представь, что ты изменил в двух расширениях одну и ту же роль...
|
|||
20
spiller26
03.09.25
✎
14:30
|
(19) Начнем с того что само оиспользование даже одного и того же объекта может перекрыться, так что сами контролируйте в расширениях.
Я предложил и оно у нас работает уже 2-й год. А так придумайте сами реализацию данной задачи. |
|||
21
Alex7771
03.09.25
✎
14:40
|
короче, забил на роли, сделал расширение которое при открытии справочника смотрит есть ли определенный профиль и ставит только просмотр. Вроде работает, заняло полчаса.
&НаКлиенте Процедура Расш2_ПриОткрытииПосле(Отказ) //Вставить содержимое обработчика Польз = ПользователиКлиент.ТекущийПользователь(); ТолькоПросмотр = Расш2_ЕстьВГруппе(Польз); КонецПроцедуры &НаСервере Функция Расш2_ЕстьВГруппе(Польз) //Вставить содержимое обработчика Рез = Ложь; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ГруппыДоступаПользователи.Ссылка.Профиль КАК Профиль, | ГруппыДоступаПользователи.Пользователь КАК Пользователь |ИЗ | Справочник.ГруппыДоступа.Пользователи КАК ГруппыДоступаПользователи | |СГРУППИРОВАТЬ ПО | ГруппыДоступаПользователи.Ссылка.Профиль, | ГруппыДоступаПользователи.Пользователь"; Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); Пока Выборка.Следующий() Цикл Если СтрНайти(Выборка.Профиль.Наименование,"БЕЗДОСТУПА")>0 Тогда Рез = Истина; КонецЕсли; КонецЦикла; Возврат Рез; КонецФункции |
|||
22
ptiz
03.09.25
✎
15:25
|
(21) А пометка на удаление из формы списка, например? Правильный вариант: давать отказ в подписке ПередЗаписью.
|
|||
23
Мультук
гуру
03.09.25
✎
15:32
|
(21)
Ты проверял -- что запрет работает. Ок. Верю. А на пользователе, где запрет не должен работать проверял ? P.S. 1) Почему вот это не в запросе ? Если СтрНайти(Выборка.Профиль.Наименование,"БЕЗДОСТУПА")>0 Тогда 2) И где ГДЕ? |
|||
24
YaFedor
03.09.25
✎
15:46
|
Для расширений очень бы пригодились роли запрета ...
но их не завезли, поэтому - программно. |
|||
25
kostik79
03.09.25
✎
18:26
|
(0) В расширении создаёшь роль "ШышТебеАНеСправочник", назначаешь её кому надо, а при открытии формы проверяешь Если РольДоступна("ШышТебеАНеСправочник") Тогда ТолькоПросмотр = Истина
И не важно какие ещё права у юзера. (21) /заняло полчаса/ а тут 5 минут |
|||
26
Волшебник
03.09.25
✎
19:27
|
(21) Так и сказали в (1) ибо опыт
|
|||
27
Волшебник
03.09.25
✎
19:28
|
Но ваше наименование "БЕЗДОСТУПА" полное говно
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |