Имя: Пароль:
1C
 
RLS Управление доступом
, ,
0 1c_yeah
 
11.11.14
13:45
Добрый день всем! Помогите решить проблему.

У пользователя настроено ограничение доступа на уровне записей для определенного справочника.

Задача: Необходимо для внешней обработки в поле ввода выбирать значение из этого справочника но без ограничения доступа.

заранее всем спасибо кто откликнется на помощь
1 Aleksey
 
11.11.14
13:46
привилегированный  режим не предлагать?
2 ssh2QQ6
 
11.11.14
13:47
(0) Вариант решения: т.к. ограничение настроено только изменение и добавления, то проблемы нет
3 Aleksey
 
11.11.14
13:48
УстановитьПривилегированныйРежим (SetPrivilegedMode)
Синтаксис:

УстановитьПривилегированныйРежим(<Включить>)
Параметры:

<Включить> (обязательный)

Тип: Булево.
Определяет, будет ли включен привилегированный режим:
Истина - включить режим;
Ложь - выключить режим.
Описание:

В файловом варианте информационной базы или на сервере в клиент-серверном варианте информационной базы управляет (включает или выключает) привилегированный режим исполнения кода, аналогичный режиму работы кода привилегированных модулей. В привилегированном режиме никакие проверки прав не выполняются и разрешены любые операции. В клиент-серверном варианте при выполнении на клиенте данный метод не выполняет никаких действий.
Первое выполнение метода с параметром Истина в файловом варианте информационной базы или на сервере в клиент-серверном варианте информационной базы включает привилегированный режим.
Для явного выключения привилегированного режима необходимо внутри процедуры или функции, в которой он был включен, вызвать метод с параметром Ложь столько же раз, сколько раз в этой же процедуре или функции был вызван метод с параметром Истина.
Если этого сделано не было, то при возврате из процедуры/функции, в которой был включен привилегированный режим, он будет выключен автоматически (неявно).
Если в процедуре или функции вызовов метода с параметром Ложь сделано больше, чем вызовов с параметром Истина, то будет вызвано исключение.

Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
Примечание:

По умолчанию привилегированный режим выключен.

http://www.1centerprise.com/devlinks?C="id=00033O00053M03454;lan=ru"#!id=00033O00053M03454
4 herfis
 
11.11.14
13:51
Что-то я особо не вижу человеческих решений.
Да и что это за ограничение доступа, если его можно обойти во внешней обработке?
5 1c_yeah
 
11.11.14
13:51
(1) Предлогать все!)

Я знаю про этот способ, но он поможет когда я программно обращаюсь к данным. О вот когда окрывается форма выбора (стандартная обработка). Куда написать эту строку?
6 1c_yeah
 
11.11.14
13:53
(2) Ограничение настроено на чтение
7 andreymongol82
 
11.11.14
13:54
(5) *Куда написать эту строку? - ну где-то в 1С
8 herfis
 
11.11.14
13:55
(6) Если читать можно, тогда просто подсовывай альтернативную форму выбора.
9 Aleksey
 
11.11.14
13:55
(5) Не понля, если есть доступ на чтения, то выборка отработает, ты же данные не меняешь
10 Kalambur
 
11.11.14
13:58
(3) внешней обработке похер этот режим )
(0) ну если чтение есть, то никаких проблем, смотри свой кривой код
11 1c_yeah
 
11.11.14
14:01
Почему все подумали что чтение есть

Как раз ограничение на чтение. То есть не все эелементи видны пользователю, а надо что в обработке были видны все!
12 Kalambur
 
11.11.14
14:02
(11) если ему нельзя, значит не надо, все просто же :)
13 1c_yeah
 
11.11.14
14:02
(10) Согласен, перед запросом установить привилегированный режим и выполнить запрос без конструкции Разрешенные во внешней обработке приведет к ошибке доступа
14 Aleksey
 
11.11.14
14:03
(10) Ну так дай доступ, если ему нежен он
15 1c_yeah
 
11.11.14
14:03
(12) Вот в том то и дело, что надо но только для выбора во внешней обработке
16 Kalambur
 
11.11.14
14:03
(13) ты сам то понимаешь, что нифига не понимаешь?
17 Kalambur
 
11.11.14
14:04
(15) и на_й сесть и рыбку съесть? проснись
18 herfis
 
11.11.14
14:05
(11) Тогда единственный способ получить эти данные - функцией привилегированного модуля. И показывать тоже нестандартно.
19 1c_yeah
 
11.11.14
14:05
(14) Ему нельзя видеть в базе эти элементы. Эти элементы это спр.ТипыЦен. В базе видеть нельзя. а в обработке в одном поле ввода надо иметь возможность указать любой типцены
20 Aleksey
 
11.11.14
14:06
(19) я не понял, что так сложно в обработки подсунуть список из строк?
А уж на сервере преобразовывай список во что хочешь
21 Kalambur
 
11.11.14
14:07
(20) щас скажет, что у  него нет доступа к серверу :)
22 Aleksey
 
11.11.14
14:07
Сформируй ручками свой список и пусть выбирает, можешь автоматом пройтись на сервере по справочнику и вытащить наименования и дать ему
23 1c_yeah
 
11.11.14
14:07
(18) Спасибо. Я понял что все надо делать не стандартно!!

(17) Вообще с точки зрения требований к функциональности системы тут ничего космического нет
24 Aleksey
 
11.11.14
14:08
(23) Стандартно, это когда если человек может видеть список, у него есть доступ на чтения к этому списку. А не так, здесь есть доступ, здесь нет
25 Kalambur
 
11.11.14
14:09
(23) тебе тыщу раз сказали сделать все на сервере и вернуть готовый список в обработку, ты как дятел долбишься
26 1c_yeah
 
11.11.14
14:09
(22) Да это не сложно. Все хотел сделать во внешней обработке а не в конфигурации
27 herfis
 
11.11.14
14:11
(23) Дай пользователю права на чтение кодов и наименований ВСЕХ элементов (для штатного получения представления). Список ссылок получай с сервера и пихай их в список выбора элемента. Путь пользователь не из формы выбора выбирает, а из списка.
(26) Если бы доступы можно было обойти во внешней обработке, то это была бы огроменная дырища в безопасности.
28 1c_yeah
 
11.11.14
14:15
(25) Можете оставить эту тему? Свои гениальные мысли оставьте при себе. От Вас кроме как негатива ничего ожидать..
29 1c_yeah
 
11.11.14
14:16
(27) Спасибо, так и зделаем)!
30 Kalambur
 
11.11.14
14:24
(28) как гению вообще может придти мысль во внешней обработке получить полный доступ к базе?
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.