Как выкинуть пользователя из 1с 8 3
Всем здравствуйте.
Собственно вопрос как выгнать пользователей в 1С 8.3 ЗУП 3.1?
Стандартная выгонялка не работает. Соединение не разрывается.
// ПриОткрытии()
//
Процедура ПриОткрытии(Отказ)
Попытка
КОМ = Новый COMОбъект(«V83.COMConnector»);
Агент = КОМ.ConnectAgent(СокрЛП(«BUH-APP»));
Кластеры = Агент.GetClusters();
Кластер = Кластеры.GetValue(0);
Агент.Authenticate(Кластер, «», «»);
РабочиеПроцессы = Агент.GetWorkingProcesses(Кластер);
Для Каждого Процесс Из РабочиеПроцессы Цикл
СтрокаСоединенияРП = Процесс.HostName + «:» + Формат(Процесс.MainPort, «ЧГ=»);
СоединениеРП = КОМ.ConnectWorkingProcess(СтрокаСоединенияРП);
СоединениеРП.AddAuthentication(СокрЛП(«AutoSave»), СокрЛП(«111»));
ОписаниеИБ = СоединениеРП.CreateInfoBaseInfo();
ОписаниеИБ.Name = «zup_31»;
Соединения = СоединениеРП.GetInfoBaseConnections(ОписаниеИБ);
Для Каждого Соединение Из Соединения Цикл
Если Соединение.AppID = «COMConsole» Тогда
Продолжить;
КонецЕсли;
Если Найти(Соединение.userName, «AutoSave») = 0 Тогда
СоединениеРП.Disconnect(Соединение);
КонецЕсли;
КонецЦикла;
КонецЦикла;
КОМ = Неопределено;
ЗавершитьРаботуСистемы(Ложь);
Исключение
Стр = ОписаниеОшибки();
Сообщить(«» + Стр);
КонецПопытки;
Завершение сеансов пользователей в 1С: Управление холдингом с БСП
В конфигурации Управление холдингом 3.0.6.8 с номером версии Библиотеки стандартных подсистем 3.0.1.428 принудительно завершить сеансы пользователей в режиме 1С:Предприятие можно через меню Администрирование – Обслуживание – Активные пользователи – Завершить сеанс (Рис. 1 — 3):
Рис. 1. Администрирование – Обслуживание
Рис. 2. Обслуживание – Активные пользователи
Рис. 3. Активные пользователи – Завершить сеанс
Как закрыть активных пользователей 1С
Зачастую администратору или бухгалтеру среди рабочего дня нужен монопольный режим 1С для выполнения регламентных операций: обновления программы, изменения конфигурации, удаление объектов, группового перепроведения документов и др. При этом специалист, который должен провести регламентные операции сталкивается с проблемой «как закрыть активных пользователей». Штатными средствами не всегда возможно решить этот вопрос. В таком случае. как принудительно выбросить пользователей из программы? Сделать это можно следующими способами.
ФАЙЛОВАЯ БАЗА ДАННЫХ
Меню Сервис – Пользователи – Блокировка установки соединений с информационной базой
Если по этому пути вы не обнаружили обработку закрытия активных пользователей, посмотрите в меню Операции – Обработки — Блокировка установки соединений с информационной базой. Там она точно будет. Данная обработка появилась в платформе 1С 8.2.14. В более ранних версиях ее может не быть. Это единственный для файловой базы данных способ получить монопольный доступ. Детально рассматривать как работать с обработкой не будем. В общем то она простая и понятная.
В новых конфигурациях на управляемых формах (BAS — в Украине) появилась долгожданная волшебная кнопка завершения работы пользователя, которая доступна в Журнале активных пользователей. В BAS Бухгалтерия журнал регистрации открывается следующим образом:
Меню: Администрирование — Обслуживание — Активные пользователи
Также можно воспользоваться системными средствами ОС Windows и с помощью диспетчера задач завершить процессы других пользователей, в частности закрыть приложение 1с8.exe. Но только для этого у пользователя должны быть права администратора системы.
Существует еще один альтернативный вариант выбросить пользователей с файловой БД. Специальная программная обработка может: 1. Просто выводить информационное окно о необходимости закрыть программу или другое сообщение 2. Выводить сообщение и завершать сеансы пользователей. 3. Переводить 1С в монопольный режим. 4. Запрещать пользователям вход, когда включен монопольный режим. Данная обработка не штатная. Стоимость и функционал смотрите в наших проектах. Выглядит обработка так:
Информационное окно для пользователей
СЕРВЕРНАЯ БАЗА ДАННЫХ
Для серверной базы данных возможностей чуть больше. Доступен первый способ, а также можно удалять активных пользователей с консоли сервера 1С. Для этого необходимо в ветке найти информационную базу, ветку «Сеансы» и удалить активные сеансы пользователей. Данный способ не совсем гуманный с точки зрения внезапного прекращения работы пользователя без предупреждения, но зато очень эффекивный и быстрый. Минус в том что после удаления сеансов пользователи могут снова пытаться входить в программу. Поэтому рекомендуется незамедлительно после удаления активных сеансов из консоли приступить к выполнению намеченных заданий.
3. Перезагрузка ПК. Есть и третий вариант быстро и эффективно выбросить всех пользователей с 1С — перезагрузить ПК или сервер, на котором находится база данных 1С. Этот способ несколько грубоват, потому что не позволяет предупредить пользователей, не дает им время корректно завершить работу и т.д., но весьма эффективный, когда монопольный доступ нужен очень срочно или когда предыдущих два способа кажутся вам «темным лесом».
Как выкинуть пользователя из 1с 8 3
Точнее более полно тема данного вопроса может звучать так: «Как завершить работу активных пользователей в базе 1С: Предприятие 8»? Рассмотрим возможные варианты завершения сеансов работы пользователей в файловой и серверной базах.
Кому подойдет информация: Администратор 1С, Системный администратор, Бухгалтер
Подойдет для конфигураций: Все типовые конфигурации 1С новых редакций
В данной публикации будет рассмотрено, как завершить работу пользователей в базах новых редакций, работающих в режиме управляемого приложения. Зачастую это необходимо, чтобы можно было выполнить операции, требующие монопольного режима базы (например, удаление помеченных на удаление объектов, выполнение тестирования и исправления базы). Тогда в базе остается активным только один пользователь, выполняющий такие операции.
Вообще необходимо стараться избегать необходимости завершать работу пользователей базы принудительно, а завершать работу пользователей стандартным закрытием сеансов работы. Т.к. каждое такое «выкидывание» пользователей из базы является по своей сути аварийным завершением работы с базой. И именно в такие аварийные завершения работы могут возникать или накапливаться ошибки (но не обязательно каждый раз) в пользовательских файлах, которые могут потом выражаться в нетиповом поведении 1С у отдельных пользователей, потребуется очистка кэша базы на отдельном рабочем месте. Но, когда других вариантов не остается, то приходится удалять активные сеансы работы пользователей принудительно.
Будет рассмотрено три момента: в файловой базе, а так же два варианта с использованием возможностей базы в режиме 1С:Предприятие и с помощью утилиты администрирования баз данных для серверного варианта базы. Понять, какой тип базы у Вас — файловый или серверный можно по ссылке.
Конечно, формально можно признать, что есть один универсальный способ для завершения работы всех пользователей для любого типа базы — перезагрузить сервер или компьютер, на котором расположена файловая база. Но и этот вариант следует стараться избегать, т.к. это так же будет являться аварийным завершением работы пользователей.
Внимание: описанные ниже действия доступны для пользователей с полным набором прав! |
1. Блокировка работы пользователей в файловой базе
Завершить работу пользователей в файловой базе не возможно из-за того, что платформенные механизмы 1С 8 это не позволяют сделать. Но возможно выполнить блокировку базы, установив таким образом монопольный доступ. При блокировке работа других пользователей прерывается до момента, пока блокировка не будет снята.
Для этого необходимо перейти в разделе «Администрирование» («НСИ и администрирование» — в зависимости от конфигурации может быть такое название) по ссылке «Обслуживание», далее по ссылке «Блокировка работы пользователей». Блокировка базы устанавливается текущим пользователем. После нажатия на кнопку «Установить блокировку» сеансы других пользователей будут прерваны до момента снятия блокировки.
2. Завершение работы пользователей серверной базы в режиме 1С: Предприятие
Переходим в раздел «НСИ и администрирование» или «Администрирование» в зависимости от конфигурации базы 1С 8, далее переход по ссылке «Обслуживание».
Далее, как продемонстрировано на, объединенном изображении переход по ссылке «Активные пользователи» откроет одноименную форму списка работающих пользователей базы 1С. Выделяем несколько строк или отдельные и с помощью кнопки «Завершить сеанс» работа пользователей будет завершена.
3. Завершение работы пользователей серверной базы с помощью «Администрирования серверов 1С Предприятия»
Возможна такая ситуация, что доступ в базу оказался не возможен, например, из-за того, что закончились свободные лицензии. Поэтому завершить работу пользователей базы 1С 8 не получиться вышеописанным способом. Так же, если используется старая редакция конфигурации базы, то вышеописанные способы окажутся попросту невозможными в силу отсутствия функционала. Но это все же возможно сделать с помощью дополнительной возможности.
Этот вариант уже предполагает завершение работы пользователей не в режиме Предприятие или Конфигуратор, а с помощью дополнительной утилитой «Администрирование серверов 1С Предприятия». Поэтому важно, чтобы у пользователя уже не 1С, а операционной системы на компьютере или сервере было достаточно прав для работы с данной утилитой.
Находим базу в ветке «Кластер» — «Локальный кластер» — «Информационные базы» по имени базы и «Сеансы». Имя базы можно найти в «Справка» — «О программе», «Имя базы» или в списке запуска баз, внизу формы списка. Выделяются строки с отдельными сеансами работы или несколько подряд. Правой кнопкой мыши вызывается контекстное меню, в котором необходимо выбрать пункт «Удалить».
Согласится с предупреждением о том, что удаление сеанса может привести к потере не сохраненных изменений в справочниках и документах. Мера вынужденная, поэтому нажимается кнопка «ОК».
Успешным результатом будет исчезновение строк удаляемых сеансов пользователей из списка.
Может возникнуть ситуация, что в списке пользователей окажется пользователь «DefUser» — это значит, что в базе отрабатывает регламентное (фоновое) задание. Необходимо дождаться, когда фоновое здание закончит выполнение и пользователь DefUser сам автоматически отключиться. Иначе, если в настройке фонового задания установлена настройка запускать повторно при аварийном завершении, то пользователь после удаления его сеанса работы практически мгновенно тут же появится. И, если исходная цель была в получении монопольного доступа, то это сделать не получится из-за мгновенно снова запускающегося после завершения работы сеанса фонового задания. Необходимо дождаться самостоятельного завершения.