Имя: Пароль:
1C
1С v8
Как выгнать пользователей из базы?
0 Маленький Вопросик
 
17.04.13
06:37
Собственно сабжик, рестарт сервера приложений не помогает.

платформа 8.2.15.319, база скуль
1 Галахад
 
гуру
17.04.13
06:39
В чем это выражается?
2 Klesk
 
17.04.13
06:39
(1) а как рестарт делаешь?
Так?:
"C:\Program Files\1cv82\8.2.17.169\bin\ragent.exe" -stop
"C:\Program Files\1cv82\8.2.17.169\bin\ragent.exe" -start
3 alextom81
 
17.04.13
06:40
net stop "1C:Enterprise 8.2 Server Agent (x86-64)"
net stop SQLSERVERAGENT
net stop MSSQLSERVER

ping -n 20 127.0.0.1

net start MSSQLSERVER
net start SQLSERVERAGENT
net start "1C:Enterprise 8.2 Server Agent (x86-64)"


Лучше так
4 Маленький Вопросик
 
17.04.13
06:42
net stop "1C:Enterprise 8.2 Server Agent"
ping -n 5 127.0.0.1
net start "1C:Enterprise 8.2 Server Agent"
5 Маленький Вопросик
 
17.04.13
06:43
MSSQL сервер не перезапускается
6 Маленький Вопросик
 
17.04.13
06:46
(1) выражается в отсутствии dt
7 1Сергей
 
17.04.13
06:49
(6) о, как.

А когда выгонишь всех пользователей, ДТ магическим образом сам появится?
8 Галахад
 
гуру
17.04.13
06:50
(6) Это чё, бекап чо ли делаешь?
9 Sammo
 
17.04.13
06:55
(6) А зачем dt если есть скуль?
10 Маленький Вопросик
 
17.04.13
07:01
так, как юзверов повыхонять, если знаете
11 Рэйв
 
17.04.13
07:02
Обработки->БлокировкаСоединенийСИнформационнойБазой

Выставляешь период, пароль и ставишь галку отключения
Всех выкинет, включая тебя.

Чтобы зайти надо сделать ярлык с ключом  /UC <пароль>
12 Рэйв
 
17.04.13
07:03
второй вариант - покилять сессии в консоли сервера приложений.
13 Маленький Вопросик
 
17.04.13
07:04
(12) а программно это можно сделать?
14 Рэйв
 
17.04.13
07:04
ярлык = ярлык к стартовому фалу запуска 1С
15 Рэйв
 
17.04.13
07:05
(13)Можно, раз обработка выгоняет всех.Загляни в код и переделай под себя
16 Галахад
 
гуру
17.04.13
07:05
(12) А как это поможет, если даже остановка службы не помогает?
17 Рэйв
 
17.04.13
07:05
(16)Ну...я неуверен, что непомогает.чтото путает ТС  На чем они держаться будут если сервер потушить?
18 Маленький Вопросик
 
17.04.13
07:06
(12) сессии = сеансы?
19 Рэйв
 
17.04.13
07:06
(18)да
20 Галахад
 
гуру
17.04.13
07:07
(17) Зомби какие-то. :-)
21 Рэйв
 
17.04.13
07:07
(20)Аха..Призраки:-)
22 Steini
 
17.04.13
07:11
немножко отходя от главной сути вопроса:
самый оптимальный способ - иметь корпоративный чат, обновляться по регламенту (ну, например, с объявлением за полчаса и во время), всех, кто недовыходил - подключаемся удаленно и аккуратно закрываем. Регламентно - потому, что ответственность за несохраненный документ будет нести пользователь.
А обработка эта крайне неудобна - она же не в раз берет и отрубает пользователя, кроме того, у пользователя должен висеть обработчик, который каждый некот. промежуток времени обращается к серверу. Причем какой промежуток времени? Ну минута все-таки много - нужно меньше. И так на каждом пользователе. Не ДДОС, конечно, но тоже не хорошо
23 Steini
 
17.04.13
07:12
+ я вот не помню точно, поправьте если что - кажется, эта обработка ни за что не выгонет пользователя, если у него будет не сохраненный документ...
24 DimVad
 
17.04.13
07:13
(13) "а программно это можно сделать?" - можно. У меня была проблема с "Обработки->БлокировкаСоединенийСИнформационнойБазой" под PostGres ом, сделал свою. Получилось удобнее типовой ;-)

Там на форме такое :
====================
Перем БС, Установлена;

Процедура ПолБл()
   
   БС = ПолучитьБлокировкуСеансов();
   Установлена = БС.Установлена;
   
КонецПроцедуры

Процедура УстановитьВидимость()
   
   ЭлементыФормы.ПрекратитьБлокировку.Доступность = Установлена;
   ЭлементыФормы.НачатьБлокировку.Доступность = НЕ Установлена;
   ЭлементыФормы.Сообщение.Доступность = НЕ Установлена;
   ЭлементыФормы.ДатаНачала.Доступность = НЕ Установлена;
   ЭлементыФормы._15Мин.Доступность = НЕ Установлена;
   
   Если Установлена Тогда
       ЭлементыФормы.Статус.Значение = "Блокировано";
       ЭлементыФормы.Статус.ЦветТекста = WebЦвета.Красный;
   Иначе
       ЭлементыФормы.Статус.Значение = "НЕ блокировано";
       ЭлементыФормы.Статус.ЦветТекста = WebЦвета.Зеленый;
   КонецЕсли;
   
КонецПроцедуры
   
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
   
   ПолБл();
   УстановитьВидимость();
   Если Установлена Тогда
       Сообщение = БС.Сообщение;
       ДатаНачала = БС.Начало;
   Иначе
       Сообщение = "Техническое обслуживание 15 минут";
       ДатаНачала = ТекущаяДата();
   КонецЕсли;
   
КонецПроцедуры

Процедура НачатьБлокировкуНажатие(Элемент)
   
   БС.КодРазрешения = "12345";
   БС.Сообщение = Сообщение;
   БС.Начало = ДатаНачала;
   БС.Установлена = Истина;
   УстановитьБлокировкуСеансов(БС);
   
   ПолБл();
   УстановитьВидимость();
   
КонецПроцедуры

Процедура ПрекратитьБлокировкуНажатие(Элемент)
   
   БС.Установлена = Ложь;
   УстановитьБлокировкуСеансов(БС);
   
   ПолБл();
   УстановитьВидимость();
   
КонецПроцедуры

Процедура _15МинНажатие(Элемент)
   
   ДатаНачала = ДатаНачала + 15*60;
   
КонецПроцедуры
====================
25 Feunoir
 
17.04.13
07:16
(10) Обработки -> Активные пользователи -> Завершить сеанс

Обработка из БСП. Так что если ещё нет в конфигурации, встроить - не проблема.
26 Маленький Вопросик
 
17.04.13
07:21
(25) БСП - это?
27 Feunoir
 
17.04.13
07:23
(26) Библиотека Стандартных Подсистем
28 Маленький Вопросик
 
17.04.13
07:27
короче, ни у кого нет стандартного решения - получается - возьми это, прикрути то...
29 Рэйв
 
17.04.13
07:28
(28)А ты хотел большую розовую кнопку?:-)  Это утопия.
30 Маленький Вопросик
 
17.04.13
07:36
(30) да ))) большую розовую кнопку хотелось бы
31 alexsy
 
17.04.13
08:44
(0)
net stop "1C:Enterprise 8.2 Server Agent (x86-64)"
del /F /Q c:\progra~1\1cv82\srvinfo\reg_1541\snccntx\*.*
net start "1C:Enterprise 8.2 Server Agent (x86-64)"
32 Лефмихалыч
 
17.04.13
08:48
(28)  есть стандартное решение - Библиотека Стандартных Подсистем (25)
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан