Имя: Пароль:
1C
1С v8
Можно ли решить задачу в реактивном стиле в 1С?
0 Uberschall
 
12.03.21
10:03
Делал конфигурацию для колл-центра и была следующая задача: поступает входящий звонок пользователю, дальше из сеанса нужно запустить параллельный поток, который подключится к внешнему сервису и получит, например, связанные данные по номеру телефона (регион и т.д.), после чего параллельный поток должен вызвать callback из породившего его сеанса. Можно ли это сделать силами 1С?
1 rphosts
 
12.03.21
10:05
(0) именно так - нет, но родительский процесс вполне может фоново (например раз в 10 сек) проверять наличие признака получения данных от порожденца
2 fisher
 
12.03.21
10:05
Честно говоря, вообще не вижу смысла параллелизма в этой задаче.
3 Uberschall
 
12.03.21
10:06
(1) раз в 10сек- это не реактивно.
4 Uberschall
 
12.03.21
10:06
(2) дополнительный поток может получать данные некоторое время. нужно избежать блокировки основного потока.
5 Вафель
 
12.03.21
10:07
зачем именно параллельный?
6 ДенисЧ
 
12.03.21
10:07
(3) Проверяй раз в секунду...
7 rphosts
 
12.03.21
10:07
(3) у мну рабочий код рабочего стола охраны проверяет раз в 1 сек поступления от весов инфы о результате взвешивания ТС. Быстрее не пробовал... да и не надо
8 Вафель
 
12.03.21
10:07
(3) раз в сек обычно проверяют завершение фонового
9 fisher
 
12.03.21
10:09
Ну и короткий ответ - нет.
10 Uberschall
 
12.03.21
10:10
(6) (8) сейчас так и решено.
11 fisher
 
12.03.21
10:11
(4) Это имеет смысл только в двух случаях - если получаемые данные необязательны и можно на них посрать при завершении таймаута и если основной поток выполняет настолько ресурсоемкую задачу, что полученная экономия времени будет ощутима субъективно.
12 Uberschall
 
12.03.21
10:13
(11) поступил звонок менеджеру, сервис возвращающий связанную информацию может подтупливать и отдавать её со скоростью 1-10сек. в это время менеджер в основном потоке может заниматься другими делами в 1с: посмотреть историю из CRM по клиенту для звонка и т.д.
13 Uberschall
 
12.03.21
10:14
(10) но это костыли по сравнению с тем как хотелось бы...
14 Shadawn
 
12.03.21
10:18
Я бы рекомендовал попробовать использовать маленькое ПОЛЕHTMLДокумента, в котором вызвать асинхронный запрос, результаты этого запроса запилить в невидимый DOM и получить их в 1С в событии "ДокументСформирован". Все хочу вытащить подобное решение в библиотеку.
15 Вафель
 
12.03.21
10:19
(14) документ сформирован будет раньше чем запрос отработает
16 fisher
 
12.03.21
10:22
(12) Ну, тогда ответ стандартный. Система взаимодействий или ВК с TCP-сервером.
17 Garykom
 
гуру
12.03.21
10:26
(0) ВК
18 Garykom
 
гуру
12.03.21
10:27
(16) точно есть же СВ но она чуть сложней
19 fisher
 
12.03.21
10:30
(18) Мне очень не нравится подсовывание СВ для решения подобных простых задач, но у нее есть один неоценимый плюс - не требуется установка ВК на клиенте. Но в случае колл-центров это обычно уже несущественно, так как ВК уже используются. Поэтому я тоже за ВК в этой задаче.
20 fisher
 
12.03.21
10:31
Но если с периодическим опросом работает норм - тогда просто не надо трогать :)
21 H A D G E H O G s
 
12.03.21
10:34
(0) ФоновоеЗадание + ОбработчикОжидания

Не вижу проблем
22 ДедМорроз
 
12.03.21
10:34
Если на Винде,то штатно через подключитьобработчик добавить отслеживание создания файла через WMI, и запустить любой процесс,который что-то сделает,а потом создаст файл.
23 fisher
 
12.03.21
10:38
(22) Событие прилетает с другого хоста. Ну и в любом случае никаких преимуществ в сравнении с нативной ВК.
24 H A D G E H O G s
 
12.03.21
10:41
Вы бы хоть типовые посмотрели...
25 fisher
 
12.03.21
10:50
(24) Вы бы хоть ветку почитали. У ТС уже реализовано через фоновое + опрос. Интересуется альтернативами.
26 ДНН
 
12.03.21
10:54
27 ДедМорроз
 
12.03.21
14:26
(23) преимущества в том,что нет никаких ВК.
А файл может создавать любая служба,которая никак не связана с 1с.
И в отличие от той же СВ открывать доступ в интернет не нужно.