закрытие программы по расписанию

Внимание! Данный форум является модерируемым.
Для получения к нему доступа необходимо зарегистрироваться или авторизоваться на сайте.

Страницы: 1
RSS
закрытие программы по расписанию, ААА 4.1, релиз 19
 
Доброе утро.
Нам необходимо каждый день выкидывать пользователей из программы на ночь. Можно это реализовать средствами программы?
 
Добрый день.
В АРМ администратора на закладке Пользователи есть список активных пользователей. По кнопке Отключить можно отключить конкретного пользователя (или всех по кнопке Отключить всех).
 
а по расписанию? я ухожу домой в 18.00, а отключать надо в 23.00
 
Цитата
а по расписанию? я ухожу домой в 18.00, а отключать надо в 23.00

Как вариант!
Можно реализовать подобное используя стандартный функционал фоновых заданий. Только для клиент - серверного варианта соответственно.
Настроить вид задания "Произвольная обработка", указав расписание и имя выпоняемого метода, код которого заблаговременно нужно добавить в конфигурацию.
Код приблизительно такого содержания:

Код
Процедура ЗавершитьРаботуВсехПользователей() Экспорт
   
   Пользователь=""; // указать пользователя
   Пароль=""; // указать пароль
   
   Попытка
      СтрокаСоединения=СтрокаСоединенияИнформационнойБазы();
      Сервер=НСтр(СтрокаСоединения,"Srvr");
      База=НСтр(СтрокаСоединения,"Ref");
      КОМ=Новый COMОбъект("V82.COMConnector");
      Агент=КОМ.ConnectAgent(Сервер);
      Кластеры=Агент.GetClusters();
      Кластер=Кластеры.GetValue(0);
      Агент.Authenticate(Кластер,"","");      
      РабочиеПроцессы=Агент.GetWorkingProcesses(Кластер);
      Для Каждого Процесс Из РабочиеПроцессы Цикл
         СтрокаСоединенияРП=Процесс.HostName+":"+Формат(Процесс.MainPort,"ЧГ=");
         СоединениеРП=КОМ.ConnectWorkingProcess(СтрокаСоединенияРП);
         СоединениеРП.AddAuthentication(Пользователь,Пароль);
         ОписаниеИБ=СоединениеРП.CreateInfoBaseInfo();
         ОписаниеИБ.Name=База;
         Соединения=СоединениеРП.GetInfoBaseConnections(ОписаниеИБ);
         Для Каждого Соединение Из Соединения Цикл
               СоединениеРП.Disconnect(Соединение);
         КонецЦикла;
      КонецЦикла;
      КОМ=Неопределено;
   Исключение
   КонецПопытки;
   
КонецПроцедуры 


Код как пример убивает все соединения(текущее соединение, конфигуратор и фоновые задания в том числе)! Используй условия в цикле для исключения того, что "убивать" не нужно методом Disconnect(Соединение)...
 
Можно сделать без вмешательства в конфигурацию через батник выполняемый по расписанию виндового шедулера, который будет вызывать метод с параметрами, из внешней обработки.
 
Пожалуй самый корректный способ это использование фоновых заданий будет.
Страницы: 1
Читают тему
Поддержка отраслевых решений «1С-Рарус»
Услуги 1С