Имя: Пароль:
1C
1С v8
Обработка не проводит документы при фоновом запуске
,
0 Soulseller76
 
09.07.19
09:03
Всем привет. Столкнулась с ситуацией, когда при запуске "в ручную" или с формы обработки - все работает идеально.
Как только настраиваю расписание запуска - обработка запускается, но документы не записывает.
Что это может быть?
Конструкция примерно так выглядит:
            Попытка
                НовыйПКО.Записать(РежимЗаписиДокумента.Запись);
            Исключение
                ОписаниеОшибки      = ОписаниеОшибки();
            КонецПопытки;
            
            
            НеПровелось = Ложь;
            
            Попытка
                НовыйПКО.Записать(РежимЗаписиДокумента.Проведение);

                Возврат Истина;
            Исключение
                    ЕмайлОтветственного = ПолучитьЕМайлОтветственногоПоКассе(НовыйПКО.Касса);
                    ПисьмоОтправлено    = ОтправитьПисьмоСОповещением(НовыйПКО, ЕмайлОтветственного, ОписаниеОшибки);                          
                    Возврат Ложь;

            КонецПопытки;
1 Numerus Mikhail
 
09.07.19
09:08
Что пишет?
2 FIXXXL
 
09.07.19
09:14
клиент толстый?
3 Soulseller76
 
09.07.19
10:24
(1)
{ВнешняяОбработка.ЗагрузкаПлатежейСШины.МодульОбъекта(1063)}: Ошибка при вызове метода контекста (Записать): Не удалось записать: "Приходный кассовый ордер"!

(2) Нет. Тонкий клиент.
4 Вафель
 
09.07.19
10:25
может прав не достаточно?
5 Soulseller76
 
09.07.19
10:25
(4) Вот это идея! А от какого пользователя в этом случае выполняется обработка?
6 Soulseller76
 
09.07.19
10:25
Надо его добавить просто!!!! Сейчас попробую.
7 Soulseller76
 
09.07.19
10:27
(4) Через расписание в Дополнитьельных отчетах и обработках нельзя указать пользователя. (
Как быть?
8 Soulseller76
 
09.07.19
10:28
или можно включить ПривилегированныйРежим()?
9 Soulseller76
 
09.07.19
10:33
нет. Не права. (((((
10 DrWatson
 
09.07.19
10:50
Проверка заполнения ставит отказ и пишет сообщение об ошибке. Сообщение, естественно, не видно. Просто отказ без исключения и даёт результат - не записалось, а почему не скажу.
Отладка!
11 Soulseller76
 
09.07.19
11:06
(10) Так дело в том, что код идентичный, что в запуске с формы, что в ручном запуске из формы обработок.
И он выполняется и документы записываются и проводятся! Но в случае с запуском по расписанию - нет. (
И я не понимаю почему.
12 FIXXXL
 
10.07.19
12:48
(7) укажи через консоль рег.заданий
13 Cyberhawk
 
10.07.19
13:43
(10) Поэтому надо запись/проведение оборачивать в попытку, чтобы даже "просто отказ" повлек обработку исключения и мы могли ПолучитьСообщенияПользователю и добавить их в ЖР или в текст исключения. Профит!
14 Soulseller76
 
11.07.19
14:18
(13) Да есть у меня это все! И письмо с ошибкой он мне присылает.
ОписаниеОшибки() отрабатывает.
Не получилось провести документ.
А почему не получилось - догадайся сама! ((((
15 Жан Пердежон
 
11.07.19
14:23
(14)

у тебя ОписаниеОшибки() отрабатывает только если при записи ошибка произошла;
а при проведении - нет
16 Soulseller76
 
11.07.19
14:54
Консоль выдала:
"Недостаточно фактических параметров для метода фонового задания"
Что это за ошибка такая?!
17 Soulseller76
 
11.07.19
14:55
Вот тут подобное обсуждали: v8: фоновое задание недостаточно фактических параметров
Но, блин, решения так и не написано!
18 Cyberhawk
 
12.07.19
14:25
(14) "ОписаниеОшибки() отрабатывает" // Не баклань
19 Вафель
 
12.07.19
15:21
пользователь для регламента задается через список регламентов
20 Вафель
 
12.07.19
15:21
ПривилегированныйРежим() конечно же не сработает
21 Вафель
 
12.07.19
15:23
для логгирования рекомендую

    ТекстОщибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
    МассивСообщений = ПолучитьСообщенияПользователю(Истина);
    Для каждого Сообщение из МассивСообщений Цикл
        ТекстОщибки = ТекстОщибки + Символы.ПС + Сообщение.Текст;
    КонецЦикла;    
        
    ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации[1], УровеньЖурналаРегистрации.Ошибка, , СсылкаНаЗадание, "SetArrivalPrev(): " + ТекстОщибки);