Закрыть все запущенные экземпляры 1С по расписанию

1. Serge_ASB 30.10.14 12:11 Сейчас в теме
Обновление конфигурации и все прочие операции по РИБ производятся по вечерам.
Бывает, что пользователи в сети не выходят из программы по окончании рабочего дня.
Как настроить 1С на автоматическое закрытие "себя" в какое-то время ежедневно?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. Xershi 1552 30.10.14 12:16 Сейчас в теме
(1) Serge_ASB, если есть терминал, рубить сессию задание к админам. Иначе регламентное задание писать которое будет закрывать 1С допустим в 20 вечера.
4. Agapov_Stas 1 30.10.14 12:22 Сейчас в теме
(1) Serge_ASB, а почему не воспользоваться стандартной выгонялкой ? (Блокировкой базы ) в стандартных конфигурациях есть такой механизм. Обработка "Блокировка установки соединения с информационной базой" - выгоняет всех пользователей и блокирует возможность подключиться к ИБ на определенное время.
2. infostart user 20 30.10.14 12:16 Сейчас в теме
1. по рег заданию запускать процедуру, в которой прописать ЗавершениеРаботыСистемы()
2. запускать батник с тасккиллом по расписанию швиндовс
5. Phel 30.10.14 12:26 Сейчас в теме
"выгонялка" работает очень плохо, часть пользователей все -равно остаются, приходится "рубить сессию"
7. Agapov_Stas 1 30.10.14 12:36 Сейчас в теме
(5) Phel, ну там есть маленький "баг" (фича) - если у пользователя стоит в настройках запрашивать подтверждение завершения сеанса, то данная обработка пытается закрыть сеанс и если пользователю выдается такой вопрос, то она просто ждет. При желании можно немного подпилить ее (чтоб она игнорировала данную пользовательскую настройку при блокировке базы) и все будет работать как часы. Единственное с чем Вы можете столкнуться - так это "зависшие сеансы", вот их таким способом не прибьешь.
Вообще можно сделать как советовали выше - через планировщик заданий виндовс и запускать батник, который будет прибивать процесс 1С в определенное время.
6. Serge_ASB 30.10.14 12:32 Сейчас в теме
Мне нужно, чтобы автоматически (без никакого участия человека) всё происходило.
Как написать регламентное задание?
Утром все базы запустятся через Планировщик Windows.
P.S. Как закрывать базу, где не нужно лезть в конфигуратор (настроено. Работает. И пусть работает!)?
8. Agapov_Stas 1 30.10.14 12:37 Сейчас в теме
(6) Serge_ASB,
Утром все базы запустятся через Планировщик Windows.

В таком случае что мешает по такому же принципу прибивать все процессы 1С ?
9. miniogn 30 30.10.14 12:37 Сейчас в теме
Вот еще для 8.1 добрый человек написал
Отрубание сессий и создание копии

http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=507764&msg=6733535

Только вместо чтения пути в реестре, мне удобнее было прописать путь руками.
PrgDirx86 = "C:\Program Files\1cv82\8.2.19.90\bin\1cv8.exe"
Serge_ASB; +1 Ответить
14. Serge_ASB 30.10.14 13:01 Сейчас в теме
(9) miniogn,
Если у меня запущено несколько процессов вида 1cv8.exe, команда TaskKill убьет только один из них, или все?
10. areavel 30.10.14 12:45 Сейчас в теме
Я делал для архивации, в процедуре ПриНачалеРаботыСистемы(), ставил обработчик ожидания, который закрывал 1с в установленное время.
11. Agapov_Stas 1 30.10.14 12:47 Сейчас в теме
(10) areavel, если сеанс завис, то не сработает обработчик ожидания
12. areavel 30.10.14 12:54 Сейчас в теме
Вот такую процедуру в обработцике прописал:
Процедура АрхивацияНочью() Экспорт
ТекВремя = Формат(ТекущаяДата(),"ДФ=ЧЧ");
ВремяЗакрытия = "01";
Если ТекВремя = ВремяЗакрытия Тогда
ЗавершитьработуСистемы(Ложь);
КонецЕсли;
SergMFO; Serge_ASB; +2 Ответить
15. YanTsys 12 30.10.14 13:15 Сейчас в теме
(12) areavel, конечно нормальные герои всегда идут в обход но вот так думаю будет проще:

Процедура АрхивацияНочью() Экспорт
	
	Если Час(ТекущаяДата()) =1 Тогда
		ЗавершитьработуСистемы(Ложь);
	КонецЕсли;

КонецПроцедуры
Показать


и условие будет легче задать при необходимости
Процедура АрхивацияНочью() Экспорт
	
	ТекущийЧас=Час(ТекущаяДата());
	Если  ТекущийЧас>0 и ТекущийЧас<3  Тогда
		ЗавершитьработуСистемы(Ложь);
	КонецЕсли;

КонецПроцедуры
Показать
16. areavel 30.10.14 15:21 Сейчас в теме
(15) YanTsys, с тобой согласен, но не по теме.
17. Agapov_Stas 1 30.10.14 15:31 Сейчас в теме
(15) YanTsys, опять же - данный механизм не будет работать если сеанс завис или выполняется какая то длительная операция (особенность обработчиков ожидания)
\
13. areavel 30.10.14 12:57 Сейчас в теме
Если учитывать зависшие, то тогда батником убивать процесс как уже сказали.
18. areavel 30.10.14 15:37 Сейчас в теме
Как вариант: использовать программу архивации типа Effector saver, там есть функция закрыть все сеансы.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот