7.7 Вывод Сообщений При Работе В Терминальном Сервере

olga13

Well-known member
10.10.2008
208
0
#1
Добрый день!
Суть проблемы такова: ОбработкаОжидания периодически запускает процедуру, которая получает эл. почту и формирует документ "Электронная заявка". Необходимо каким-то образом оповещать всех, кто в данный момент работает в 1С, что поступила новая заявка, а не только того пользователя, у которого запустилась обработка.
Заранее спасибо за помощь.
 

Paume

Well-known member
15.12.2010
107
0
#2
Не вижу проблемы. Получение почты идет только при условии конкретного пользователя? А за рамками условия - оповещение для всех.
Или же я чего-то не понимаю?
 

Дайнеко

Well-known member
19.11.2009
951
0
#3
"Оповещение для всех" - значит некий механизм общего назначения. Если такого нет, то самый простой способ - символьная константа.
Инициатор ее заполняет, а остальные места периодически проверяют. Самое простое назначение - принудительный выход (часто описан). Есть правда нюансы.
 

olga13

Well-known member
10.10.2008
208
0
#4
Не вижу проблемы. Получение почты идет только при условии конкретного пользователя? А за рамками условия - оповещение для всех.
Или же я чего-то не понимаю?
Процедура получения почты запускается у одного из пользователей, у него же и выдается сообщение, что поступили новые заказы. Остальные пользователи остаются в неведении до тех пор, пока обработка ожидания не сработает в их сеансе.
 

olga13

Well-known member
10.10.2008
208
0
#5
"Оповещение для всех" - значит некий механизм общего назначения. Если такого нет, то самый простой способ - символьная константа.
Инициатор ее заполняет, а остальные места периодически проверяют. Самое простое назначение - принудительный выход (часто описан). Есть правда нюансы.
Через константу, в данном случае, не совсем подходит, на мой взгляд. В какой момент нужно менять значение константы на противоположное? Как определить, что заказ уже обработан и не является новым? По моему, единственный способ - при проведении. Но заказов может быть несколько, значит, нужно проверять на наличие непроведенных документов. Именно это у меня и происходит, только без записи константы. Я и хотела избавиться от постоянного перебора документов каждым пользователем. У одного сработало - все узнали.
 

vbs

Well-known member
18.02.2007
1 708
1
#6
Можно попробовать сделать упомянутую константу по типу счетчика
 

Дайнеко

Well-known member
19.11.2009
951
0
#7
Через константу, в данном случае, не совсем подходит, на мой взгляд. .... По моему, единственный способ - при проведении.
А то! Я предложил только способ общего оповещения.
Правильно, документ при проведении что умное анализирует, а потом записывает сообщение в константу.
Все остальные ее увидели и показали пользователю.
 

olga13

Well-known member
10.10.2008
208
0
#8
А то! Я предложил только способ общего оповещения.
Правильно, документ при проведении что умное анализирует, а потом записывает сообщение в константу.
Все остальные ее увидели и показали пользователю.
Это все равно сути не меняет. Я думала, может, есть какой-то другой инструмент, нестандартный. Н-р, какая-то внешняя компонента...
 

olga13

Well-known member
10.10.2008
208
0
#9
Я все-таки нашла то, что искала. Ларчик просто открывался: КомандаСистемы("msg * Есть новые заказы!");
И внешняя компонента не нужна :)
 

puh14

Well-known member
11.07.2008
1 412
0
#10
Я все-таки нашла то, что искала. Ларчик просто открывался: КомандаСистемы("msg * Есть новые заказы!");
Ну так это увидят только те, кто в терминалке сидит. Если кто зашел в базу через сеть - то не увидит. Раньше был NET SEND - щас все вменяемые люди его отключають. То что предлагали выше пашет при любом раскладе - хоть терминал, хоть нет. Хотя сам я использовал для терминальщиков такое дело - только я хранил в временной таблице данные кто засел в конкретном документе и отсылал ему требование вылезти из него.