Имя: Пароль:
1C
1С v8
Запуск фонового задания при запуске клиента
,
0 Buckbister
 
17.07.18
10:31
Всем день добрый!

Мне надо запустить фоновое задание при запуске клиента. Фоновое задание расположил в модуле с галками "Клиент, Сервер, Управляемое приложение, Вызов сервера".

В Модуле управляемого приложения пытаюсь обратиться к экспортной функции, расположенной в таком модуле - пишет ошибку.

Что не так делаю? Как запустить такое фоновое задание?
1 Deon
 
17.07.18
10:36
Написал ли ты у экспортной процедуры слово "Экспорт"?
2 Tonik992
 
17.07.18
10:36
А какую ошибку то пишет?
3 DrWatson
 
17.07.18
10:49
Телепат: ТС в этой функции использует менеджер фоновых заданий.
4 Buckbister
 
17.07.18
11:05
(1) Да, слово Экспорт есть. Вызов из других модулей работает корректно.

(2) {МодульУправляемогоПриложения(3)}: Метод объекта не обнаружен (СоздатьБэкапыИсточниковДанныхЭС)
    ЭС_Сервис.СоздатьБэкапыИсточниковДанныхЭС(2);

(3) ... Собственно в этом задача - чтобы запуск сеанса на клиенте инициировал фоновое задание на сервере. - это незаконно?
5 Tonik992
 
17.07.18
11:14
В режиме конфигуратора зайдите:
"Сервис -> Параметры".
На закладке "Модули" -> "Проверка" проставьте ВСЕ флажки.

После откройте модуль управляемого приложения и далее выполните "Текст" -> "Проверка модуля".
Какие-нибудь ошибки выведутся?
6 DrWatson
 
17.07.18
11:32
(4) Незаконно делать это на клиенте. Я пытался идентифицировать эту проблему. А оказывается запуск фонового задания здесь вообще не причем.
А нет ли вокруг СоздатьБэкапыИсточниковДанныхЭС инструкций препроцессора типа #Если Сервер?
7 hhhh
 
17.07.18
11:33
(4) "в модуле с галками "Клиент, Сервер, Управляемое приложение, Вызов сервера".


понятно что ваш модуль вызовется в режиме Клиент. Зачем вы кучу других галок понаставили?
8 Buckbister
 
17.07.18
11:51
(6) Нет, инструкций препроцессора нет

(7) Да когда непонятно что не работает, тыкаешь галки все подряд
9 DrWatson
 
17.07.18
12:14
(4) "Вызов из других модулей работает корректно."
Вызов именно из клиентских процедур работает?

А вообще что за процедура СоздатьБэкапыИсточниковДанныхЭС? По замыслу она серверная или клиентская?
10 Buckbister
 
17.07.18
12:18
(9) По замыслу это чисто серверная процедура. Она должна пробежаться по списку источников и создать SQL-бэкапы
11 DrWatson
 
17.07.18
12:30
(9) А как Вы её сделали серверной, если на модуле стоит галка Клиент?
Что вообще можно сделать в таком модуле. Либо ставим  #Если Сервер, чтобы исключить её с клиента. Но это не способ заставить исполнение перейти на сервер. Либо чисто серверные методы в этой процедуре вообще не дадут скомпилироваться модулю на клиенте.
12 Buckbister
 
17.07.18
12:30
(9) - И да, вызов именно из клиентских процедур (по кнопке на форме) корректно работает.
13 Buckbister
 
17.07.18
12:33
(11) - !!!!!  Спасибо огромное!!! да, это оно!
14 DrWatson
 
17.07.18
12:33
Не понимаю как серверная по замыслу и по коду процедура будет работать на клиенте.
Сделайте новый модуль с галками Сервер и Вызов сервера, без галок Клиент. Поместите туда эту процедуру. Вызовите её из модуля Управляемого приложения. Думаю это правильный метод.
15 Buckbister
 
17.07.18
12:36
(14) - Именно так и сделал, как вы в (11) и написали! Еще раз спасибо!