УПП 1.3 в правах у реквизита организация нет доступа к RLS

1. sidalexsandr 3 20.03.17 11:17 Сейчас в теме
УПП 1.3. Создал новую роль МенеджерНов роли дал все права на документ ЗаказПокупателя. Перехожу к реквизиту Организация и почему-то не доступно "Ограничение доступа к данным".

Вопрос: как включить использование "Ограничение доступа к данным"?
+
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. japopov 68 20.03.17 11:22 Сейчас в теме
А ограничение именно по организациям вообще включено?
Это поможет:
http://1clancer.ru/article/prava_dostupa_v_upp._rls._obschie_svedenij_i_nastrojka_1010
+
3. sidalexsandr 3 20.03.17 11:46 Сейчас в теме
(2) Мне нужно ограничение доступа к организации только в реквизите документа Организация документа ЗаказПокупателя. Больше нигде ограничения по Организации не надо.
+
4. Cujo 2 20.03.17 12:09 Сейчас в теме
Опять у меня мозг сломался от вопроса, но, насколько я понимаю, ограничения RLS на реквизит наложить нельзя. RLS накладываем на таблицу документов. Например, ограничиваешь видимость документов по организациям. А там уже в типовой УПП написан шаблон на чтение. Если тебе нужно, чтобы RLS по организациям начал работать только для ЗаказПокупателя - тут нужно по-любому переписывать шаблон RLS. Не проверял, но попробуй убрать проверку параметра #ИспользоватьОграничениеПоОрганизации, и сообразить, как без включения глобального RLS по организациям сделать настройку для группы пользователей.
+
5. sidalexsandr 3 20.03.17 12:25 Сейчас в теме
(4) Мне нужно чтобы при создании документа ЗаказПокупателя пользователю при выборе Организации и при выборе Склада отображились только некоторые организации и Склады. Соответственно в RLS нужно указать список Организаций и Складов для определённого пользователя.
+
7. japopov 68 20.03.17 13:02 Сейчас в теме
(5) Типовым механизмом вообще никак.
Да и объясни мне, как это: тут мы организацию видим, тут не видим... а тут вообще не организация, это рыбу заворачивали? :-)

Вероятно, задачу ты поставил некорректно. Тебе не права ограничивать, а список выбора урезать надо. Или - ограничивать права, но тогда уж для всех документов.
Простейший вопрос: у пользователя ты ограничил (как-то?) доступ к ООО "А" в Заказах покупателя. Он открывает документ отгрузки по "А", ВИДИТ РЕАЛЬНЫЕ ОТГРУЗКИ В ЭТУ ОРГАНИЗАЦИЮ (!!!), смотрит структуру подчинённости, и оттуда открывает заказ... Дальше что должна сделать программа? Показать заказ? А с чего ли, если доступа нет? Не показывать? А почему, если пользователь его честно открыл из подчиненного документа?

Так что, думай над постановкой задачи, она некорректная...
+
8. Ганс 20.03.17 13:43 Сейчас в теме
(7)Согласен что постановка задачи неверна, скорей всего ему просто нужно список выбора ограничить)

"Простейший вопрос: у пользователя ты ограничил (как-то?) доступ к ООО "А" в Заказах покупателя. Он открывает документ отгрузки по "А", ВИДИТ РЕАЛЬНЫЕ ОТГРУЗКИ В ЭТУ ОРГАНИЗАЦИЮ (!!!), смотрит структуру подчинённости, и оттуда открывает заказ... Дальше что должна сделать программа? Показать заказ? А с чего ли, если доступа нет? Не показывать? А почему, если пользователь его честно открыл из подчиненного документа?"

Он не сможет открыть заказ, т.к. в структуре подчинённости он его не увидит) Ну это так, об извращениях)
+
9. japopov 68 20.03.17 14:03 Сейчас в теме
(8) А с чего ли?!
Тут в УПП нельзя наложить RLS на Номенклатуру. И всё по той же причине.
Если разрешать - то разрешать везде. Если запрещать - то запрещать везде. Ибо - нефиг! Если по RLS у пользователя недоступна Организация, то он по ней вообще ни одного документа не увидит!
+
12. Ганс 20.03.17 14:54 Сейчас в теме
(9)Если её чуть подправить RLS, то можно) а если брать типовую, то вы конечно правы!
+
13. japopov 68 20.03.17 15:07 Сейчас в теме
(12) "Чуть подправить RLS" не получится. Почему - смотрите мои ответы.
И в типовой тоже ничего не получится, форму придётся-таки менять.
+
15. Ганс 20.03.17 15:17 Сейчас в теме
(13) С тем что в типовой не получиться согласен(был согласен ещё в первом посту)
То что нельзя чуть(тут возможно и не чуть, но не суть) подправив RLS добиться желаемого результата не согласен совсем!)
+
10. sidalexsandr 3 20.03.17 14:06 Сейчас в теме
(7) Cписок выбора урезать надо
+
11. japopov 68 20.03.17 14:14 Сейчас в теме
(10) Тогда проще.Изменяйте форму документа и обрабатывайте Выбор у поля. Ставьте СтандартнаяОбработка = Ложь и реализуйте выбор из своего собственного списка значений (тут пригодится метод формы ВыбратьИзСписка).
+
14. sidalexsandr 3 20.03.17 15:17 Сейчас в теме
(11) Есть Процедура ОрганизацияПриИзменении(Элемент)

Вопрос: что в ней написать, чтобы у конкретного пользователя урезался список Организаций?
+
16. japopov 68 20.03.17 15:29 Сейчас в теме
(14) Тут писать уже поздно. Событие ПриИзменении() возникает уже ПОСЛЕ выбора. Вам нужно обрабатывать событие Выбор (скорее всего, для него обработчик и не будет назначен, так что сами напишете процедуру).

В принципе, ПриИзменении тоже неплохо бы обрабатывать, проверять полученное значение: пользователь может ввести значение не только выбором, но и с клавиатуры, например...
+
17. sidalexsandr 3 20.03.17 15:55 Сейчас в теме
(16) Как называется процедура Выбора?
+
6. nickpugachev 20.03.17 12:28 Сейчас в теме
Это на справочники Организации и Склады RLS надо накладывать, а не на заказы.
Одно но - это ограничение будет действовать для всех документов, не только для заказа. При этом другие организации и склады пользователь будет видеть как битые ссылки в документах, если не включать ограничение по организациям и складам в самих таблицах документов
Если нужно такое ограничение только для заказа и при этом пользователь должен видеть все заказы - реализовать это можно только кодом.
+
18. sidalexsandr 3 20.03.17 16:07 Сейчас в теме
Написал Организация = Справочники.Организации.НайтиПоНаименованию("КОНСТАНТА");
в процедуре ОрганизацияПриИзменении(Элемент)
Открываю документ и в нём не установился отбор по указанной Организации, а вместо того что надо полный список из Справочника Организации

Вопрос: как установить отбор?
+
19. japopov 68 20.03.17 16:12 Сейчас в теме
(18) Вам, кажется, придётся учиться 1С (обычные формы).

Вот тут
http://1c-programs.ru/chastye-voprosy-po-1s/kak-otkryt-formu-vybora-s-opredelennym-otborom-v-1s-82.html

Смотрите "Отбор на форме в поле ввода 1С 8.2 с несколькими значениями"
+
22. sidalexsandr 3 20.03.17 17:28 Сейчас в теме
(19) В какой процедуре в документе прописывать программное открытие формы с определенным отбором?
+
20. sidalexsandr 3 20.03.17 16:48 Сейчас в теме
Написал в процедуре ПриОткрытии()

Организация = Справочники.Организации.НайтиПоНаименованию("КОНСТАНТА");


Вопрос: почему не заполняется реквизит документа Организация указанным в программе значением ?
+
21. japopov 68 20.03.17 16:59 Сейчас в теме
(20) Искать элемент справочника по наименованию - это отвратительно плохо, просто-таки гарантируете себе проблемы. Создайте новую константу типа "СправочникСсылка.Организации", и в ней выбирайте одну для всех организацию. Или создайте параметр сеанса и заполняйте его для каждого пользователя отдельно... А искать по имени - плохо, имя может меняться.
+
23. sidalexsandr 3 20.03.17 17:33 Сейчас в теме
24. sidalexsandr 3 20.03.17 17:45 Сейчас в теме
Написал
Процедура ОрганизацияНачалоВыбора(Элемент, СтандартнаяОбработка)
	
	// 20.03.17
	ОрганизацияОтб = Справочники.Организации.НайтиПоНаименованию("КОНСТАНТА"); 
	ЗначениеОтбора = Новый Структура("Организация", ОрганизацияОтб);
	ПараметрыВыбора = Новый Структура("Отбор", ЗначениеОтбора);
	ОткрытьФорму("Документ.ЗаказПокупателя.ФормаДокумента", ПараметрыВыбора);
	Сообщить("Процедура ОрганизацияНачалоВыбора");
	
КонецПроцедуры
Показать


Не срабатывает даже оператор Сообщить("Процедура ОрганизацияНачалоВыбора");
Вопросы:
1) правильно ли я прописал отбор
2) правильно ли я выбрал процедуру для установки отбора?
+
25. japopov 68 20.03.17 18:04 Сейчас в теме
(24) А эта процедура привязана к событию элемента формы?
Простите, Вам, похоже, с самого начала читать про обычные формы в 1С и их события.
+
26. sidalexsandr 3 21.03.17 09:34 Сейчас в теме
(25) Написал Организация = Справочники.Организации.НайтиПоНаименованию("КОНСТАНТА");

В результате установлена указанная Организация, но список Организаций полный.

Вопрос: как отфильтровать список Организаций в реквизите документа Организация?
+
27. Diego_Iv 34 24.03.17 16:02 Сейчас в теме
(26) 1. Указываем: СтандартнаяОбработка=Ложь;
что программа понимала, что действовать надо не как обычно.
А затем пишем, что нужно открыть форму выбора организаций с нужным нам отбором.

2. Для организация проще сделать поле с выпадающим списком выбора. А этот список программно заполнить только нужными организациями.
+
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот