Интернет Windows Android

Как отключить активных пользователей 1с. Настройка спящих сеансов

1. Отключение пользователей в файловой версии 1С 8.

Для отключение пользователей в файловой версии Я создал *.bat файл с одной строчкой

net session /delete /y

Он отключает все открытые общие файлы на компьютере на котором лежит база.
Далее создал задание (Планировщик заданий Windows), который бы запускал этот файл в назначенное время.
Вы спросите а как же те сеансы которые открыты на компьютере, Я их тоже устранил создав новый *.bat файл со строкой

taskkill /IM 1cv8.exe /f
правда он отключает все запущенные 1С на текущим компьютере, но для меня это не было так страшно так как архивация производилась в ночное время и уже никто не работал в базе, этот батник тоже можно добавить в Планировщик Windows.

2. Отключение пользователей в клиент-серверной базе.

Так же как и в случае файловой базы Я использовал *.bat файлы.
Создал два *.bat файла, первый отключает сервер 1С предприятие, второй его включает очень просто.

net stop "1C:Enterprise 8.2 Server Agent"

net start "1C:Enterprise 8.2 Server Agent"

Добавил два новых задания в планировщик Windows , с разницой во времени 15 минут для того чтобы все зависшие пользователи смогли отключиться, эти действия анологичны Запуск сервера 1С Предприятие и Остановка сервера 1С Предприятие

3. Программный способ отключения пользователей в 1С

Стояла задача выполнять архивацию ежеденевно в 22:30.
В этом способе Я не стал заморачиваться, создал новую роль "НеЗакрывать1С".
Создал новую процедуру в модуле обычного приложения:

Процедура ЗавершениеРаботыПользователей() Экспорт Если НЕ РольДоступна("НеЗакрывать1С") Тогда Если Час(моп_ВыполнениеОперацийНаСервере.ТекущаяДатаНаСервере()) >= 22 Тогда // получаю врмемя на сервере ПрекратитьРаботуСистемы(Ложь); КонецЕсли; КонецЕсли; КонецПроцедуры

Если НЕ РольДоступна("НеЗакрывать1С") Тогда Если Час(моп_ВыполнениеОперацийНаСервере.ТекущаяДатаНаСервере()) >= 22 Тогда // получаю врмемя на сервере ПрекратитьРаботуСистемы(Ложь); КонецЕсли; КонецЕсли;

ПодключитьОбработчикОжидания("ЗавершениеРаботыПользователей", "600");

Функция текущая дата на сервере выглядит так:

Функция ТекущаяДатаНаСервере() Экспорт
Возврат ТекущаяДата();
КонецФункции

Таким образом мы получаем дату на сервере, в случае если в свойствах общего модуля установлена галочка "Сервер", я поставил только её.

Получается текущий код отрубает пользователей на два часа, но обычно после полночи уже никто не заходит в базу.

Если кому-то помогла эта статья буду очень рад.

Для проведения регламентных работ в информационной базе 1С:Предприятия 8 часто необходимо получить монополный доступ к базе. Например, для выполнения бэкапа базы или выполнения регламентных работ на сервере СУБД (реиндексация и т.д.), необходимо отключить все активные сеансы.

Рассмотрим простой способ отключения пользователей от информационной базы с помощью стандартного функционала сервера 1С:Предприятия.

Стандартный функционал

Сразу оговорюсь, что речь будет идти о клиент-серверном варианте работы 1С:Предприятия 8. Для отключения сеансов зайдем в консоль администрирования сервера. Там найдем нужную информационную базы в списке:

Зайдя в свойства ИБ установим опцию "Блокировка начала сеансов включена". При этом может быть необходимо ввсетси логин/пароль учетной записи администратора информационной базы.

Не забывайте установить период блокировки сеанса. Также следует предусмотреть, что на время блокировки сеансов нужно остановить все фоновые задания. Делается это опицей "Блокировка регламентных заданий включена".

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

Код разрешения можно использовать для входа в информационную базу для выполнения регламентных работ, пока остальные сеансы не активные. Вводить код разрешения при подключении к базе нужно с помощью параметров. Например, так будет выглядеть параметр, переданный серверу, если код разрешения "123456".

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

Уведомление пользователю о блокировке сеансов выглядит следующим образом (в зависимости от сообщения, введенного администратором). Появляется оно каждую минуту за 5 минут до периода блокировки.

По началу периода блокировки сеансов сначала появляется уведомление:

После сеанс завершается.

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

На практике об отключении пользователей лучше сообщать заранее, чтобы снизить риски потери данных, введенных пользователями, но еще не сохраненных.

При нештатном завершении клиентского приложения (обрыв связи или закрытие окна бразуера) клиентские лицензии «1С: Предприятие 8» могут блокироваться.

Освободить заблокированные клиентские лицензии можно перезагрузкой ПК.

При нештатном завершении клиентского приложения сеанс удерживается еще 20 минут. После этого в версиях до 8.3.5 сеанс удалялся. С версии 8.3.5 сеанс засыпает в в спящем состоянии по умолчанию удерживается еще сутки. Спящий сеанс не занимает клиентскую лицензию «1С: Предприятие 8».

В версии 8.3.5 время засыпания сеанса и время удаления неиспользуемого спящего сеанса можно изменить с помощью специальной или в Конфигураторе 1С в диалоге Администрирование/ Параметры информационной базы, установив рекомендуемые параметры спящего сеанса:

  • время засыпания пассивных сеансов — 300
  • время завершения спящих сеансов — 10

Кстати, кто спит, а кто активен всегда можно посмотреть через консоль сервера на закладке сеансов. В соответствующей колонке «Спящий» есть признак Да/Нет.

Штатно (по версии фирмы 1С) завершить работу в веб-клиенте можно командой «Файл»-«Выход». С версии 8.3.8 добавили команду завершения работы в заголовок приложения, рядом с кнопкой О программе . Она отображается в виде гиперссылки с именем текущего пользователя.При нажатии на гиперссылку открывается диалог с именем пользователя и командой Завершить работу .

Платформа каждые 5 секунд делает пинги клиетом сервер 1С (видны пакеты по 4 байта). На основании «пингов» сервер отслеживает целостность соединения с клиентским приложением. Отсутствие пингов в течение примерно 2 минут серввер интерпретирует как разрыв соединения.

Реализовано в версии 8.3.8.1652.

Раньше пользователи, привыкшие к работе с веб-приложениями, испытывали определённое неудобство от того, что не видели команды завершения работы пользователя. Они привыкли к тому, что обычно такая команда есть, и она находится на видном месте. И чтобы завершить работу веб-приложения нужно не просто закрыть окно браузера, а именно выполнить эту команду. Которая, в том числе, завершит и сеанс авторизации. Чтобы при следующем запуске приложения нельзя было войти в него «просто так», а только после ввода логина и пароля.

В 1С:Предприятии и команда Выход , и команда Завершить работу пользователя … (при использовании OpenID-аутентификации) существуют, но располагаются в меню Файл , о чём многие пользователи не знают.

Чтобы сделать работу пользователей более привычной, мы добавили команду завершения работы в заголовок приложения, рядом с кнопкой О программе . Она отображается в виде гиперссылки с именем текущего пользователя.



Эта команда, при обычной аутентификации, завершает работу клиентского приложения. А при OpenID-аутентификации она завершает работу пользователя (OpenID logout) и также завершает работу приложения.

При публикации информационной базы на веб-сервере можно задать URL, по которому будет выполнен переход после завершения работы веб-клиента этой командой. Например, для возврата на основную страницу поставщика сервиса, если пользователь работал с приложением в модели сервиса.

Программные продукты на основе платформы 1С имеют множество функций, как профильных, так и прикладных, то есть административных. Профильный функционал (конечно, в зависимости от предназначения решения) касается таких сфер, как закупка товаров, их продажа, складской, оперативный и управленческий учет, бухгалтерию, CRM, а в случае комплексных решений – и все вместе.

Естественно, что один сотрудник не в состоянии контролировать все бизнес-процессы организации, пусть они даже и автоматизированы. Поэтому администраторам систем 1С приходиться иметь дело с десятками и сотнями пользователей, работающими с определенным функционалом системы. Каждому из них приходится настраивать особые права, чтобы в их распоряжении были одновременно и все, и только нужные им документы, функции и отчеты. И вот тут мы начинаем рассматривать прикладной или административный функционал решений 1С, в который как раз и входит настройка прав доступа пользователей.

Настройки пользователя 1С 8.3

За права пользователей в 1С 8.3 отвечают специальные объекты структуры конфигурации – «Роли». В большинстве типовых конфигураций уже есть определенный список созданных стандартных ролей. Ими вы сможете пользоваться при создании учетных записей и настройке прав доступа для них. Если же стандартный набор вам не подходит, то его можно изменить или добавить свои роли.

Каждому пользователю могут быть назначены несколько ролей, отвечающих за конкретные права. Для того чтобы настроить права пользователей 1С нужно узнать, какие роли у них есть сейчас. Эту информацию можно получить двумя путями:

  • Через конфигуратор. Данный вариант подойдет для любых конфигураций;
  • В некоторых конфигурациях через режим «Предприятие».

Запускайте конфигуратор вашей базы 1С под именем пользователя с полными правами и откройте меню «Администрирование» -> «Пользователи». Чтобы узнать права у конкретного пользователя, необходимо нажать на строчку с его фамилией двойным кликом и перейти на вкладку «Прочие». Галочкой будут отмечены те роли, которые доступны пользователю. Чтобы добавить определенную роль или убрать ее, измените отметки и нажмите «ОК».



Если после анализа вы поняли, что стандартные роли не смогут полностью удовлетворить требования к разграничению прав, то необходимо их изменить. Для этого найдите нужную роль в дереве конфигурации и откройте ее двойным щелчком. В левой части открывшегося окна вы увидите перечень всех объектов конфигурации. В правой части галками отмечены те действия, права на которые заложены в этой роли, применительно к выбранному объекту слева.



Вы можете не только давать и убирать разрешения на определенные действия с объектами конфигурации, ставя и снимая галки. Помимо этого в платформу 1С встроен очень удобный механизм, отвечающий за ограничение прав пользователей на уровне записей – RLS. Он позволяет задавать условие, только при выполнении которого пользователь будет видеть данные информационной базы. С помощью RLS права пользователей в 1С 8.3 могут быть настроены так, что, например, каждый конкретный кладовщик будет видеть информацию только по своему складу.

Еще один способ добавить права на какой-либо объект пользователю, не изменяя стандартные роли – создать новую роль. Для этого нажмите на кнопку «Добавить», находясь в ветке конфигурации «Роли», и назовите новый объект. В открывшемся окне слева найдите нужные объекты конфигурации, а справа установите нужные права и ограничения. После сохранения новой роли необходимо обновить конфигурацию, зайти в список пользователей и добавить новую роль определенным пользователям.

Созданием пользователей и раздачей прав ответственность администратора информационной базы 1С не ограничивается. Сотрудники могут меняться, обязанности перераспределяться, и на все эти изменения администраторы должны быстро реагировать. Если сотрудник, выполнявший определенные функции в 1С, уволился, то необходимо отключить пользователя 1С, чтобы бывшие коллеги не пользовались учетной записью. В этом нам поможет список пользователей, который можно открыть в конфигураторе в меню «Администрирование».


Открыв настройки пользователя 1С, необходимо снять галки, отвечающие за нахождение имени сотрудника в списке выбора и аутентификацию. Таким образом, вы запретите входить под фамилией ушедшего сотрудника и сохраните настройки прав доступа, на случай, если сотрудник вернется. Также эти настройки пригодятся, если все полномочия передадут новому сотруднику – вам не придется заново настраивать роли.

Полностью удалять пользователя не рекомендуется еще и из-за того, что в системе в различных документах есть ссылки на ответственного пользователя. Если удалить запись, то появятся битые ссылки и недопонимание, кто создал конкретные документы, что может привести к неразберихе. Намного эффективнее отключить пользователя 1С от входа в систему, а в некоторых случаях снять полностью права (роли). Также в некоторых компаниях существует практика помечать неактивных пользователей определенным значком в поле «Имя», например: «*ИвановаТП».

В некоторых случаях администратору 1С может понадобиться срочно «выкинуть» пользователей из базы 1С. Это можно сделать двумя способами:

  1. Через режим «Предприятие» от пользователя с административными правами. Поддерживается не всеми конфигурациями;
  2. Через сервер приложений с помощью консоли кластера серверов 1С.

Чтобы воспользоваться первым вариантом, необходимо зайти в «НСИ и администрирование», открыть «Обслуживание» и запустить форму «Активные пользователи». Мы увидим перечень активных пользователей и сверху кнопку «Завершить», нажатие на которую позволит принудительно завершить сеансы пользователей. Кроме этого, в этом перечне можно увидеть имя компьютера и время начала работы, что поможет отследить зависшие сеансы.


Второй вариант отключения активных пользователей требует большего внимания и ответственности, так как чаще всего консоль кластера размещают на сервере приложений. Если у вас есть доступ к этой панели управления сервером, то завершить сеанс пользователя можно следующим путем:

  1. Открываем консоль кластера;
  2. Проходим в список информационных баз и открываем сеансы нужной нам;
  3. Находим в списке нужного пользователя;
  4. Вызываем контекстное меню, нажатием правой кнопки мыши, там будет функция – «Удалить».


В платформе 1С разработчиками заложен удобный механизм настройки прав и управления пользователями. Поэтому описанные возможности доступны владельцам всех конфигураций, даже написанных самостоятельно. Еще одним преимуществом является нетребовательность к наличию глубоких знаний системы 1С. Любой ответственный и внимательный администратор в состоянии справиться с этими операциями.