|
Как программно удалить документ без полных прав? | ☑ | ||
---|---|---|---|---|
0
Naivniy
06.12.13
✎
11:33
|
Как программно удалить документ под пользователем без полных прав?
Пробовал использовать привилигированныйц режим: УстановитьПривилегированныйРежим(Истина); Док.Удалить(); УстановитьПривилегированныйРежим(Ложь); Ошибка при вызове метода контекста (Удалить) Док.Удалить(); по причине: Нарушение прав доступа! |
|||
1
Cube
06.12.13
✎
11:37
|
(0) УстановитьПривилегированныйРежим() во внешних обработках не фурычит...
|
|||
2
Naivniy
06.12.13
✎
11:38
|
(1) Это не внешняя обработка, Код отрабатывает в самописном документе.
|
|||
4
Cube
06.12.13
✎
11:40
|
(2) Значит вариант 2: клиент-сервер и код выполняется не на сервере.
|
|||
5
FIXXXL
06.12.13
✎
11:41
|
создай привилегированный модуль и там пиши код
|
|||
6
Naivniy
06.12.13
✎
11:45
|
(4) Верно. Клиент-серверный вариант. Выкидываю код в отдельную процедуру
&НаСервере Процедура УдалениеДок(Док) УстановитьПривилегированныйРежим(Истина); Док.Удалить(); УстановитьПривилегированныйРежим(Ложь); КонецПроцедуры При открытии документа выдает следующее Процедура или функция с указанным именем не определена (УдалениеДок) <<?>>УдалениеДок(Док); |
|||
7
Cube
06.12.13
✎
11:47
|
(6) А у тебя УФ, чтобы директивы компиляции юзать-то?
|
|||
8
Naivniy
06.12.13
✎
11:51
|
(7) А под обычными формами не работает разве?
|
|||
9
Defender aka LINN
06.12.13
✎
11:53
|
(2) В документе? Удаляется другой документ?
А можно целиком историю услышать? |
|||
10
Cube
06.12.13
✎
11:54
|
(8) :))) Весело у вас там, я смотрю)
|
|||
11
Wobland
06.12.13
✎
11:56
|
(9) требование: в базе должен быть ровно один документ. что такого?
|
|||
12
Godofsin
06.12.13
✎
12:03
|
Как только появляется второй документ, он убивает первого, чтоб быть единственным. суровая правда жизни...
|
|||
13
Naivniy
06.12.13
✎
12:03
|
(9) Есть документ Транспортные расходы, При его проведении создается документ ПоступлениеТоваровУслуг. Если Транспортные расходы распровести, то ПоступлениеТоваровУслуг нужно изничтожить.
|
|||
14
Godofsin
06.12.13
✎
12:04
|
(13) потом проести тр. расходы и занова ПТУ создавать?
|
|||
15
Wobland
06.12.13
✎
12:04
|
и место на диске, где он был, нулями забивать для пущей гарантии
|
|||
16
Cube
06.12.13
✎
12:05
|
(13) А потом ловить "Объект не найден" в регистре взаиморасчетов с контрагентами?... Фиговое решение...
|
|||
17
Cube
06.12.13
✎
12:06
|
(16) Или ещё лучше - в книге покупок...
|
|||
18
Kupogun
06.12.13
✎
12:10
|
пометить на удаление не предлагать?
|
|||
19
Naivniy
06.12.13
✎
12:13
|
(18) Нужно именно удаление из базы документа
|
|||
20
Wobland
06.12.13
✎
12:14
|
(19) врёшь ты всё
|
|||
21
Kupogun
06.12.13
✎
12:15
|
такой вот
жестокий естественный отбор документов |
|||
22
Cube
06.12.13
✎
12:16
|
(19) Попахивает быдлокодом. И ответ уже дан в этой ветке...
|
|||
23
Naivniy
06.12.13
✎
12:17
|
(22) он самый
|
|||
24
Wobland
06.12.13
✎
12:18
|
да автору зряплату не выдали
|
|||
25
МойКодУныл
06.12.13
✎
12:19
|
(13) намучаешься ты с таким подходом. Я вот тоже ввязался в создание\удаление цепочек документов с одним основанием (по требованию заказчика) - жутко не доволен:), теперь переубеждаю. Быдлокод это, все-таки. Хотя, по началу казалось все логично.
|
|||
26
Naivniy
06.12.13
✎
12:20
|
(22) есть руководитель проекта, который сказал сделать так и никак иначе.
Раньше этот документ делал пользовательс с полными провами, теперь решили полные права у пользователя отжать и нарисовать ему новую роль, чтобы он мог только делать эти документы. |
|||
27
RHCP
06.12.13
✎
12:23
|
для начала неплохо было бы проверить на связанные объекты через НайтиПоСсылкам()
|
|||
28
Naivniy
06.12.13
✎
12:26
|
Зайдем с другой стороны.
Есть, документ при проведении которого, что-то создается (документ/справочник - не важно). КАК при перепроведении или распроведении документа это что-то удалить БЕЗ полных прав? Клиент-серверный вариант работы, на обычных формах. |
|||
29
МойКодУныл
06.12.13
✎
12:27
|
Тут же уже писали про привилегированный модуль.
|
|||
30
yukon
06.12.13
✎
12:35
|
(26) РП гнать в шею по причине профессиональной безграмотности.
|
|||
31
RHCP
06.12.13
✎
12:37
|
(26) создайте отдельную роль на чтение+удаление этого документа/справочника, без просмотра. и дайте её пользователю своему
|
|||
32
Naivniy
06.12.13
✎
12:37
|
(29) Создал Новый общий модуль (Тест), Поставил галки напротив Сервер; Вызов сервера; Привилегированный.
В модуле одна процедура: Процедура УдалениеДок(Док) Экспорт Док.Удалить(); КонецПроцедуры В коде документа вызывается эта функция из модуля Тест: Тест.УдалениеДок(Док); При перепроведении выдает следующее: Ошибка при вызове метода контекста (УдалениеДок) Тест.УдалениеДок(Док); по причине: Попытка передачи с клиента на сервер мутабельного значения 1-го параметра метода УдалениеДок (). |
|||
33
RHCP
06.12.13
✎
12:39
|
(32) передавай ссылку, а не объект
|
|||
34
Azverin
06.12.13
✎
12:46
|
(0) я конечно извиняюсь, но ТС удаляет текущий документ или документ основание?
тогда: Для Каждого Стр из Выборка Цикл Стр.Ссылка.ПолучитьОбъект().Удалить(); КонецЦикла; |
|||
35
Azverin
06.12.13
✎
12:47
|
+(34) в модуле документа Транспортные расходы
выборка по подчинённым докам |
|||
36
mikecool
06.12.13
✎
12:48
|
(11) остаться должен только один?? автор Д маклауд? )))
|
|||
37
Naivniy
06.12.13
✎
12:52
|
(33) спасибо, заработало
|
|||
38
Lucky68
06.12.13
✎
12:56
|
выложи работающий код, вдруг кому пригодится
|
|||
39
Wobland
06.12.13
✎
12:58
|
(36) не, не маклауд
|
|||
40
zebra87
06.12.13
✎
12:59
|
Прочитал всю ветку, автор, ваш ник соответствует содержанию))) Подход своеобразный, я бы даже сказал не обычный)
|
|||
41
Naivniy
06.12.13
✎
12:59
|
(38) -> (32) + (33)
|
|||
42
zebra87
06.12.13
✎
13:01
|
(22) + (24)
|
|||
43
МойКодУныл
06.12.13
✎
13:02
|
В каком обработчике запускаешь? Или подпиской на событие?
Сразу предупрежу - будь аккуратен. Что у тебя будет, если при отмене проведения подчиненного проскочит блокировка? Прекратится транзакиця распроведения основания, или получатся 2 "рассинхронизированных" документа.? Короче, не делайте так по возможности=). Я вроде все уже победил, но все равно метод лучше не использовать. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |