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

Тема в разделе "1C и всё что с ней связано", создана пользователем olga13, 29 май 2012.

  1. olga13

    olga13 Well-Known Member

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

    Paume Well-Known Member

    Регистрация:
    15 дек 2010
    Сообщения:
    110
    Симпатии:
    0
    Не вижу проблемы. Получение почты идет только при условии конкретного пользователя? А за рамками условия - оповещение для всех.
    Или же я чего-то не понимаю?
     
  3. Дайнеко

    Дайнеко Well-Known Member
    1C Team

    Регистрация:
    19 ноя 2009
    Сообщения:
    951
    Симпатии:
    0
    "Оповещение для всех" - значит некий механизм общего назначения. Если такого нет, то самый простой способ - символьная константа.
    Инициатор ее заполняет, а остальные места периодически проверяют. Самое простое назначение - принудительный выход (часто описан). Есть правда нюансы.
     
  4. olga13

    olga13 Well-Known Member

    Регистрация:
    10 окт 2008
    Сообщения:
    208
    Симпатии:
    0
    Процедура получения почты запускается у одного из пользователей, у него же и выдается сообщение, что поступили новые заказы. Остальные пользователи остаются в неведении до тех пор, пока обработка ожидания не сработает в их сеансе.
     
  5. olga13

    olga13 Well-Known Member

    Регистрация:
    10 окт 2008
    Сообщения:
    208
    Симпатии:
    0
    Через константу, в данном случае, не совсем подходит, на мой взгляд. В какой момент нужно менять значение константы на противоположное? Как определить, что заказ уже обработан и не является новым? По моему, единственный способ - при проведении. Но заказов может быть несколько, значит, нужно проверять на наличие непроведенных документов. Именно это у меня и происходит, только без записи константы. Я и хотела избавиться от постоянного перебора документов каждым пользователем. У одного сработало - все узнали.
     
  6. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    Можно попробовать сделать упомянутую константу по типу счетчика
     
  7. Дайнеко

    Дайнеко Well-Known Member
    1C Team

    Регистрация:
    19 ноя 2009
    Сообщения:
    951
    Симпатии:
    0
    А то! Я предложил только способ общего оповещения.
    Правильно, документ при проведении что умное анализирует, а потом записывает сообщение в константу.
    Все остальные ее увидели и показали пользователю.
     
  8. olga13

    olga13 Well-Known Member

    Регистрация:
    10 окт 2008
    Сообщения:
    208
    Симпатии:
    0
    Это все равно сути не меняет. Я думала, может, есть какой-то другой инструмент, нестандартный. Н-р, какая-то внешняя компонента...
     
  9. olga13

    olga13 Well-Known Member

    Регистрация:
    10 окт 2008
    Сообщения:
    208
    Симпатии:
    0
    Я все-таки нашла то, что искала. Ларчик просто открывался: КомандаСистемы("msg * Есть новые заказы!");
    И внешняя компонента не нужна :)
     
  10. puh14

    puh14 Well-Known Member
    1C Team

    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    Ну так это увидят только те, кто в терминалке сидит. Если кто зашел в базу через сеть - то не увидит. Раньше был NET SEND - щас все вменяемые люди его отключають. То что предлагали выше пашет при любом раскладе - хоть терминал, хоть нет. Хотя сам я использовал для терминальщиков такое дело - только я хранил в временной таблице данные кто засел в конкретном документе и отсылал ему требование вылезти из него.
     
Загрузка...

Поделиться этой страницей