Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

как оповестить пользователей после выполнения фонового задания на сервере

как оповестить пользователей после выполнения фонового задания на сервере
Я
   ChMikle
 
02.04.21 - 16:43
В модуль управляемого приложения вставил в процедуру ПриНачалеРаботыСистемы()
глОбработкаОповещения(...);
там же описал ее &НаКлиенте глОбработкаОповещения(...) экспорт
создал регламентное задание , после его окончания хочу передать сообщение , не видит эту процедуру ...
   polosov
 
1 - 02.04.21 - 16:46
(0) Модуль управляемого приложения клиентский. Фоновое задание на сервере.
   ChMikle
 
2 - 02.04.21 - 16:47
(1) понимаю :) как подженить-то ?
   acanta
 
3 - 02.04.21 - 16:48
Ждите прилива..
   polosov
 
4 - 02.04.21 - 16:51
(2) Полоска ниже колена, а что-то чушь какую-то пишешь. Тема оповещений клиентов из фоновых обсасывалась тысячи раз.
Фоновое пишет в РС. Обработка ожидания на клиенте забирает и сообщает. Это один из множества вариантов.
   ChMikle
 
5 - 02.04.21 - 16:52
(1) можно писать в регистр сведений результаты выполнения , а потом вытягивать их функцией через обработкаоповещения(), а без перезаписи
   ChMikle
 
6 - 02.04.21 - 16:53
(4)>>Полоска ниже колена, а что-то чушь какую-то пишешь.
Может прогрессивное человечество уже придумало упрощенный вариант :). Без РС ...
   Вафель
 
7 - 02.04.21 - 16:54
сервер взаимодействия или лонг полинг ака запрос в обработке ожидания
   polosov
 
8 - 02.04.21 - 16:55
(6) Да, пользователям можно писать в Slack, телегу etc
   ChMikle
 
9 - 02.04.21 - 16:55
(8) надо в 1С
   Вафель
 
10 - 02.04.21 - 16:56
(8) можно по старинке на почту
   Garykom
 
11 - 02.04.21 - 16:56
(6) Давно придумало, есть https://its.1c.ru/db/v8310doc#bookmark:dev:TI000000819
   Garykom
 
12 - 02.04.21 - 16:57
(11)+ "20.3.10. Работа с временным хранилищем в фоновом задании
В механизме работы с временным хранилищем есть возможность передать данные из фонового задания в сеанс, инициировавший фоновое задание. Для такой передачи следует в родительском сеансе поместить во временное хранилище пустое значение (с помощью метода ПоместитьВоВременноеХранилище()), указав какой-либо идентификатор создаваемого временного хранилища (параметр Адрес). Затем полученный адрес передать в фоновое задание через параметры фонового задания. Далее, если в фоновом задании этот адрес использовать в качестве значения параметра Адрес метода ПоместитьВоВРеменноеХранилище(), то результат будет скопирован в сеанс, из которого было запущено фоновое задание.

Данные, помещенные во временное хранилище в фоновом задании, не будут доступны из родительского сеанса до момента завершения фонового задания."
   polosov
 
13 - 02.04.21 - 16:59
(12) У него инициатор регламент.
   ChMikle
 
14 - 02.04.21 - 16:59
(12) эта информация будет выскакивать только в том сеансе в котором запускали фоновое задание , мне надо чтобы на сервере выполнилось и разослал нужным пользователям информацию.
   ChMikle
 
15 - 02.04.21 - 17:00
(13) только через РС , по другому никак ?
   Вафель
 
16 - 02.04.21 - 17:01
сервер взаимодействия дорого?
а кстати сколько оно стоит?
   ChMikle
 
17 - 02.04.21 - 17:02
(16) не вариант
   polosov
 
18 - 02.04.21 - 17:02
(15) Можно файл писать, в комментарий какого-нибудь документ наконец. Вариантов много.
   ChMikle
 
19 - 02.04.21 - 17:04
(18) смысл понятен, что куда-то писать с фонового задания, а оттуда доставать уже в сеансе обработкой оповещения, я думал может что-то проще придумали ...
   программистище
 
20 - 02.04.21 - 17:04
(16) я так понимаю только корп лицензия, отдельно не продается
   Вафель
 
21 - 02.04.21 - 17:06
(17) можно колхозный вариант. микросервис и внешняя компонента на сокетах
   ChMikle
 
22 - 02.04.21 - 17:07
(21) нееее :)
   Kassern
 
23 - 02.04.21 - 17:07
(16) бесплатно, если на серве диалога, но есть ограничения
   Garykom
 
24 - 02.04.21 - 17:09
Если конфа на БСП то там уже сть нужный РС и функции работы с ним
   ChMikle
 
25 - 02.04.21 - 17:11
(24) нет не БСП, но это в принципе не сложно написать.  Не охота , думал с каким-нибудь подвывертом придумали что-то более простое, сразу передавать
   Garykom
 
26 - 02.04.21 - 17:12
(25) ты пришел к классическому "сообщение с сервера на клиент" ))
   программистище
 
27 - 02.04.21 - 17:15
Ну вообще странно, сервер берет данные с клиента, обрабатывает их и возвращает результат, а событий Сервер->Клиент нет
   Вафель
 
28 - 02.04.21 - 17:15
(25) ну так придумали, но тебе не нравится
   Вафель
 
29 - 02.04.21 - 17:16
(27) есть конечно, но только для того клиента что вызвал
   polosov
 
30 - 02.04.21 - 17:20
(27) С чего ты взял, что данные берет с клиента?
У него регламентное задание стартует по расписанию на севрере.
 
 
   ДНН
 
31 - 02.04.21 - 17:23
   ChMikle
 
32 - 02.04.21 - 17:24
(31) спасибо , но есть ньюанс , надо еще задавать в 1С вопрос и вызывать обработку ... так что не совсем то ...
   ДНН
 
33 - 02.04.21 - 17:51
(32) из внешнего события и задавай вопрос и вызывай обработку. Компонента передаст сигнал с сервера, что все выполнено, а дальше делай что хочешь средствами 1С
   polosov
 
34 - 02.04.21 - 18:06
(33) Следующий вопрос будет: "а как мне хранить IP адреса клиентов?
   ChMikle
 
35 - 05.04.21 - 15:00
Следующий вопрос : "Как сделать чтобы при нажатии на выбранное сообщение , открывалась (запускалась) обработка с заданными параметрами созданиянасервере " ? :)
   Kassern
 
36 - 05.04.21 - 15:15
(35) сделай свою форму оповещения с возможности запуска обработки
   ChMikle
 
37 - 05.04.21 - 15:16
(36) да как-то не хотелось бы
   ChMikle
 
38 - 05.04.21 - 15:18
в ПоказатьОповещениеПользователю() вроде есть обработка нажатия , но как параметры передать  ...
   Kassern
 
39 - 05.04.21 - 15:18
(37) ты можешь генерить ссылку на форму обработки, а далее заставлять юзверов ее копировать, нашимать шифт+Ф11 и вставлять)
   ChMikle
 
40 - 05.04.21 - 15:21
(39) хня какая-то получится ,хочется чтобы всплвло окно оповещения , юзер через 5 минут ткнул в нее и открылась обработочка (с заданными параметрами при открытии)
   Cthulhu
 
41 - 05.04.21 - 16:16
[1с]
// без обработок ожидания?.. кхм, ну если все коиенты традиционно на виндовозах ездиют...
Для каждого Коннект из ПолучитьСоединенияИнформационнойБазы()
Цикл Если Коннект.ИмяПриложения = "1CV8C" //ну можно еще .ИмяПользователя проверить....
Тогда ЗапуститьПриложение("MSG /time:1000 /server:" + СокрЛП(Коннект.ИмяКомпьютера)
+ " * " + "тут никого нет?..") КонецЕсли КонецЦикла;
[/1с]
   ChMikle
 
42 - 05.04.21 - 17:02
+(40) сделал через описаниеоповещения ...


Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.