|
Ограничение на создание и изменение наименования элементов в справочнике | ☑ | ||
---|---|---|---|---|
0
anikulnikova
29.06.16
✎
05:06
|
Доброе утро всем, подскажите, как можно ограничить доступ на создание и изменение наименования справочника Должности(упр).
В справочнике есть табличные поля, которые пользователь должен заполнять. Поэтому полностью запретить редактирование не получится. Сами элементы справочника будут синхронизироваться при создании элемента в справочнике Должности организаций (регл). База УПП. |
|||
1
Mankubus
29.06.16
✎
06:20
|
Если РольДоступна() Тогда ...
|
|||
2
Михаил 1С
29.06.16
✎
06:52
|
(0) А если в форме взять и указать полю Наименование свойство ТолькоПросмотр=Истина
|
|||
3
Михаил 1С
29.06.16
✎
06:53
|
(2) Можно в ПриОткрытии() написать:
ЭлементыФормы.Наименование.ТолькоПросмотр = Не РольДоступна("МожноМенятьНаименованиеВДолжностях"); |
|||
4
Михаил 1С
29.06.16
✎
06:54
|
(3) А еще лучше - в УправлениеВидимостиДоступности()
|
|||
5
Рэйв
29.06.16
✎
06:55
|
(0)Должность "Генеральный директор" переименовали в "Подсобный рабочий 2 разряда"?:-)
|
|||
6
anikulnikova
29.06.16
✎
08:30
|
(3) Т.е. для начала необходимо создать роль? Которая будет позволять конкретному пользователю в исключительных ситуациях создавать и изменять наименование?
и Поясните пожалуйста, Не РольДоступна("МожноМенятьНаименованиеВДолжностях"); Как понять это? (4) Я не знакома с УправлениеВидимостиДоступности() Вообще с ролями и различным доступом туговато ))) |
|||
7
Mankubus
29.06.16
✎
08:36
|
(6) Можно создать или использовать существующую.
Как понять написано в СП Синтаксис: РольДоступна(<Роль>) Параметры: <Роль> (обязательный) Тип: Строка; ОбъектМетаданных: Роль. Название роли как она задана в конфигураторе или объект описания метаданного роли. Возвращаемое значение: Тип: Булево. Истина - роль доступна текущему пользователю; Ложь - в противном случае. Описание: Определяет доступность указанной роли текущему пользователю. Доступность: Сервер, толстый клиент, внешнее соединение. Примечание: Если передан неверный тип параметра или указано неверное значение, генерируется исключение. Пример: Если Не РольДоступна("Менеджер") Тогда Сообщить("Просмотр заявок от покупателей не разрешен!"); КонецЕсли; |
|||
8
FIXXXL
29.06.16
✎
08:52
|
(6) роль тут идет как флаг разрешения
можешь пользователей, которым можно менять, в отдельный рег.сведений и там проверять или в справочник пользователей галку добавить "Можно менять наименование" и проставить нужным смысл такой: текущий пользователь по какому-то признаку отличается от других и это дает ему право редактировать название а вот как хранить-анализировать этот признак, галкой, РС или наличием роли - решать тебе |
|||
9
Михаил 1С
29.06.16
✎
08:55
|
(6) Настя, привет.
1) Надо ли создать роль - я не знаю. Это зависит от твоей задачи. Если ты хочешь, чтобы кто-то имел право редактировать Наименование, то удобно сделать для него роль (создать ее в конфигураторе, убрать из нее права на все объекты и дать ее только такому пользователю). Можно использовать существующую роль. К примеру, ты знаешь, что роль ПолныеПрава только у тебя и только тебе надо иметь возможность менять Наименование, тогда используешь эту роль. 2) Если не знакома с процедурой УправлениеВидимостиДоступности(), то можешь просто поместить код в ПриОткрытии(). А вообще процедура УправлениеВидимостиДоступности служит для управления всякими визуальными особенностями формы. В нее обычно и помещают всякие такие вещи - показать или скрыть какое-то поле для кого-то, разместить заголовок формы и так далее. //название этой процедуры может немного отличаться в типовых объектах, я написал не точно. |
|||
10
anikulnikova
29.06.16
✎
10:45
|
(9) Как-то неформально, как-будто мы знакомы, но Привет Миша. ))
Если допустим откинуть вопрос о том, что для каких-то пользователей надо открывать доступ, т.к. возможно просто устроит свойство только просмотр, то по поводу запрета на создание я не сильно понимаю как это сделать. Т.е. надо как-то при открытии прописать, что если не стоит роль "СозданиеДолжностей", тогда запретить создание. Как-то так? |
|||
11
FIXXXL
29.06.16
✎
10:53
|
(10) за создание как раз Роли отвечают, конкретно галка Добавление в роли
если ее снять, будет "запрет на создание" ты объясни чего в оконцовке надо: нельзя только название менять, нельзя название и новых добавлять, или еще что? |
|||
12
DrZombi
гуру
29.06.16
✎
10:56
|
(11) Он хочет галочку и минимум писания в коде :)
|
|||
13
DrZombi
гуру
29.06.16
✎
10:56
|
+(12) Т.е. в коде вообще него не делать :)
|
|||
14
DrZombi
гуру
29.06.16
✎
10:57
|
||||
15
FIXXXL
29.06.16
✎
11:01
|
(13) в принципе сейчас Роли позволяют и на уровне реквизитов объекта рулит.
но сам не пользовал. не подскажу |
|||
16
anikulnikova
29.06.16
✎
11:04
|
(12) Во первых: не он, а она, во вторых: я просто не знаю, что написать в условии после Тогда, в процедуре при открытии, в справочнике Должности, и в третьих: сарказма Вам не занимать, луче бы подсказали, чем иронизировать... За ссылку спасибо
|
|||
17
anikulnikova
29.06.16
✎
11:08
|
(11) В оконцовке, нельзя создавать и менять наименование. Допустим для наименования я поставила галку ТолькоПросмотр, для создания, я создала роль "СозданиеДолжностей", в которой поставила галку Создание, в спрпавочнике Должности в процедуре при открытии написала
Если РольДоступна("СозданиеДолжностей") = Истина Тогда А вот как дальше сделать я не знаю, не знаю какие методы использовать.. ))) |
|||
18
Зая Бусечка
29.06.16
✎
11:09
|
ЭлементыФормы.ТвойРеквизит.Доступность = Истина
|
|||
19
YFedor
29.06.16
✎
11:10
|
Я так и не понял можно ли создавать новые элементы справочника?
|
|||
20
FIXXXL
29.06.16
✎
11:11
|
(19) я тоже :)
что нельзя создавать? название или элемент справочника? |
|||
21
anikulnikova
29.06.16
✎
11:25
|
(19) (20) Да я вроде все понятно объяснила еще в самой теме))
Надо чтоб было нельзя создавать новые элементы справочника |
|||
22
Зая Бусечка
29.06.16
✎
11:26
|
(21) Тогда ограничения на роль.
Или в ПередОткрытием Если НЕ рольДоступна() Тогда отказ = истина |
|||
23
mistеr
29.06.16
✎
12:05
|
Тут вообще кода не нужно. Есть права на справочник и права на реквизит. Роль конечно нудно создать.
|
|||
24
anikulnikova
29.06.16
✎
12:11
|
(22) что такое отказ = истина? Не понятно )))
|
|||
25
Зая Бусечка
29.06.16
✎
12:12
|
(24) Ctrl-F1 - ПередОткрытием
читай про параметры |
|||
26
FIXXXL
29.06.16
✎
12:15
|
(24) не учись копрокодить, разруливай назначением нормальных ролей
|
|||
27
anikulnikova
01.07.16
✎
06:53
|
Все-таки DrZombi был прав, здесь как оказывается необходимо использовать RLS, возможно у кого-то есть в это опыт? Подскажите, как можно сделать? А то я с с рлс не знакома =(
|
|||
28
FIXXXL
01.07.16
✎
09:13
|
(27)
1.посмотри у каких типовых ролей сейчас есть право на создание Должности(упр) 2.используются ли у тебя эти роли для пользователей? 3.напиши сюда результат :) ибо Роли работают "на разрешение" доступа, если даже сделаешь свою роль с запретом-ограничением, типовая с разрешением перекроет твою и запрет не будет работать |
|||
29
darius357
01.07.16
✎
09:27
|
ну как всегда побакланили, и нифига толку
|
|||
30
НЕА123
01.07.16
✎
09:35
|
вообще-то правильнее табличные части в подчиненный спр или РС.
|
|||
31
FIXXXL
01.07.16
✎
09:38
|
(30) хороший вариант, позволяющий отделить мух от котлет :)
|
|||
32
Serg_1960
01.07.16
✎
10:16
|
(0) Методически правильнее, имхо, подпиской на событие, где проверка факта изменения наименования и проверка разрешения на изменение.
А если в форме, то типа так: ЭлементыФормы.Наименование.ТолькоПросмотр = Не (РольДоступна("МожноМенятьНаименованиеВДолжностях") ИЛИ ЭтоНовый() ИЛИ Не ЗначениеЗаполнено(Наименование)); |
|||
33
anikulnikova
01.07.16
✎
10:37
|
(28) Посмотрела, используется в
1) КадровикУпрДанных 2) МенеджерПоПодборуПерсонала 3) ПолныеПрава, 4) РасчетчикУправленческойЗарплаты. Это все роли типовые. (30) Извините, не очень поняла Вас. (32) По поводу подписки на событие предложила начальству, сказали будет правильнее через рлс. (29) почему же? Толк есть, была масса предложений, но к сожалению начальство настаивает на своем ))) |
|||
34
Serg_1960
01.07.16
✎
12:03
|
"будет правильнее через рлс" - если он уже используется. А если не использовался, то и нет смысла его ради такой мелочи включать. RLS это такая штука хитрая, что лучше его не использовать (если есть возможность). И что ещё хуже (в контексте этой ветки) - его можно отключать :(
|
|||
35
FIXXXL
01.07.16
✎
12:13
|
(33) а у работающих людей эти права есть?
если есть, их надо будет копировать, изменять, назначать, при обновлении помнить об этом в общем тоже геммора хватает можно завести РС с пользователями, которым разрешено менять этот реквизит или запрещено, зависит кого больше, с разрешением или с запретом |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |