|
как установить УстановитьПривилегированныйРежим | ☑ | ||
---|---|---|---|---|
0
Эльфийка
29.11.12
✎
05:55
|
Доброго времени суток, Форумчане!
клиент-серверный вариант, управляемый режим. У роли СотрудникОтделаПродаж для документа РасходнаяНакладная есть право только на Чтение, Просмотр, Ввод по строке. В модуле формы документа в процедуре ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) был дан доступ на редактирование поля Комментарий. Как теперь дать этому СотрудникОтделаПродаж возможность сохранить документ, с измененными данными в поле Комментарий, без выполнения движений программно? В этой же процедуре ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) написала УстановитьПривелигированныйРежим(Истина); СтандартнаяОбработка= Ложь; При проверке модуля выходит сообщение, что "данная Процедура или функция с указанным именем не определена (УстановитьПривелигированныйРежим)." Как правильно определить данную процедуру? Создать Общий модуль? и как правильно описать данную процедуру? Заранее благодарю! |
|||
1
YHVVH
29.11.12
✎
06:52
|
УстановитьПривелигированныйРежим
УстановитьПривилегированныйРежим найди 5 отличий |
|||
2
YHVVH
29.11.12
✎
06:54
|
(0) но тебе с такими знаниями , лучше не использовать привЕлигированный режим
|
|||
3
Sammo
29.11.12
✎
07:02
|
Привели или Привиле ?
|
|||
4
Cyberhawk
29.11.12
✎
07:06
|
(0) реши задачу через внешнюю обработку, чтоб не лезть в процедуры формы / модуля объекта.
|
|||
5
Живой Ископаемый
29.11.12
✎
07:44
|
как в типовых
|
|||
6
cw014
29.11.12
✎
07:51
|
И самое забавное - в СП залезть не судьба...
|
|||
7
Эльфийка
29.11.12
✎
08:09
|
ок, ошиблась (скопировала текст с другого форума и не обратила внимание на ошибку). Написала УстановитьПривилегированныйРежим(Истина);
|
|||
8
Эльфийка
29.11.12
✎
08:10
|
что дальше, ? при попытке сохранения пишет Недостаточно прав для сохранения
|
|||
9
Эльфийка
29.11.12
✎
08:11
|
тьфу, Недостаточно прав для редактирования
|
|||
10
Эльфийка
29.11.12
✎
08:20
|
Забыла написать, база самописная, не типовая))))
|
|||
11
Defender aka LINN
29.11.12
✎
08:20
|
(8) Значит, недостаточно прав. Будешь и дальше нас развлекать, или уже программиста позовешь?
|
|||
12
Эльфийка
29.11.12
✎
08:26
|
(11)в том то и дело, что прав не достаточно, вопрос и заключается в том как дать право программно, без изменения RLS?
|
|||
13
Эльфийка
29.11.12
✎
08:27
|
(11) здесь вопросы только умные и опытные программисты задают? тогда извините , видимо форумом ошиблась
|
|||
14
cw014
29.11.12
✎
08:28
|
(0) У роли СотрудникОтделаПродаж для документа РасходнаяНакладная есть право только на Чтение, Просмотр, Ввод по строке
А как ты даешь возможность реквизит править? |
|||
15
Defender aka LINN
29.11.12
✎
08:30
|
(13) Не, вопросы здесь задают в том числе и неудавшиеся дворники. Скажи, ты пробовала открыть глаза до щелчка и прочитать описание метода УстановитьПривелегированныйРежим()?
|
|||
16
Эльфийка
29.11.12
✎
08:30
|
(14) Если РольДоступна("СотрудникОтделаПродаж") Тогда
ЭтаФорма.ТолькоПросмотр = Ложь; ЭтаФорма.Доступность = Истина; Элементы.Группа1.ТолькоПросмотр = Истина; Элементы.Группа8.ТолькоПросмотр = Истина; Элементы.Ответственный.ТолькоПросмотр = Истина; Элементы.Группа2.ТолькоПросмотр = Истина; //Элементы.Группа3.ТолькоПросмотр = Истина; //Элементы.Группа4.ТолькоПросмотр = Истина; //Элементы.Группа13.ТолькоПросмотр = Истина; Элементы.НачислениеАгентских.ТолькоПросмотр = Истина; Элементы.Автор.ТолькоПросмотр = Истина; Элементы.Комментарий.Доступность = Истина; Элементы.Комментарий.ТолькоПросмотр = Ложь; Элементы.РаспределениеПремийПоСотрудникамЗаполнитьПоСотрудникам.Доступность = Ложь; Элементы.РаспределениеПремийПоСерийнымНомерамЗаполнить.Доступность = Ложь; УстановитьПривилегированныйРежим(Истина); СтандартнаяОбработка= Ложь; КонецЕсли; |
|||
17
Эльфийка
29.11.12
✎
08:33
|
(15) нет, прочитала только вот:"Привилегированный режим исполнения кода, аналогичный режиму работы кода привилегированных модулей, можно включить/выключить средствами встроенного языка. Для этого в глобальном контексте предусмотрена процедура УстановитьПривилегированныйРежим(), а также функция ПривилегированныйРежим(), которая позволяет определить, включен привилегированный режим, или нет.
Использование привилегированного режима позволяет, во-первых, ускорить работу, так как не будут накладываться ограничения на доступ к данным, а во-вторых, позволяет выполнять операции с данными от лица пользователей, которым эти данные недоступны. Привилегированный режим рекомендуется использовать тогда, когда с логической точки зрения нужно отключить проверку прав, или когда можно отключить проверку прав, чтобы ускорить работу. " |
|||
18
Defender aka LINN
29.11.12
✎
08:38
|
(17) Читай дальше
|
|||
19
kosts
29.11.12
✎
08:43
|
(0) Можно поступить следующим образом.
На форме списка добавить кнопку "Изменить комментарий". В диалоге ввести комментарий. В привилегированном режиме записать документ с флагом ОбменДанными.Загрузка = Истина |
|||
20
Живой Ископаемый
29.11.12
✎
08:54
|
2(19) Ваш совет похож на такой:
"Как купить яхту, если у тебя нет денег? Нужно стать богатым, заказть постройку яхты в Бристоле или нантакете, и через год у вас будет своя яхта - плывите куда хотите!" |
|||
21
Defender aka LINN
29.11.12
✎
08:56
|
(19) Хватит курить всякую дрянь :)
|
|||
22
Seeker
29.11.12
✎
09:01
|
(16) - мб УстановитьПривелигерованныйРежим(Истина) перенести в начало модуля?
|
|||
23
Sammo
29.11.12
✎
09:04
|
(16) На толстом клиенте? Читай СП
Синтаксис: УстановитьПривилегированныйРежим(<Включить>) Параметры: <Включить> (обязательный) Тип: Булево. Определяет, будет ли включен привилегированный режим: Истина - включить режим; Ложь - выключить режим. Описание: В файловом варианте информационной базы или на сервере в клиент-серверном варианте информационной базы управляет (включает или выключает) привилегированный режим исполнения кода, аналогичный режиму работы кода привилегированных модулей. В привилегированном режиме никакие проверки прав не выполняются и разрешены любые операции. В клиент-серверном варианте при выполнении на клиенте данный метод не выполняет никаких действий. Первое выполнение метода с параметром Истина в файловом варианте информационной базы или на сервере в клиент-серверном варианте информационной базы включает привилегированный режим. Для явного выключения привилегированного режима необходимо внутри процедуры или функции, в которой он был включен, вызвать метод с параметром Ложь столько же раз, сколько раз в этой же процедуре или функции был вызван метод с параметром Истина. Если этого сделано не было, то при возврате из процедуры/ функции, в которой был включен привилегированный режим, он будет выключен автоматически (неявно). Если в процедуре или функции вызовов метода с параметром Ложь сделано больше, чем вызовов с параметром Истина, то будет вызвано исключение. |
|||
24
kosts
29.11.12
✎
09:24
|
(19) Однако это простой способ корректно решить данную задачу.
|
|||
25
Bober
29.11.12
✎
09:32
|
(24) самый постой и правильный способ. В дополнение к (19) открывать не стандартную форму а эту при открытии формы из списка
|
|||
26
Bober
29.11.12
✎
09:34
|
(0) ключевая ошибка что этот режим действует до конца процедуры/функции, в данном случае присозланиинасервере и работает эта вещь только на стороне сервера.
|
|||
27
Конфигуратор1с
29.11.12
✎
11:18
|
ПО идее
УстановитьПривилегированныйРежим(Истина); ЭтаФорма.ТолькоПросмотр = Ложь; ЭтаФорма.Доступность = Истина; Элементы.Группа1.ТолькоПросмотр = Истина; Элементы.Группа8.ТолькоПросмотр = Истина; Элементы.Ответственный.ТолькоПросмотр = Истина; Элементы.Группа2.ТолькоПросмотр = Истина; //Элементы.Группа3.ТолькоПросмотр = Истина; //Элементы.Группа4.ТолькоПросмотр = Истина; //Элементы.Группа13.ТолькоПросмотр = Истина; Элементы.НачислениеАгентских.ТолькоПросмотр = Истина; Элементы.Автор.ТолькоПросмотр = Истина; Элементы.Комментарий.Доступность = Истина; Элементы.Комментарий.ТолькоПросмотр = Ложь; Элементы.РаспределениеПремийПоСотрудникамЗаполнитьПоСотрудникам.Доступность = Ложь; Элементы.РаспределениеПремийПоСерийнымНомерамЗаполнить.Доступность = Ложь; УстановитьПривилегированныйРежим(Ложь); // СтандартнаяОбработка= Ложь; |
|||
28
Конфигуратор1с
29.11.12
✎
11:18
|
СтандартнаяОбработка= Ложь; - а зачем сие в при создании на сервере?
|
|||
29
mikecool
29.11.12
✎
11:20
|
вынести обработку в привилегированный модуль и не ипать мосх
|
|||
30
Конфигуратор1с
29.11.12
✎
11:20
|
(29)Как вариант
|
|||
31
Эльфийка
01.12.12
✎
02:09
|
(28) Так было написано на форумах, по данному вопросу о УстановитьПривилегированныйРежим)))).
|
|||
32
Эльфийка
01.12.12
✎
02:10
|
(27) Огромное спасибо, Конфигуратор1с, что ответили!!!!
|
|||
33
Конфигуратор1с
01.12.12
✎
16:13
|
(32)Так получилось?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |