|
|
|
Привилегированный модуль | ☑ | ||
|---|---|---|---|---|
|
0
Konst1Cv8
12.09.11
✎
21:24
|
Возникла проблема с перепроведением документа, к которому у пользователя нет доступа даже на чтение, при проведении им документа (на который у него есть все необходимые права). Не буду описывать, что пытался сделать, т.к. результат не был достигнут, а задам вопрос: как правильно реализовать этот механизм? (и + вариант механизма отмены проведения с перепроведением "недоступного" документа)
|
|||
|
1
zmaximka
12.09.11
✎
21:44
|
как вариант УстановитьПривегилированыйРежим()на время проведения документа а потом снять. Но возникают вопросы по безопасности этого дела
|
|||
|
2
zmaximka
12.09.11
✎
21:45
|
точнее перед проведением недоступного документа
|
|||
|
3
Konst1Cv8
12.09.11
✎
21:50
|
Спасибо, но нужны не функции из Синтакс-помощника, а реально работающий механизм.
|
|||
|
4
zmaximka
12.09.11
✎
22:09
|
ну дык тогда чуть подробнее опиши как этот пользователь с урезанными правами должен провести документ? После проведения разрешенного или на основании ?
|
|||
|
5
zmaximka
12.09.11
✎
22:12
|
Механизм кстати рабочий
[code] Процедура ПровестиПодчиненныеДокументыПоТаблице(пТаблицаДокументов) УстановитьПривилегированныйРежим(Истина); Для Каждого СтрокаТЗ Из пТаблицаДокументов Цикл КонецЦикла КонецПроцедуры [/code] |
|||
|
6
Konst1Cv8
12.09.11
✎
22:13
|
Попробую так: при проведении документа на который есть необходимые права, нужно в этой-же транзакции выполнить перепроведение другого документа, на который прав доступа нет.
|
|||
|
7
zmaximka
12.09.11
✎
22:15
|
ну либо в обработке проведения вызывай процедуру в которой будет устанавливатся привилегированный режим, либо в подписке на событие. Но еще раз замечу то не секьюрно это :)
|
|||
|
8
Konst1Cv8
12.09.11
✎
22:20
|
Спасибо, сейчас попробую в подписке на события
|
|||
|
9
Konst1Cv8
12.09.11
✎
23:25
|
Попытка передачи с клиента на сервер мутабельного значения 1-го параметра - попытка передать объект, а если выполнять на клиенте, то не работает УстановитьПривилегированныйРежим(Истина); :((
|
|||
|
10
Икогнито
12.09.11
✎
23:44
|
(9) вызовы процедур покажи
|
|||
|
11
Konst1Cv8
12.09.11
✎
23:51
|
В подписке вызова нет, т.к. это параметр подписки и все что с ней связано формируется автоматом, а установка режима вот:
Попытка УстановитьПривилегированныйРежим(Истина); ДокОтр.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Неоперативный); УстановитьПривилегированныйРежим(Ложь); Исключение УстановитьПривилегированныйРежим(Ложь); Отказ = Истина; ЗаписьЖурналаРегистрации("Косяк", УровеньЖурналаРегистрации.Ошибка, Док.Метаданные().Имя, Док); КонецПопытки; |
|||
|
12
Konst1Cv8
16.09.11
✎
13:21
|
и УстановитьПривилегированныйРежим должен выполняться на сервере, а подписка на события выполняется на клиенте
|
|||
|
13
zmaximka
16.09.11
✎
13:42
|
Доступность:
Сервер, толстый клиент, внешнее соединение. |
|||
|
14
vmv
16.09.11
✎
13:48
|
(6) "при проведении документа на который есть необходимые права, нужно в этой-же транзакции выполнить перепроведение другого документа, на который прав доступа нет"(С)
Растрелять без суда и следствия |
|||
|
15
Defender aka LINN
16.09.11
✎
13:55
|
(0) А нахрена перепроводить один документ из другого? Это у вас что-то в консерватории глубоко не так.
|
|||
|
16
neckto
16.09.11
✎
14:08
|
В конфигураторе, на закладке Права ткни галки Превелигированный режим при проведении и при отмене.
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |