Имя: Пароль:
1C
1С v8
Несмотря на привелигированный режим не даёт провести РКО
,
0 МастерВопросов
 
19.09.12
08:02
Под полными правами процедура отрабатывает, а вот под кассиром нет.

Процедура ПерезаписатьРКОНАСервакеПодСуперПравами(ПереданнаяССылка,ВыбДата,БылиОшибки, СообщениеОшибки) Экспорт
   
   #Если Сервер Тогда
       Сообщить("Это сервер!");
   #КонецЕсли
   
   УстановитьПривилегированныйРежим(Истина);
   Сообщить("Включен привелигированный режим = "+ПривилегированныйРежим());
   
   //меняем РКО
   Попытка
       ОбъектРКО = ПереданнаяССылка.ПолучитьОбъект();
       ОбъектРКО.Оплачено = Истина;    
       ОбъектРКО.ОтражатьВБухгалтерскомУчете = ИСТИНА;    
       ОбъектРКО.Дата = КонецДня(ВыбДата);
       ПерваяСтрока = ОбъектРКО.РасшифровкаПлатежа[0];
       Если ПерваяСтрока.СчетУчетаРасчетовСКонтрагентом.Пустая() Тогда
           ПерваяСтрока.СчетУчетаРасчетовСКонтрагентом = ПланыСчетов.Хозрасчетный.РасчетыСПокупателями;
       КонецЕсли;
       Если ПерваяСтрока.СчетУчетаРасчетовПоАвансам.Пустая() Тогда
           ПерваяСтрока.СчетУчетаРасчетовПоАвансам = ПланыСчетов.Хозрасчетный.РасчетыПоАвансамПолученным;
       КонецЕсли;
       ОбъектРКО.Записать();
       Если ОбъектРКО.Проведен Тогда
           ОбъектРКО.Записать(РежимЗаписиДокумента.Проведение);
       КонецЕсли;
   Исключение
       БылиОшибки = Истина;
       Сообщить(ОписаниеОшибки());
       СообщениеОшибки = СокрЛП(ОписаниеОшибки());
   КонецПопытки;
   
   УстановитьПривилегированныйРежим(ЛОЖЬ);
   
КонецПроцедуры //ПерепровестиНАСервакеПодСуперПравами


В окне сообщений:
Это сервер!
Включен привелигированный режим = Да
{ОбщийМодуль.МК_ПолныеПрава.Модуль(25)}: Ошибка при вызове метода контекста (Записать): Не удалось записать "Расходный кассовый ордер 00000000016 от 19.09.2012 23:59:59"!
1 МастерВопросов
 
19.09.12
08:05
У кассира нет таких прав:
"Недостаточно прав для отражения в регламентированном учете. Изменения не могут быть записаны."
2 Godofsin
 
19.09.12
08:10
ну и? чего бы ему прав не дать?
3 МастерВопросов
 
19.09.12
08:13
(2) вопервых из-за соображений безопасности.
Вовторых - всё равно не поможет:
v8: Недостаточно прав для отражения в регламентированном учете. Изменения не могут б
4 Ranger_83
 
19.09.12
08:15
(0)Для документа в сов-ах метаданных отключено автоматическое удаление движений?
5 МастерВопросов
 
19.09.12
08:19
(4) Удаление движений: "Не удалять автоматически"
6 Godofsin
 
19.09.12
08:21
(3) Про галочку в доп.правах не забыл?
7 Godofsin
 
19.09.12
08:22
+(6) Не вижу нарушения безопасности
8 Ranger_83
 
19.09.12
08:23
(5)Значит при перепроведении см.ОбработкаУдаленияПроведения()
9 МастерВопросов
 
19.09.12
08:27
(8) её нет и это вполне логично, т.к. автоматическое удалений движений отключено.

Может ты про это?

Процедура ОбработкаПроведения(Отказ, Режим)

   
   Если мУдалятьДвижения Тогда
       ОбщегоНазначения.УдалитьДвиженияРегистратора(ЭтотОбъект, Отказ, Истина, Режим);
   КонецЕсли;
...
10 Ranger_83
 
19.09.12
08:38
(9)Так если движения НЕ удаляются автоматически,то кто тогда их будет удалять?Для этого создается эта процедура,поэтому я предположил что именно она дает ошибку,т.к прив.режим ты включил только для создания новых движений
11 МастерВопросов
 
19.09.12
08:42
(10) "т.к прив.режим ты включил только для создания новых движений"
=========================================================

можно поподробнее?!
12 Ranger_83
 
19.09.12
08:48
(11)У тебя ОбщегоНазначения.УдалитьДвиженияРегистратора(ЭтотОбъект, Отказ, Истина, Режим); выполняется в прив.режиме?
13 МастерВопросов
 
19.09.12
08:54
(12) похоже до этой процедуры дело вообще не доходит, потому что я в ней дописал строку: "Сообщить("Включен привелигированный режим при отмене проведения = "+ПривилегированныйРежим());" и никаких сообщений не выходило.


А потом, вообще, отменил проведение РКО №16. И тем не менее ошибка:
"Ошибка при изменениии: Расходный кассовый ордер 00000000016 от 19.09.2012 23:59:59"

причем "ОбъектРКО.Записать(РежимЗаписиДокумента.ОтменаПроведения);" отрабатывает без ошибок, а на "ОбъектРКО.Записать(РежимЗаписиДокумента.Проведение);" вылетает.
14 DJ Anthon
 
19.09.12
08:54
привилегированный
15 AaNnDdRrEeYy
 
19.09.12
08:56
Подписки на события у РКО посмотри.
16 Ranger_83
 
19.09.12
08:56
(13)а ты отладчиком почему не пользуешься?
17 МастерВопросов
 
19.09.12
09:54
(15) нашел!!
Подписка на событие: ПередЗаписьюДокументаОтражениеВРеглУчете

там чехарда по многочисленным процедурам и наконец в модуле "УправлениеДопПравамиПользователей":

Функция РазрешеноОтражениеВРеглУчете() Экспорт
   
   // В управляемом режиме отражение документов в учете производиться в соответствии с общими настройками.
   // Каждый пользователь в каждом первичном документе не управляет отражением его в учете.
   // В связи с этим для управляемого режима отдельное право на отражение в учете не используется
   Если ТекущийРежимЗапуска() = РежимЗапускаКлиентскогоПриложения.УправляемоеПриложение Тогда
       ЕстьПраво = Истина;
   Иначе
       ЕстьПраво = ПравоЕстьУПользователя(ПланыВидовХарактеристик.ПраваПользователей.РазрешитьОтражатьВРеглУчете, Ложь);
   КонецЕсли;
   
   Возврат ЕстьПраво;

КонецФункции // РазрешеноОтражениеВРеглУчете



(16) точки останова не срабатывают на серваке
18 Godofsin
 
19.09.12
09:55
(17) Ты (6) не смотрел, да?