|
ошибка при исполнении на сервере при регламентном задании | ☑ | ||
---|---|---|---|---|
0
belarus
24.09.12
✎
18:07
|
При выполнении регламентного задания выскакивает ошибка:
ОбщийМодуль.Пользователи {367} Ошибка при вызове метода контекста (Выполнить): Ошибка выполнения запроса "В данной транзакции уже происходили ошибки!" в следующей функции: Функция ПолучитьЗначениеПраваПользователя(Право, ЗначениеПоУмолчанию = Неопределено, Пользователь = Неопределено) Экспорт ВозвращаемыеЗначения = Новый СписокЗначений; СписокНабораПрав = ПолучитьСписокНабораПрав(Пользователь); Запрос = Новый Запрос; Запрос.УстановитьПараметр("НаборПрав" , СписокНабораПрав); Запрос.УстановитьПараметр("ПравоПользователя", Право); Запрос.Текст = "ВЫБРАТЬ | Значение |ИЗ | РегистрСведений.ЗначенияПравПользователя КАК РегистрЗначениеПрав | |ГДЕ | Право = &ПравоПользователя | И НаборПрав В(&НаборПрав) | |"; Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Количество() < СписокНабораПрав.Количество() Тогда ВозвращаемыеЗначения.Добавить(ЗначениеПоУмолчанию); КонецЕсли; Пока Выборка.Следующий() Цикл Если ВозвращаемыеЗначения.НайтиПоЗначению(Выборка.Значение) = Неопределено Тогда ВозвращаемыеЗначения.Добавить(Выборка.Значение); КонецЕсли; КонецЦикла; Возврат ВозвращаемыеЗначения; КонецФункции // ПолучитьЗначениеПраваПользователя() в чем может быть ошибка? |
|||
1
Рыцарь
24.09.12
✎
18:16
|
Право или СписокНабораПрав возможно не определены
|
|||
2
IronDemon
24.09.12
✎
19:01
|
Пользователя нет. 1С от имени сервера работает.
Было такое у меня. |
|||
3
belarus
24.09.12
✎
19:04
|
есть пользователь и набор прав есть... я их в модуле сеанса определяю
|
|||
4
IronDemon
24.09.12
✎
19:08
|
Не, ты не понял.
При выполнения регламентных заданий пользователя (в серверном режиме) нет. Соответственно код типа: ПолучитьЗначениеПоУмолчанию(глТекущийПользователь, "Трали-вали") ПолучитьЗначениеПраваПользователя(ПланыВидовХарактеристик.ПраваПользователей.ПечатьНепроведенныхДокументов, Ложь) не работает. |
|||
5
IronDemon
24.09.12
✎
19:10
|
Поэтому
Если (РольДоступна("ПолныеПрава") ИЛИ РольДоступна("Аналитик") ИЛИ (РольДоступна("ДиректорСклада") И РольДоступна("СтаршийМенеджерПоПродажам"))) Тогда мПолныеПрава = Истина; Иначе мПолныеПрава = Ложь; КонецЕсли; #Если ВнешнееСоединение Или Сервер Тогда мПолныеПрава = Истина; #КонецЕсли |
|||
6
belarus
25.09.12
✎
11:21
|
не помогает
|
|||
7
belarus
25.09.12
✎
12:28
|
В обработке есть строка:
ОбработкаОРПБУ.Организация = ПолучитьЗначениеПоУмолчанию(ПараметрыСеанса.ТекущийПользователь, "ОсновнаяОрганизация"); т.к. пользователя нету, как можно получить значение организации? |
|||
8
AaNnDdRrEeYy
25.09.12
✎
12:33
|
назначить пользователя регламентному заданию, в обработке "Управление регл заданиями". там поле есть "Пользователь"
|
|||
9
Kreont
25.09.12
✎
12:34
|
а) передать в обработку параметром
б) указать явно в обработке в) определить пользователя вручную, и потом по аналогии |
|||
10
cw014
25.09.12
✎
12:34
|
(0) ВЫБРАТЬ РАЗРЕШЕННЫЕ
|
|||
11
Kreont
25.09.12
✎
12:34
|
(8) там нельзя, ведь тогда кажись обработка не запустится пока указ.пользователь не зайдет в базу, не?
|
|||
12
Кедр
25.09.12
✎
12:35
|
Мне в свое время помогло только (8)
|
|||
13
AaNnDdRrEeYy
25.09.12
✎
12:35
|
(11) не регл задание на сервере выполняется, ему пофигу кто в базу зашел.
|
|||
14
belarus
25.09.12
✎
12:38
|
Обработкой Консоль заданий делаю под определенным пользователем... но ошибка
что в шапке темы... |
|||
15
belarus
25.09.12
✎
12:44
|
в параметрах сеанса определяю пользователя...
у пользователя все права... ОбщийМодуль.Пользователи {367} Ошибка при вызове метода контекста (Выполнить): Ошибка выполнения запроса "В данной транзакции уже происходили ошибки!" |
|||
16
AaNnDdRrEeYy
25.09.12
✎
12:44
|
В начале процедуры напиши УстановитьПривелигированныйРежим(истина)
|
|||
17
ptiz
25.09.12
✎
12:48
|
"В данной транзакции уже происходили ошибки" - значит, что в текущий момент активна открытая ранее транзакция и в ней где-то были ошибки (например, в Попытка/Исключение сработало Исключение).
И дальнейшие операции типа запросов к БД, будут давать такую ошибку. |
|||
18
belarus
25.09.12
✎
12:51
|
я убрал все исключения... ошибка та же
|
|||
19
Kreont
25.09.12
✎
12:51
|
(18) вручную (не в регл.задании) обработка хоть запускается?
|
|||
20
belarus
25.09.12
✎
12:53
|
не в регламенте отрабатывает без ошибок
|
|||
21
IronDemon
25.09.12
✎
13:06
|
(7)
//ТекущийПользователь = ПараметрыСеанса.ТекущийПользователь; ТекущийПользователь = Ссылка.Ответственный; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |