|
Привилегированый режим на клиенте |
☑ |
0
Mr Man
11.08.16
✎
15:03
|
Каким образом на клиенте установить привилегированный режим?
На сервере в установленном прив. режиме я получаю элемент справочника. Но при переходя обратно на клиент пишет что объект не найден.
Как установить привилегированный режим на клиенте?
&НаКлиенте
Процедура РасшПодп_ИВС_Подписать(Команда)
ПодписьСотрудника = ПолучитьПодписьСотрудника(Объект.Исполнитель);
ДанныеПодписи = РаботаСФайламиВызовСервера.ДанныеФайлаДляОткрытия(ПодписьСотрудника);
КонецПроцедуры
&НаСервере
Функция ПолучитьПодписьСотрудника(Исполнитель)
УстановитьПривилегированныйРежим(Истина);
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ФайлыСубъектыПерсональныхДанных.Ссылка КАК Файл
|ИЗ
| Справочник.Файлы.СубъектыПерсональныхДанных КАК ФайлыСубъектыПерсональныхДанных
|ГДЕ
| ФайлыСубъектыПерсональныхДанных.ФизическоеЛицо = &ФизическоеЛицо";
Запрос.УстановитьПараметр("ФизическоеЛицо", Исполнитель.ФизЛицо);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
ПодписьСотр = Неопределено;
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ПодписьСотр = ВыборкаДетальныеЗаписи.Файл;
возврат ПодписьСотр
КонецЦикла;
КонецФункции
|
|
1
Fragster
гуру
11.08.16
✎
15:05
|
никак
|
|
2
Mr Man
11.08.16
✎
15:10
|
(1) эх)) и че? из за этого весь код перепиливать?
|
|
3
Mauser
11.08.16
✎
15:12
|
(2) Конечно. Сначала делать, а потом думать - плохой паттерн.
|
|
4
Mr Man
11.08.16
✎
15:16
|
(3) млин пошел рефакторинг))
|
|
5
Aleksey
11.08.16
✎
15:19
|
а что ты на клиенте собрался читать в привилегированный режиме?
|
|
6
hhhh
11.08.16
✎
15:32
|
(4) ну так
&НаКлиенте
Процедура РасшПодп_ИВС_Подписать(Команда)
РасшПодп_ИВС_ПодписатьНаСервере();
КонецПроцедуры
&НаСервере
Процедура РасшПодп_ИВС_ПодписатьНаСервере()
УстановитьПривилегированныйРежим(Истина);
ПодписьСотрудника = ПолучитьПодписьСотрудника(Объект.Исполнитель);
ДанныеПодписи = РаботаСФайламиВызовСервера.ДанныеФайлаДляОткрытия(ПодписьСотрудника);
КонецПроцедуры
|
|
7
Mr Man
11.08.16
✎
15:43
|
(6) в док обороте ДанныеПодписи - должно быть на клиенте, ибо
функция ФайлНаходитсяВЛокальномКэшеФайлов() работает на клиенте.
ФайлВРабочемКаталоге = ФайлНаходитсяВЛокальномКэшеФайлов(
ПараметрыВыполнения.ДанныеФайла,
ПараметрыВыполнения.ДанныеФайла.Версия,
ПараметрыВыполнения.ПолноеИмяФайла,
Истина,
Ложь);
|
|
8
hhhh
11.08.16
✎
15:49
|
(7) а что такое ДанныеПодписи? если реквизит формы, то он виден и на клиенте и на сервере. Чего вы нас пуиаете?
|
|
9
ИС-2
11.08.16
✎
15:50
|
(1) ошибайтесь. Можно отключить параметры сеанса отвечающие за RLS
|
|
10
Fragster
гуру
11.08.16
✎
15:58
|
(9) за RLS - да. только это не добавит прав на таблицы, на которые нет прав, например. Ну и "временно" отключать параметры сеанса, отвечающие за RLS - это прям такой копроподход, что даже слов нет.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший