|
Запись документа без наличия прав | ☑ | ||
---|---|---|---|---|
0
moonlight
18.10.22
✎
10:09
|
Добрый день.
1С УТ (обычные формы) Каким образом программно (модуль формы) можно дать возможность пользователю записывать документ, если у него права только на просмотр этого документа? Доступ к кнопкам Запись и ОК предоставил установив Свойство "Только просмотр" = Ложь. Пытался поиграть методом УстановитьПривилегированныйРежим - не получилось. Спасибо. |
|||
1
Fish
18.10.22
✎
10:12
|
А зачем такой изврат? Если пользователю надо записывать документ - дайте права на запись.
|
|||
2
Гений 1С
гуру
18.10.22
✎
10:15
|
(0) в привилегированном модуле попробуй, ггг.. хотя это программно.
а так создай кнопку без галочки Изменяет данные и по ней копируй данные формы в объект и его записывай. Сама форма не даст записать. |
|||
3
YFedor
18.10.22
✎
10:22
|
(2) После записи в эту форму же не запихать данные вновь созданного объекта?
Тогда, наверное, лучше открывать какую-то другую форму, которая будет выглядеть как форма документа, но ей не будет являться ... |
|||
4
moonlight
18.10.22
✎
10:24
|
(1) Да вот такое задание)
|
|||
5
moonlight
18.10.22
✎
10:26
|
(2) Надо по кнопке формы "ОК".
|
|||
6
Asmody
18.10.22
✎
10:29
|
(0) Если вы хотите делать из формы документа, значит у вас что-то не так с архитектурой и/или с назначением ролей/прав.
|
|||
7
Гений 1С
гуру
18.10.22
✎
11:24
|
(5) скройте типовую кнопку ОК, создайте свою, гггг
|
|||
8
1Сергей
18.10.22
✎
11:30
|
(4) Ваша задача убедить постановщика что так делать не надо
|
|||
9
vicof
18.10.22
✎
11:36
|
(8) +100500
|
|||
10
PR
18.10.22
✎
11:39
|
(4) — Как насрать в горшок, не снимая штанов?
— А зачем такой изврат? — Да вот такое задание Если ты думаешь, что ты этой фразой сказал, что это не ты идиот, а тот, кто тебе дал такое задание, то нет |
|||
11
Гений 1С
гуру
18.10.22
✎
12:32
|
(10) надо быть открытым для пожеланий клиента и помнить что
а) клиент всегда прав б) любой каприз за ваши деньги в) я то сделаю, но жить с этим вам. |
|||
12
PR
18.10.22
✎
12:35
|
(11) Геня, это твои принципы
Ты, я так понимаю, по таким принципам за деньги и в попу дашь и в рот возьмешь А нормальные люди во всякий блудняк не ввязываются, потому что говно, подброшенное на лопате, все-равно упадет тебе же на голову |
|||
13
moonlight
18.10.22
✎
15:50
|
Это вопрос на одном из собеседований как мне сказали!)) Необходимо реализовать вот такую задачу.)
|
|||
14
Fish
18.10.22
✎
15:53
|
(13) И правильный ответ на него в (8) :)
|
|||
15
ptiz
18.10.22
✎
15:56
|
(0) Фраза "у него права только на просмотр" может означать разные вещи.
Если у пользователя в роли есть право на "Запись", но нет права на "Редактирование", то обходится программной записью. А если нет права на "Запись", то только сильным извратом. |
|||
16
Фрэнки
18.10.22
✎
16:04
|
помню был какой-то прикол, что нельзя давать пользователям право запуска внешних обработок из файлов.
Потому что в тексте внешней обработки может быть код, который позволит перезаписать документы, даже если у юзера права только на просмотр. Но как там была организована такая хакерская подляна - не помню. |
|||
17
Фрэнки
18.10.22
✎
16:06
|
Собственно, использование контекста, что это модуль у обычной формы, подразумевает, что нет разделения на контекст Клиента и Сервера, что это толстый клиент и т.д.
|
|||
18
vde69
18.10.22
✎
16:09
|
в форме в процедуре "на сервере"
1. установить привелегированный режим 2. выполнить любую типовую команду у которой параметров выступает объект или ссылка (например печать) |
|||
19
moonlight
18.10.22
✎
16:13
|
Формы обычные! Даже если я устанавливаю прив. режим в событиях формы или модуля ПередЗаписью, 1С где то под капотом проверяет наличие прав на запись и соответственно я не попадаю в указанный обработчик события )
|
|||
20
Fish
18.10.22
✎
16:15
|
(19) Надо делать свою кнопку. И уже там устанавливать привилегированный режим и вызывать запись.
|
|||
21
moonlight
18.10.22
✎
17:20
|
Вот полный текст задания:
Для роли Полные права; на документ Заказ покупателя оставить право Просмотр. Создать возможность записи документа (фактически обход ограничения Роли) по кнопке «ОК» формы. (Непосредственное редактирование формы запрещено, только модуль формы). |
|||
22
YFedor
18.10.22
✎
17:22
|
(21) А кто сказал, что это типовая кнопка?
|
|||
23
moonlight
18.10.22
✎
17:22
|
Пишу потому что понимаю, что такой возможности нет. Но может, что то не так понял.
|
|||
24
moonlight
18.10.22
✎
17:23
|
непосредственное редактирование формы запрещено. Тогда вариант создавать программно кнопку из модуля формы.
|
|||
25
YFedor
18.10.22
✎
17:24
|
(24) ага
|
|||
26
Мимохожий Однако
18.10.22
✎
17:25
|
При создании на сервере добавь программно в модуле формы свою кнопку ОК и пиши туда, что тебе хочется.
|
|||
27
YFedor
18.10.22
✎
17:25
|
Я так понимаю, что это не реальная бизнес-задача, а какая-то задротно-тренировочная
|
|||
28
Мультук
гуру
18.10.22
✎
17:26
|
(23)
Вопрос 1. Зачем тебе сейчас обычные формы ? Вопрос 2. Зачем тебе такие люди, которые уже на этапе приема на работу хотят странного? Я обычно не ленюсь глянуть "а как так можно", но смотреть данную задачу -- фи. P.S. А у стандартной кнопки "ОК" можно переопределить обработчик ? Ну или что-нибудь типа: В ПередЗаписью УстановитьПривРежим(Истина); Записать() Отказ = Истина; |
|||
29
moonlight
18.10.22
✎
17:33
|
(28) Да мне они не нужны. Это задание необходимо выполнить на конфигурации УТ 2.3 )
|
|||
30
ptiz
18.10.22
✎
17:44
|
(21) Назначь для кнопки "ОК" свою процедуру, и в процедуре делай "Записать()".
|
|||
31
moonlight
18.10.22
✎
17:47
|
Такой вариант предполагал. Думал, может как то можно использовать метод УстановитьПривРежим можно как то заюзать при нажатии родной кнопки ОК.
|
|||
32
Фрэнки
18.10.22
✎
17:51
|
---
Вот полный текст задания: Для роли Полные права; на документ Заказ покупателя оставить право Просмотр. Создать возможность записи документа (фактически обход ограничения Роли) по кнопке «ОК» формы. (Непосредственное редактирование формы запрещено, только модуль формы). --- Т.е. получается, что нужно иметь скопированную роль Полные права и в ней убрать права с документа а затем каким-то образом программно вернуть права на документ, которые были выключены до того как?! |
|||
33
moonlight
18.10.22
✎
17:54
|
Нет. В самой роли изначально на этот документ оставляем только право Просмотр. А процессе записи мы расширяем права, чтобы произвести запись
|
|||
34
Фрэнки
18.10.22
✎
17:56
|
и вообще странно, если форма документа заполнена и в наличии роль "только просмотр", то открытие формы будет "Только просмотр = истина"
Ну даже если на конкретной кнопке будет указано, что Только просмотр = ложь Все остальные данные формы не изменятся и перезапись документа из формы не имеет нормального смысла. Мало того. При открытии обычной формы можно программно установить на всю форму и на отдельные элементы формы Только просмотр = Истина. Но если нет роли на запись объекта, то манипуляции с формой не смогут взломать отсутвие роли на объект. |
|||
35
moonlight
18.10.22
✎
17:57
|
)))
|
|||
36
Фрэнки
18.10.22
✎
17:59
|
(33) извини за грубую форму
Но мне кажется, что либо тебя разводят, либо нас ты разводишь. И смотрят, что ты в этом разводе будешь делать, насколько уверен в том, что если роли в текущем сеансе нет, то дать ее самому себе в текущем же сеансе не получится. |
|||
37
Kassern
18.10.22
✎
18:01
|
(33) Добавьте права на запись, но программно ограничьте эту возможность. И в зависимости от "расширения прав" регулируйте это программное ограничение.
|
|||
38
moonlight
18.10.22
✎
18:04
|
(36) Нет, я серьезно написал то, что было в одном из задании, потратил достаточно много времени и только после этого отписался сюда. Я уже им написал, чтобы дали дополнительные разъяснения. В принципе я уже понял, что не только мне это задание кажется странным.
|
|||
39
Фрэнки
18.10.22
✎
18:07
|
(37) Если добавить права на запись, то какого хххх писать, что из полных прав убрали _все_ , кроме права на просмотр на данный обюъект.
Не надо ничего пытаться добавлять, а просто сказать, что задаватели такой тестовой задачи уху ели. |
|||
40
Vaderonk
18.10.22
✎
18:13
|
(0) может я немного чего не понимаю, но почитай https://www.softpoint.ru/archive/article_id159.php - уж извиняюсь за ссыль на сторонний ресурс, но там описывают очень подробно все.
|
|||
41
Фрэнки
18.10.22
✎
18:20
|
(40) прикольно написано, но этот подход не будет работать на обычных формах (раз)
И в задании ему установили ограничение, что все изменения нужно выполнить в модуле формы (два) Т.е. разрешение на запись в привилегированном модуле ему по условиям задачи не давали. |
|||
42
rudnitskij
18.10.22
✎
19:14
|
(38) интересно, какая ЗП будет решившим эту задачу? 40 тыщ?
|
|||
43
rudnitskij
18.10.22
✎
19:17
|
(21) На ум приходит в модуле формы прямая запись данных в таблицу СКЛ с последующим вызовом метода "перечитать" на форме
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |