Как программно удалить документ без полных прав? #690858


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

В этой группе 1С