Имя: Пароль:
1C
1С v8
Нарушение прав доступа в привилегированном режиме
0 TvaraJok
 
23.04.17
20:17
УТ 10.3, общий модуль, платформа 8.2
Поставил УстановитьПривелигированныйДоступ(Истина) и пытаюсь провести документ. В теории должен проводить а на практике выдаёт нехватку прав.
УстановитьПривилегированныйРежим(Истина);
                     ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение);
                    Сообщить("Документ проведён после записи автоматически " + Ссылка);
                    УстановитьПривилегированныйРежим(Ложь);
1 TvaraJok
 
23.04.17
20:30
Попа в огне =) Спасайте
2 Serg_1960
 
23.04.17
20:40
"В клиент-серверном варианте при выполнении на клиенте данный метод не выполняет никаких действий"(СП)
3 TvaraJok
 
23.04.17
20:45
(2) Это обычная форма, не управляемая. Забыл дописать
4 Serg_1960
 
23.04.17
20:49
Это и так понятно, не принципиально. А вот инструкции препроцессора типа #НаКлиенте или #НаСервере - принципиально. Которые не озвучены.
5 TvaraJok
 
23.04.17
20:52
(4) у обычного приложения это есть ??? Не встречал нигде в коде
6 TvaraJok
 
23.04.17
20:54
(4) А нет есть там такое. Хм. И как эту беду обойти ??? Я сделал подписку на событие которая при записи документа "списание товаров" На автомате проводит его. Само собой что простой смертный не имеет права на проведение этого документа, но при определённых условиях нужно чтобы могли. Вот я и попробовал через привилигированный доступ это сделать
7 TvaraJok
 
23.04.17
20:59
Может есть какой то другой хитровымученный способ провести наплевав на права ?
8 Serg_1960
 
23.04.17
21:05
Привилегированный общий модуль
9 TvaraJok
 
23.04.17
21:17
Если
Тогда
                    ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение);
                    Сообщить("Документ проведён после записи автоматически " + Ссылка);
                 Иначе
                    ДокументОбъект.Записать(РежимЗаписиДокумента.ОтменаПроведения);
                    Сообщить("Документ РАСПРОВЕДЁН Вас нет прав на его проведение " + Ссылка);

Хрень какая то добавил в роль "операторы" возможность проводить этот проклятый документ, но если там нет правильных условий то программа должна забрить. В итоге она теперь вылетает ваще ЗБС
10 Волшебник
 
модератор
23.04.17
21:20
(9) Ты слишком нервный
11 Неверный Параметр И
 
23.04.17
21:29
программа должна забрить [x]
12 TvaraJok
 
23.04.17
21:32
Ошибка при выполнении обработчика - 'ПриЗаписи'
по причине:
Попытка передачи с клиента на сервер мутабельного значения 1-го параметра метода ПравилаПроведенияСписанияПриЗаписи ().

Ну в общем привилигированный модуль не спас положения
13 Defender aka LINN
 
23.04.17
21:57
(12) Не передавай на сервер объект.
14 TvaraJok
 
23.04.17
22:06
Если я его не передам то как мне получить ссылку на документ который в данный момент нужно провести ? Я уже прочитал чем вызвана эта ошибка и теперь сижу думаю как всё таки провести этот документ не передавай его в проццедуру
15 TvaraJok
 
23.04.17
23:18
ап
16 vde69
 
23.04.17
23:25
(14) вынеси во внутрь СЕРВЕНОГО модуля код в котором ты создаешь и заполняешь ДокументОбъект и потом вызывай запись в привелитгерованом модуле


тогда все взлетит
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой