Утро вечера мудреней... Для себя решил я эту задачу, взяв идею из GTTools о своем мини-сервере. Правда без обработки ожидания не получается, но при малой периодичности опроса риск промахнуться сведен до минимума. Идея такова: создается файл формата БД, мето расположения выбирается любое удобное, можно и в БД. Поля: Имя пользователя, Флаг присутствия и поля, нужные для использования, напр. Флаг движения рег.остатков ТМЦ, Сообщение и т.д.. При начале работы системы у каждого, кто ее запускает, в записи с ID этого пользователя устанавливается флаг 1 или 2 (монопольно). При завершении - флаг 0 (аналог 1SUsers). При выполнении операции, которую должны заметить все, или выбранные юзеры, в этом сервере далаются записи в поле "Флаг операции ХХХ". При переодическом опросе у тех юзеров, кому этот сигнал предназначен, получают его. После приема сигнала значение в поле обнуляется. При повторном опросе, если записи нет ничего не происходит и так, до следующего сигнала. Если кому будет интересно, то я выложу код. Работает зараза: и запускает процедуры, и выдает сообщения, и открывает формы - прямо конференция в 1С (прямо хоть патентуй), причем необязательно использование никаких ВК (для DBF), в т.ч. 1С++, одно только могу сказать, что прямой запрос конечно на все головы выше обычноых методов работы с DBF. Жаль только, что не получилось использовать 1С в асинхронном режиме, но раз Drace сказал, что бояться использования обработки ожидания через каждую секунду не нужно - Let it be.
|