Зависшие пользователи

1. zemskov 67 09.09.11 18:45 Сейчас в теме
Стоит Windows Server 2007, на нём файл конфигурации 1С:Бухгалтерия 8.2, пользователи к ней обращаются в терминальном режиме. Всего аппаратных ключей 7(5+1+1). По непонятной причине происходит следующее: один и тот же пользователь может заходить два раза. То есть он мог зайти вчера, и система не обрубает сеанс. Сегодня он заходит как ни в чём не бывало, но старый сеанс занимает лицензию, при просмотре активных пользователей видно, что он зашёл вчера и до сих пор работает. Причём он не вылетает при завершении терминального сеанса. Пока проблему решаем перезагрузкой сервера. Может кто сталкивался с похожей проблемой?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. alexk-is 6541 09.09.11 19:06 Сейчас в теме
(1) Возможно проблема в том, что терминальный сеанс не завершается а отключается.
Вижу 2 решения проблемы:
1. Завершать автоматически отключенные сеансы
2. Подключать пользователей к отключенным сеансам, а не к новым

Всё это настраивается в терминальном сервере
Дмитрий74Чел; zemskov; +2 Ответить
3. zemskov 67 09.09.11 20:14 Сейчас в теме
Спасибо, попробую. А без терминалов, чисто из 1С 8.2 ничего нельзя сделать?
4. synelf 84 13.09.11 21:19 Сейчас в теме
Было что сесси пользователей висели. Перезагрузка сервера не помогала, убрать получилось удалением логов и временных файлов из папки с базой.
5. Ohot-Nik 16.09.11 09:32 Сейчас в теме
БЮывает, что закусывает на определенном документе при некорректном выходе из БД, СТОЛКНУЛСЯ. Есть на этот счет скрипт. Запускается на рабочей станции с пользователем , но при условии, что 1С нигде не работает...

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

Данный скрипт очищает локальный кэш 1С и при следующем запуске 1С подхватывает актуальную версию конфигурации. Скрипт настроен на удаление кешей 8.0-8.2 платформ. Работает только если на локали нет ни одного запущенного процесса 1С 8.

Это доработка этого http://infostart.ru/public/81178/

Реализовано на JScript (тот был на VBScript). Теперь при возникновении ошибкок при удалении каждый раз не выводится окно с ошибкой, а выводится только в самом конце одно.

Причиной написания данного скрипта послужило то, что параметр /ClearCache часто не решает проблему.

Для использования необходимо создать текстовый файл, скопировать в него текст скрипта и изменить его расширение с *.txt на *.js.



var FSO = new ActiveXObject("Scripting.FileSystemObject");

var WshShell = new ActiveXObject("WScript.Shell");

var colEnvVars = WshShell.Environment("Process");



var sErrors = false;



var FolderName1 = "\\Local Settings\\Application Data\\1C\\1Cv82";

var FolderName2 = "\\Local Settings\\Application Data\\1C\\1Cv81";

var FolderName3 = "\\Local Settings\\Application Data\\1C\\1Cv80";





if (FSO.FolderExists(colEnvVars("userprofile") + FolderName1))

GoSubFolders(colEnvVars("userprofile") + FolderName1);

if (FSO.FolderExists(colEnvVars("userprofile") + FolderName2))

GoSubFolders(colEnvVars("userprofile") + FolderName2);

if (FSO.FolderExists(colEnvVars("userprofile") + FolderName3))

GoSubFolders(colEnvVars("userprofile") + FolderName3);





if (!sErrors)

WScript.Echo("Обновление кэша прошло успешно");

else

WScript.Echo("Возникли ошибки. Возможно запущена 1С");



function DelFile(sFILE)

{

try

{

FSO.DeleteFile(sFILE, True);

}

catch(e)

{

sErrors = true;

}

}



function GetFolder(sFOLDER)

{

try

{

return FSO.GetFolder(sFOLDER);

}

catch(e)

{

sErrors = true;

}

}



function GoSubFolders(objDIR)

{

ProcessFilesInFolder(objDIR);

var sFolder = GetFolder(objDIR);

var subFlds = new Enumerator(sFolder.SubFolders);

for (; !subFlds.atEnd(); subFlds.moveNext())

{

GoSubFolders(subFlds.item());

}

try

{

FSO.DeleteFolder(sFolder, true);

}

catch(e)

{

sErrors = true;

}

}



function ProcessFilesInFolder(objDIR)

{

var sFolder = GetFolder(objDIR);

var subFiles = new Enumerator(sFolder.Files);

for (; !subFiles.atEnd(); subFiles.moveNext())

{

DelFile(subFiles.item());

}

}
6. varkolak 4 16.09.11 09:49 Сейчас в теме
В сервисе 8.2 есть команда "Блокировка соединений с информационной базой" Пробовал, обрубает.
7. Korona 03.10.11 10:43 Сейчас в теме
попробуй так при заходе в терминал в автозагрузке прописать скрипт.cmd внутри текст
rd "%UserProfile%\AppData\Local\1C\1Cv82" /s /q мне помогает.
8. Borisych 503 03.10.11 10:45 Сейчас в теме
(7) Korona, что за команда rd?
12. Korona 03.10.11 11:08 Сейчас в теме
(8)(9)Команда RD
Описание команды rd: удаляет каталог через командную строку.
9. Borisych 503 03.10.11 10:45 Сейчас в теме
(7) Korona, что за команда rd?
andy116k; +1 Ответить
10. Mort99 03.10.11 10:53 Сейчас в теме
Если все прописано, но сеансы пользователей иногда зависают, тоесть не часто, то можно эти сеансы и в ручную завершить .
11. Korona 03.10.11 11:07 Сейчас в теме
(10)А если архивация происходит в 3 утра и пользователь последний вышел примерно в час ночи. Кто его отрубит?
13. пользователь 03.10.11 11:40
Сообщение было скрыто модератором.
...
14. MirrorDen 31.10.11 06:55 Сейчас в теме
Чаще всего сессии зависают в RDP при использовании сессии без запуска Explorer, не посредственно стартуется 1С.
15. dyh 4 31.10.11 10:14 Сейчас в теме
Сколько мути развели, а решается все в 2 клика - настройка служб терминала - ограничивать пользователя единственным сеансом - истина. Далее, если юзеры как и везде одинаковые, - говоришь что нужно выйти из 1с потом пуск - логоф. Но им(!!!) то гораздо проще нажать на синий крестик терминала и все сразу быстро и правильно (для них) закроется и можно идти домой... Вообщем либо выписываем штрафы за безответственность, либо оставляем все незавершенные сеансы висеть круглосуточно.
Дмитрий74Чел; +1 Ответить
16. dyh 4 31.10.11 10:16 Сейчас в теме
MirrorDen пишет:
Чаще всего сессии зависают в RDP при использовании сессии без запуска Explorer, не посредственно стартуется 1С.

Эти сессии не зависают если выходить крестиком по 1с, а не по рдп... Возможно придется подождать когда и сеанс схлопнется, но его лучше свернуть а не крестом долбить...
17. Borisych 503 31.10.11 10:17 Сейчас в теме
тайм аут на завершение сеанса поставить
18. MirrorDen 31.10.11 11:07 Сейчас в теме
Да даже ставить эту галочку, иногда этот глюк проскакивает. А если с проводником практически никогда.
19. Andrei12 31.10.11 15:40 Сейчас в теме
Следует проделать следующие действия:
Уменьшить тайм-аут завершения процесса SplWOW64.exe. Для этого следует в значение системного реестра SplWOW64TimeOut установить в значение 1 (при отсутствии значения его следует создать с типом DWORD (32 бита)).
Ветка реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print
Добавить процесс SplWOW64.exe в список процессов, завершаемых при завершении терминальной сессии. Для этого следует значение системного реестра SPLWOW64.EXE установить в значение 0 (при отсутствии значения его следует создать с типом DWORD (32 бита)).
Ветка реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal­Server\SysProcs
20. kksu36 15.11.11 21:56 Сейчас в теме
Привет всем!
Я в таком случае делаю так: на сервере-терминале запускаю диспетчер задач. И на закладке Пользователи отключаю всех пользователей с пометкой Отключен. Конечно не вариант, если такие ситуации возникают постоянно, но в единичных случаях помогает.
21. пользователь 18.12.12 08:09
Сообщение было скрыто модератором.
...
22. пользователь 18.12.12 08:10
Сообщение было скрыто модератором.
...
23. пользователь 18.12.12 08:10
Сообщение было скрыто модератором.
...
24. Дмитрий74Чел 237 20.12.12 10:56 Сейчас в теме
ребят, забаньте спамера (нажмите спам в трех последних сообщениях)
Оставьте свое сообщение

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