Имя: Пароль:
1C
 
8.2 Фоновое задание не записывает документ.
0 mishmeister
 
27.10.10
13:25
Есть обработка, которую запускает фоновое задание. Она пробегается по документам, меняет реквизит и записывает док. Если обработку запустить под пользователем то все хорошо проходит. Настроил регламентное задание для запуска обработки, но в фоновых заданиях говорит что ошибка при вызове метода Записать(), что не так не сообщает. Кстати код находится в модуле вылняющемся на сервере, пробовал сделать его привилегированным.
Вопрос в следующем: Почему может не записываться, и можно ли в отладчике запустить фоновое задание?
1 Варвар
 
27.10.10
13:27
укажите того-же пользователя для задания под которым и запускаешь тестя.
2 Defender aka LINN
 
27.10.10
13:32
Телепатирую: модуль документа написан очередным одинэснегом, который считает, что код можно писать абы как, не проверяя на работоспособность во всех режимах.
3 mishmeister
 
27.10.10
13:49
(1) Уже запускаю под админом.
(2) А что такого может быть в коде который явно выполняется на сервере?
4 mishmeister
 
27.10.10
15:43
ап
5 Sasha_H
 
27.10.10
15:49
Что-то на сервере не может выполниться.
6 Sasha_H
 
27.10.10
15:50
ищи в коде документа куда он лезет ПередЗаписью()

там идет какой-то контроль скорей всего, идет в какие-то общем модуля где не допустимо что-то для сервера. Короч пробуй.
7 toys
 
27.10.10
15:52
база файловая?
8 le_
 
27.10.10
15:59
Если с отладкой траблы будут, можно сделать так:

Попытка
   Док.Записать(Режим.БлаБлаБла);
Исключение
   Текст = Новый ЗаписьТекста("D:\!отладка!.txt", КодировкаТекста.Системная, , Истина);
   Текст.ЗаписатьСтроку("Документ: " + Док + ", ошибка: "  + ОписаниеОшибки());
   Текст.Закрыть();
КонецПопытки;
9 mishmeister
 
27.10.10
16:17
(7) серверная
(6), (8) Спасибо, буду смотреть.
10 mikecool
 
27.10.10
16:19
сервер в режим отладки и много думать, где же вызываешь функцию, которой на сервере нет
11 el-gamberro
 
27.10.10
16:20
Метод Записать() недоступен в фоновых заданиях.
12 le_
 
27.10.10
16:21
(11) Не правда.
13 Варвар
 
27.10.10
16:22
(8) ЖР отменили?
14 le_
 
27.10.10
16:23
(13) По умолчанию в ЖР очень мало пишется, а какать туда отладочной информацией - имхо, лишнее.
15 mikecool
 
27.10.10
16:24
(14) вот уж ошибку записи документа там обычно найти можно с указанием строки модуля, где оная произошла
16 le_
 
27.10.10
16:25
(15) А описание ошибки?
17 mikecool
 
27.10.10
16:26
(16) тоже есть
18 le_
 
27.10.10
16:30
(17) В общем, подробной ошибки, которая возникает в процессе выполнения фонового задания в ЖР не найти.
Пример в (8) - это один из возможных вариантов решения.
У меня в свое время были сложности с отладкой фоновых заданий - пользовался таким способом. Если автору удастся подключить отладчик - замечательно, всё это не потребуется.
19 mikecool
 
27.10.10
16:32
+17 вот пример
{ОбщийМодуль...Модуль(197)}: Значение не является значением объектного типа (СписокТочек)
{ОбщийМодуль...Модуль(170)}: Индекс находится за границами массива

вроде достаточно, чтобы понять причину
20 le_
 
27.10.10
16:34
(19) Приведи пример какой-нибудь ошибки, возникшей при записи документа в фоновом задании.
21 Варвар
 
27.10.10
16:41
(20) а в (19) что?
22 le_
 
27.10.10
16:52
(21) Эти ошибки возникают не при записи документа.
23 mishmeister
 
28.10.10
18:47
(22) я конечно немного потерялся, но можно... Ошибка меня убила:

{ОбщийМодуль.Доработка.Модуль(38)}: Ошибка при вызове метода контекста (Записать)
по причине:

по причине:
Ошибка при выполнении обработчика - 'ПриЗаписи'
по причине:
{ОбщийМодуль.ОбщийЗакрытый.Модуль}: Отсутствует ключ защиты конфигурации. Код ошибки 47110
24 le_
 
28.10.10
18:57
(23) Ну, хорошо, если ЖР хватает.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн