Имя: Пароль:
1C
1С v8
ДлительныеОперации. У пользователя недостаточно прав на исполнение операций...
,
0 corpmad
 
30.05.17
14:23
При формировании каких либо отчетов, где используется длительные операции вываливается следующая ошибка:

{ОбщийМодуль.ДлительныеОперации.Модуль(384)}: У пользователя недостаточно прав на исполнение операции над базой данных.
1 FIXXXL
 
30.05.17
14:24
(0) и что там, на строке 384?
2 Rusland
 
30.05.17
14:24
Что в строке 384 общего модуля написано?
3 corpmad
 
30.05.17
14:26
Функция ЗаданиеВыполнено(Знач ИдентификаторЗадания) Экспорт
    
    Задание = НайтиЗаданиеПоИдентификатору(ИдентификаторЗадания);
    
    Если Задание <> Неопределено
        И Задание.Состояние = СостояниеФоновогоЗадания.Активно Тогда
        Возврат Ложь;
    КонецЕсли;
    
    ОперацияНеВыполнена = Истина;
    ПоказатьПолныйТекстОшибки = Ложь;
    Если Задание = Неопределено Тогда
        ЗаписьЖурналаРегистрации(НСтр("ru = 'Длительные операции.Фоновое задание не найдено'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()),
            УровеньЖурналаРегистрации.Ошибка, , , Строка(ИдентификаторЗадания));
    Иначе
        Если Задание.Состояние = СостояниеФоновогоЗадания.ЗавершеноАварийно Тогда
            ОшибкаЗадания = Задание.ИнформацияОбОшибке;
            Если ОшибкаЗадания <> Неопределено Тогда
                ПоказатьПолныйТекстОшибки = Истина;
            КонецЕсли;
        ИначеЕсли Задание.Состояние = СостояниеФоновогоЗадания.Отменено Тогда
            ЗаписьЖурналаРегистрации(
                НСтр("ru = 'Длительные операции.Фоновое задание отменено администратором'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()),
                УровеньЖурналаРегистрации.Ошибка,
                ,
                ,
                НСтр("ru = 'Задание завершилось с неизвестной ошибкой.'"));
        Иначе
            Возврат Истина;
        КонецЕсли;
    КонецЕсли;
    
    Если ПоказатьПолныйТекстОшибки Тогда
        ТекстОшибки = КраткоеПредставлениеОшибки(Задание.ИнформацияОбОшибке);
        ВызватьИсключение(ТекстОшибки);
    ИначеЕсли ОперацияНеВыполнена Тогда
        ВызватьИсключение(НСтр("ru = 'Не удалось выполнить данную операцию.
                                     |Подробности см. в Журнале регистрации.'"));
    КонецЕсли;
    
КонецФункции


384 это строка возврата ошибки
4 Rusland
 
30.05.17
14:30
Какая именно из этих строк 384-ая?
Теперь лезь в фоновое задание, смотри там, что за объекты оно "трогает".
5 corpmad
 
30.05.17
14:34
ВызватьИсключение(ТекстОшибки); 384 строка
6 PiotrLoginov
 
30.05.17
14:37
По-любому надо понимать, какая именно операция над базой не произошла. В "При формировании каких либо отчетов, где используется длительные операции" не верю. на самом деле в типовых куча мест, где в фоне что-то выполняется. От рабочего стола до обычных ТЧ. Тогда бы ошибки сыпались при работе в программе одна за другой. Поправьте, если что.

В ЖР что? "У пользователя недостаточно прав на исполнение операции над базой данных." - и всё?
7 Skylark
 
30.05.17
14:39
Убери попытки-исключения=вызвать исключение.
Тогда вывалится на ошибке и сообщит где именно.
8 corpmad
 
30.05.17
14:41
ЖР:
Событие: Ошибка выполнения
Комментарий:
{Отчет.БюджетныйОтчет.Форма.ФормаОтчета.Форма(706)}: {ОбщийМодуль.ДлительныеОперации.Модуль(384)}: У пользователя недостаточно прав на исполнение операции над базой данных.
        ВызватьИсключение(ТекстОшибки);
9 Rusland
 
30.05.17
14:53
Лезь в задание: Задание = НайтиЗаданиеПоИдентификатору(ИдентификаторЗадания);
Смотри, какие объекты метаданных оно использует и проверяй права пользователя на эти объекты.
10 corpmad
 
02.06.17
13:43
Здравствуйте, задача была отложена.

Сейчас снова актуальная.

Залез в фоновом задании, на все объекты права есть, скажу больше. На рабочем сервере, ошибка появляется, на тестовом сервере, с развернутой актуальной базой, ошибки нет. Формирование занимает примерно минуту может чуть больше, на рабочем через ~ через 10-15 секунд возникает выше описанная ошибка
11 ildary
 
02.06.17
15:08
(10) чищены ли кэши, ребучен ли рабочий сервак (ну чтобы убедиться что ошибка не из-за полугодового аптайма)?