Имя: Пароль:
1C
1С v8
Фоновое задание не выполняется
0 lirt82
 
07.10.21
13:16
База УПП крутится на sql сервере, написал свое регламентное задание по загрузке курсов валют, поставил расписание, но задание не выполняется....открыл через Инструменты разработчика для обычных форм консоль задании, запускаю его в режиме "Выполнить на клиенте" задание успешно выполняется (курсы грузятся, пишутся в регистр сведении), запускаю в режиме "Выполнить в фоновом задании" -результата нет. Мне как раз таки и нужно чтоб выполнялось когда приложение закрыто. В чем проблема?
1 ДенисЧ
 
07.10.21
13:18
В журнале регистрации?
2 fisher
 
07.10.21
13:20
В разном окружении. Фоновое выполняется на другом компьютере, под другим пользователем системы с другими правами. А в чем конкретно проблема - отсюда не видно. Смотри в ЖР или консоль заданий - там покажет ошибку, если была. Если никаких ошибок не выдает, то проще всего в режиме отладки порешать. Если возможности перевести сервер в режим отладки пока нет - тогда по-старинке, через отладочные сообщения (их можно исключениями кидать, например).
3 fisher
 
07.10.21
13:22
Ну или в ЖР писать.
4 Kassern
 
07.10.21
13:24
(0) в кластере надеюсь галочка не стоит, чтобы блокировать рег задания?
5 fisher
 
07.10.21
13:25
А, ну и если под толстым клиентом отлаживаешь, то вероятнее всего у тебя туда прокрался клиентский код, по ошибке компиляции которого и падает.
6 polosov
 
07.10.21
13:25
(0) Интернета нет на сервере.
7 fisher
 
07.10.21
13:27
(6) Во, тоже весьма вероятная причина.
8 lirt82
 
07.10.21
13:36
(4) нет конечно))
9 lirt82
 
07.10.21
13:37
(6) хм...я запускаю приложение на сервере, точнее на удаленном раб столе сервера (компа где крутиться база)
10 lirt82
 
07.10.21
13:39
(3) вот так?
Процедура jcpc_ЗагрузкаКурсовВалютФон() Экспорт
    
    Перем HTTP;
         
    ИмяФайла = "Curses.txt";
    ДатаПериодаЗагрузкиКурса = НачалоДня(ТекущаяДата());
    РегистрКурсыВалют = РегистрыСведений.КурсыВалют;
    ЗаписьКурсовВалют = РегистрКурсыВалют.СоздатьМенеджерЗаписи();
    ЗаписьЖурналаРегистрации("Этап 1а");
    Текст = Новый ТекстовыйДокумент();
    
    СерверИсточник = "www.nationalbank.kz";
    Обра = Обработки.ПолучениеФайловИзИнтернета.Создать();
    ЗаписьЖурналаРегистрации("Этап 1б");
    Адрес = "/rss/get_rates.cfm?fdate=" + Формат(ДатаПериодаЗагрузкиКурса, "ДФ=dd.MM.yyyy");
            
    ВремКаталог = КаталогВременныхФайлов() + "tempKurs";
    СоздатьКаталог(ВремКаталог);
    УдалитьФайлы(ВремКаталог,"*.*");
    ЗаписьЖурналаРегистрации("Этап 1в");
    Стр = "";
    ИмяВходящегоФайла = "" + ВремКаталог + "\" + ИмяФайла;
    СтрокаПараметраПолучения = Адрес;
    Если ЗапроситьФайлыССервераВМодуле(СерверИсточник, СтрокаПараметраПолучения, ИмяВходящегоФайла, HTTP, Обра) <> Истина Тогда
        Возврат;
    КонецЕсли;
    ЗаписьЖурналаРегистрации("Этап 1г");
    ВходящийФайл = Новый Файл(ИмяВходящегоФайла);
    Если НЕ ВходящийФайл.Существует() Тогда
        Возврат;
    КонецЕсли;    
    
    ЗаписьЖурналаРегистрации("Этап 1");
11 lirt82
 
07.10.21
13:40
(10)  при выполнении этого кода нет ни одной записи в ЖР
12 Kassern
 
07.10.21
13:55
а другие рег задания выполняются, или вообще ни одно?
13 lirt82
 
07.10.21
13:59
(12) другие выполняются но они не связаны с интернетом....делаю вывод:-)
14 fisher
 
07.10.21
14:34
(11) Хм... Если при этом в ЖР нет и ошибок компиляции, тогда похоже что оно даже не стартует. Но при этом ты же пытался его запускать через "Выполнить в фоновом задании". Тогда все. Я зациклился.
15 lirt82
 
07.10.21
14:35
(14) согласен полностью, как "поймать" старт?
16 lirt82
 
07.10.21
14:39
(14)  режиме "Выполнить на клиенте" задание стартует, а в режиме "Выполнить в фоновом задании" нет. Вот и вся проблема
17 fisher
 
07.10.21
14:45
(16) Я не знаю деталей, как реализовано "Выполнить в фоновом задании", а смотреть - лень. Воспользуйся консолью фоновых заданий из тех же инструментов разработчика или из БСП или из ИТС.
Поставь какое-нить простейшее расписание через ту же консоль. Если история запусков этого фонового в консоли будет продолжать оставаться пустая, то или с расписанием бок какой-то или это какая-то системная проблема, причины которой мне сложно представить. Никогда с таким не сталкивался (чтобы выборочно не запускалось).
18 pechkin
 
07.10.21
14:46
кэш чистил?
19 Ёпрст
 
07.10.21
14:47
(0) пользователя хоть указал в настройке фонового задания ?
20 Ёпрст
 
07.10.21
14:48
в каком месте идёт вызов  jcpc_ЗагрузкаКурсовВалютФон()  ? Кто это запускает и когда ?
21 Ёпрст
 
07.10.21
14:49
и у пользователя, под которым агент сервера запущен, есть хоть права какие ?
22 Ёпрст
 
07.10.21
14:49
или это дефолтный usr81 или как там его 1с-ина лепит, бесправный ?
23 pechkin
 
07.10.21
14:51
(22) это все никак не должно влиять на сам запуск фонового.
если бы не было прав, то завершалось с ошибкой бы
24 lirt82
 
08.10.21
08:04
(6) поймал ошибку при выполнении в фоновом режиме
{ОбщийМодуль.МодульРегламентныхЗаданий.Модуль(837)}: Ошибка при вызове метода контекста (Получить): Ошибка работы с Интернет:  Не могу установить соединение
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан