|
Не работает привилегированный режим на обычных формах. | ☑ | ||
---|---|---|---|---|
0
Rizhij_Nikitos
28.06.23
✎
14:23
|
Ситуация: обычные формы, клиент-серверный вариант базы. Пользователь без прав на создание документа работает в документе и может возникнуть ситуацию, когда пользователю надо создать копию документа и записать туда его текущее состояние. Документ в котором он работает ему создает другой пользователь с достаточными правами.
Пользователю выведена кнопка - сохранить копию документа. Кнопка вызывает СоздатьДокумент() и дальше по тексту в новый документ складывается весь контекст формы и так далее. Очевидно, что в момент вызова СоздатьДокумент() проверка прав говорит что галочка на создание документов не стоит и НАРУШЕНИЕ ПРАВ ДОСТУПА!11. Вызов привилегированного режима на клиенте (в модуле обычной формы или в модуле объекта документа на обычных формах), естественно, не дает никаких результатов, потому что имеет силу только на сервере. Выходит, надо создавать документ на сервере. Но как туда попасть, если я не хочу весь контекст формы переть на сервер? Как мне заставить обычную форму работать на сервере?) Из решений я вижу два варианта: 1) разрешить пользователю создание документа и отбить в форме списка документов событие добавления нового объекта; 2) тащить в привилегированный модуль весь контекст объекта в его текущем состоянии как пользователь наредактировал. А может я могу как-то заставить модуль обычной формы или модуль объекта документа работать на сервере? |
|||
1
RomanYS
28.06.23
✎
14:25
|
Вызов серверного модуля
|
|||
2
Rizhij_Nikitos
28.06.23
✎
14:28
|
(1) да, это второй вариант решения, но он дорогой потому что надо паковать все пожитки и тащить в серверный модуль чтобы там распаковать и разложить в копию документа. Дорого, а я ленивый. Хочется в 2 строчки кода или типа того.
|
|||
3
Rizhij_Nikitos
28.06.23
✎
14:29
|
Еще я тут видел историю товарища (Обычное приложение, модуль объекта который подсунул основную форму документу управляемую и контекст модуля объекта вроде как тоже на сервере компилится. Но это тоже какой-то стремный способ.
|
|||
4
lodger
28.06.23
✎
14:40
|
(0) выйди на серверный модуль, там под привилегиями СоздатьДокумент(), заполнить его копированием по ссылке, записать(), вернули ссылку.
вернулся в форму документа с кнопкой, по ссылке получить форму, докинул то, что изменилось в текущей версии, показал форму |
|||
5
Rizhij_Nikitos
28.06.23
✎
14:53
|
(4) Отлично. Это то что я искал, спасибо. Сам уперся и никак не мог продумать путь.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |