Как завершить работу 1с
Необходимость в принудительном завершении работы пользователя в основном возникает в следующих случаях:
- Обновление информационной базы;
- Добавление нового объекта метаданных в конфигурацию;
- Проведение профилактических и ремонтных работ на сервере;
- Зависший сеанс пользователя, препятствующий повторному запуску приложения.
В этой статье мы постараемся рассказать, как завершить сеанс пользователя, какие инструменты для выполнения этой задачи есть в арсенале администратора, какие варианты завершения предусматривает файловый, а какие клиент-серверный вариант работы 1С.
Важно помнить, что при принудительном завершении сеанса возможна потеря данных. Так что для исключения неприятных ситуаций желательно заранее предупредить пользователей об отключении.
Закрытие сеансов из конфигуратора
Когда в структуру базы данных вносятся изменения, обновление конфигурации в динамическом режиме становится недоступно. И на экране появляется информационное окно (Рис.1).
Последовательность действий в этом случае очевидна:
- Необходимо нажать кнопку «Завершить сеансы и повторить»;
- Дождаться окна рестуктуризации базы;
- Нажать «ОК».
Следует отметить, что изменения, вносимые в код программы, не требуют завершения работы пользователей, однако без перезапуска приложения на каждом конкретном компьютере они на этом устройстве срабатывать не будут.
Завершение сеансов непосредственно из программы
Большинство стандартных продуктов фирмы 1С восьмой версии имеют в своем наборе механизм, позволяющий без особого труда удаленно завершить работу пользователя, и обеспечить администратору монопольный доступ к базе. Это обработка «Блокировка соединений с информационной базой».
Найти ее можно по одному из двух адресов:
- В одном из подменю раздела «Сервис»;
- Зайдя в раздел Операции->Обработки.
Внешний вид обработки представлен на Рис.2.
Особенности данной обработки:
- Установка и снятие флажка, и нажатие кнопки «Записать» включает и выключает блокировку пользователей, удаляя сеансы и препятствуя созданию новых подключений;
- Время окончания блокировки не может быть пустым или меньше времени её начала;
- В случае, когда задан параметр «Код разрешения», его можно прописать в строку запуска, для игнорирования блокировки, перед кодом указав «/UC»;
- Если «Код разрешения» не указать, то до истечения срока блокировки попасть в базу будет проблематично (в файловом варианте работы можно попробовать из папки базы удалить файл 1CVcdn);
- Если вместо параметра «/UС» и пароля через пробел указать «/CРазрешитьРаботуПользователей», где С – латинская, можно полностью отключить блокировку для всех пользователей;
- Нажатие кнопки «Активные пользователи, вызывает окно с полным списком пользователей (рис.3), откуда можно открыть «Журнал регистрации» или завершить сеанс каждого конкретного пользователя.
Два вышеизложенных варианта прекрасно работают как в файловом, так и в клиент-серверном режиме. Дальше мы будем рассматривать случаи характерные только для серверной работы.
Удаление пользователей из rdp
Важно помнить, что отключение сеансов пользователей с серверов возможно только при наличии определенных прав на это действие.
При работе с удаленного рабочего стола, завершить сеансы пользователей можно воспользовавшись стандартным диспетчером задач. Простое прерывание сеансов — немного неправильный, но достаточно действенный способ.
Второй вариант использование диспетчера задач – удаленное подключение с возможностью управления к каждому конкретному сеансу и осуществление выхода из программы по всем правилам. Этот способ долгий, и никто не гарантирует, что пока выполняется выход одного пользователя, не будет осуществлен запуск программы каким-либо другим работником.
Удаление пользователей через консоль сервера
Обладая правами Администратора для кластера серверов 1С, необходимо:
- Запустить консоль администрирования сервера 1С (Рис. 4) ; Рис.4
- В ветке «Информационные базы», найти базу, в которой будут удаляться пользователи;
- Открыв ее, зайти в ветку «Сеансы» ;
- Щелкнув правой кнопкой мыши по имени пользователя, выбрать пункт «Удалить».
Очень часто при работе в серверном режиме зависшие сеансы пользователей не видны средствами платформы, их возможно удалить только через консоль.
Самый радикальный способ прерывания сеансов
Ситуация, когда вышеописанные способы не сработали, случается крайне редко. Но в случае ее возникновения есть еще один радикальный способ прервать соединения с базой: физическая перезагрузка сервера.
Безусловно, пользователи, не успевшие закончить работу и сохранить данные, будут крайне возмущены таким беспардонным отношением, однако это быстро и это крайне эффективно.
Точнее более полно тема данного вопроса может звучать так: "Как завершить работу активных пользователей в базе 1С: Предприятие 8"? Рассмотрим возможные варианты завершения сеансов работы пользователей в файловой и серверной базах.
Кому подойдет информация: Администратор 1С, Системный администратор, Бухгалтер
Подойдет для конфигураций: Все типовые конфигурации 1С новых редакций
В данной публикации будет рассмотрено, как завершить работу пользователей в базах новых редакций, работающих в режиме управляемого приложения. Зачастую это необходимо, чтобы можно было выполнить операции, требующие монопольного режима базы (например, удаление помеченных на удаление объектов, выполнение тестирования и исправления базы). Тогда в базе остается активным только один пользователь, выполняющий такие операции.
Вообще необходимо стараться избегать необходимости завершать работу пользователей базы принудительно, а завершать работу пользователей стандартным закрытием сеансов работы. Т.к. каждое такое "выкидывание" пользователей из базы является по своей сути аварийным завершением работы с базой. И именно в такие аварийные завершения работы могут возникать или накапливаться ошибки (но не обязательно каждый раз) в пользовательских файлах, которые могут потом выражаться в нетиповом поведении 1С у отдельных пользователей, потребуется очистка кэша базы на отдельном рабочем месте. Но, когда других вариантов не остается, то приходится удалять активные сеансы работы пользователей принудительно.
Будет рассмотрено три момента: в файловой базе, а так же два варианта с использованием возможностей базы в режиме 1С:Предприятие и с помощью утилиты администрирования баз данных для серверного варианта базы. Понять, какой тип базы у Вас - файловый или серверный можно по ссылке.
Конечно, формально можно признать, что есть один универсальный способ для завершения работы всех пользователей для любого типа базы - перезагрузить сервер или компьютер, на котором расположена файловая база. Но и этот вариант следует стараться избегать, т.к. это так же будет являться аварийным завершением работы пользователей.
Внимание: описанные ниже действия доступны для пользователей с полным набором прав! |
1. Блокировка работы пользователей в файловой базе
Завершить работу пользователей в файловой базе не возможно из-за того, что платформенные механизмы 1С 8 это не позволяют сделать. Но возможно выполнить блокировку базы, установив таким образом монопольный доступ. При блокировке работа других пользователей прерывается до момента, пока блокировка не будет снята.
Для этого необходимо перейти в разделе "Администрирование" ("НСИ и администрирование" - в зависимости от конфигурации может быть такое название) по ссылке "Обслуживание", далее по ссылке "Блокировка работы пользователей". Блокировка базы устанавливается текущим пользователем. После нажатия на кнопку "Установить блокировку" сеансы других пользователей будут прерваны до момента снятия блокировки.
2. Завершение работы пользователей серверной базы в режиме 1С: Предприятие
Переходим в раздел "НСИ и администрирование" или "Администрирование" в зависимости от конфигурации базы 1С 8, далее переход по ссылке "Обслуживание".
Далее, как продемонстрировано на, объединенном изображении переход по ссылке "Активные пользователи" откроет одноименную форму списка работающих пользователей базы 1С. Выделяем несколько строк или отдельные и с помощью кнопки "Завершить сеанс" работа пользователей будет завершена.
3. Завершение работы пользователей серверной базы с помощью "Администрирования серверов 1С Предприятия"
Возможна такая ситуация, что доступ в базу оказался не возможен, например, из-за того, что закончились свободные лицензии. Поэтому завершить работу пользователей базы 1С 8 не получиться вышеописанным способом. Так же, если используется старая редакция конфигурации базы, то вышеописанные способы окажутся попросту невозможными в силу отсутствия функционала. Но это все же возможно сделать с помощью дополнительной возможности.
Этот вариант уже предполагает завершение работы пользователей не в режиме Предприятие или Конфигуратор, а с помощью дополнительной утилитой "Администрирование серверов 1С Предприятия". Поэтому важно, чтобы у пользователя уже не 1С, а операционной системы на компьютере или сервере было достаточно прав для работы с данной утилитой.
Находим базу в ветке "Кластер" - "Локальный кластер" - "Информационные базы" по имени базы и "Сеансы". Имя базы можно найти в "Справка" - "О программе", "Имя базы" или в списке запуска баз, внизу формы списка. Выделяются строки с отдельными сеансами работы или несколько подряд. Правой кнопкой мыши вызывается контекстное меню, в котором необходимо выбрать пункт "Удалить".
Согласится с предупреждением о том, что удаление сеанса может привести к потере не сохраненных изменений в справочниках и документах. Мера вынужденная, поэтому нажимается кнопка "ОК".
Успешным результатом будет исчезновение строк удаляемых сеансов пользователей из списка.
Может возникнуть ситуация, что в списке пользователей окажется пользователь "DefUser" - это значит, что в базе отрабатывает регламентное (фоновое) задание. Необходимо дождаться, когда фоновое здание закончит выполнение и пользователь DefUser сам автоматически отключиться. Иначе, если в настройке фонового задания установлена настройка запускать повторно при аварийном завершении, то пользователь после удаления его сеанса работы практически мгновенно тут же появится. И, если исходная цель была в получении монопольного доступа, то это сделать не получится из-за мгновенно снова запускающегося после завершения работы сеанса фонового задания. Необходимо дождаться самостоятельного завершения.
Использование сочетаний клавиш, список зарезервированных сочетаний
Область применения: управляемое приложение.
Для часто выполняемых или общеупотребимых действий рекомендуется назначать сочетания клавиш. Ниже приведены списки зарезервированных сочетаний в прикладных решениях и в платформе 1С:Предприятие .
Для действий, приведенных в таблицах, назначение указанных сочетаний клавиш обязательно. Использование зарезервированных сочетаний в иных целях запрещается.
Завершение сеансов пользователей, как работает, чем осуществляется
Необходимость в принудительном завершении работы пользователя в основном возникает в следующих случаях:
- Обновление информационной базы;
- Добавление нового объекта метаданных в конфигурацию;
- Проведение профилактических и ремонтных работ на сервере;
- Зависший сеанс пользователя, препятствующий повторному запуску приложения.
В этой статье мы постараемся рассказать, как завершить сеанс пользователя, какие инструменты для выполнения этой задачи есть в арсенале администратора, какие варианты завершения предусматривает файловый, а какие клиент-серверный вариант работы 1С.
Важно помнить, что при принудительном завершении сеанса возможна потеря данных. Так что для исключения неприятных ситуаций желательно заранее предупредить пользователей об отключении.
Закрытие сеансов из конфигуратора
Когда в структуру базы данных вносятся изменения, обновление конфигурации в динамическом режиме становится недоступно. И на экране появляется информационное окно (Рис.1).
Последовательность действий в этом случае очевидна:
- Необходимо нажать кнопку «Завершить сеансы и повторить»;
- Дождаться окна рестуктуризации базы;
- Нажать «ОК».
Следует отметить, что изменения, вносимые в код программы, не требуют завершения работы пользователей, однако без перезапуска приложения на каждом конкретном компьютере они на этом устройстве срабатывать не будут.
Завершение сеансов непосредственно из программы
Большинство стандартных продуктов фирмы 1С восьмой версии имеют в своем наборе механизм, позволяющий без особого труда удаленно завершить работу пользователя, и обеспечить администратору монопольный доступ к базе. Это обработка «Блокировка соединений с информационной базой».
Найти ее можно по одному из двух адресов:
- В одном из подменю раздела «Сервис»;
- Зайдя в раздел Операции->Обработки.
Внешний вид обработки представлен на Рис.2.
Особенности данной обработки:
- Установка и снятие флажка, и нажатие кнопки «Записать» включает и выключает блокировку пользователей, удаляя сеансы и препятствуя созданию новых подключений;
- Время окончания блокировки не может быть пустым или меньше времени её начала;
- В случае, когда задан параметр «Код разрешения», его можно прописать в строку запуска, для игнорирования блокировки, перед кодом указав «/UC»;
- Если «Код разрешения» не указать, то до истечения срока блокировки попасть в базу будет проблематично (в файловом варианте работы можно попробовать из папки базы удалить файл 1CVcdn);
- Если вместо параметра «/UС» и пароля через пробел указать «/CРазрешитьРаботуПользователей», где С – латинская, можно полностью отключить блокировку для всех пользователей;
- Нажатие кнопки «Активные пользователи, вызывает окно с полным списком пользователей (рис.3), откуда можно открыть «Журнал регистрации» или завершить сеанс каждого конкретного пользователя.
Два вышеизложенных варианта прекрасно работают как в файловом, так и в клиент-серверном режиме. Дальше мы будем рассматривать случаи характерные только для серверной работы.
Удаление пользователей из rdp
Важно помнить, что отключение сеансов пользователей с серверов возможно только при наличии определенных прав на это действие.
Второй вариант использование диспетчера задач – удаленное подключение с возможностью управления к каждому конкретному сеансу и осуществление выхода из программы по всем правилам. Этот способ долгий, и никто не гарантирует, что пока выполняется выход одного пользователя, не будет осуществлен запуск программы каким-либо другим работником.
Удаление пользователей через консоль сервера
Обладая правами Администратора для кластера серверов 1С, необходимо:
- Запустить консоль администрирования сервера 1С (Рис. 4) ; Рис.4
- В ветке «Информационные базы», найти базу, в которой будут удаляться пользователи;
- Открыв ее, зайти в ветку «Сеансы» ;
- Щелкнув правой кнопкой мыши по имени пользователя, выбрать пункт «Удалить».
Очень часто при работе в серверном режиме зависшие сеансы пользователей не видны средствами платформы, их возможно удалить только через консоль.
Самый радикальный способ прерывания сеансов
Ситуация, когда вышеописанные способы не сработали, случается крайне редко. Но в случае ее возникновения есть еще один радикальный способ прервать соединения с базой: физическая перезагрузка сервера.
Безусловно, пользователи, не успевшие закончить работу и сохранить данные, будут крайне возмущены таким беспардонным отношением, однако это быстро и это крайне эффективно.
Горячие клавиши в программах 1С:Предприятие
Сочетания горячих клавиш для повышения удобства и ускорения работы в программах системы "1С:Предприятие".
Использование "горячих клавиш" является одним из инструментов повышения эффективности работы с программами системы "1С:Предприятие".
Как правило, действия с помощью сочетания клавиш выполняются быстрее, чем аналогичные через меню с использованием мыши.
Освоив горячие клавиши, вы упростите и значительно ускорите выполнение часто повторяемых действий.
Описание сочетания горячих клавиш можно вызвать непосредственно в программе 1С нажав "Shift + F1".
Обратите внимание, что одни и те же сочетания горячих клавиш могут работать в одних конфигурациях (например, в старых конфигурациях на обычных формах) и не работать в других (например, в новых конфигурациях на управляемых формах) и наоборот.
Одни и те же сочетания горячих клавиш могут вызывать различные действия (или не работать вовсе) в зависимости от того, где они применяются (например в таблице, при редактировании текстового документа или в поле ввода), поэтому одно и тоже сочетание горячих клавиш может несколько раз встречаться в таблице.
Данное сочетание клавиш открывает окно, в котором будет предложено выбрать тип создаваемого нового документа в различных форматах — например, в текстовом, табличном или HTML
При обновлении конфигурации через расширение столкнулся с такой ситуацией, что пользователи не обращают внимания на уведомления и продолжают день-два-три работать без обновлений, потом когда оказывается, что доработка была для них, они возмущаются, почему у меня не работает то, что вы сделали. Так вот, я подумал: А почему же вы не закрываете программу на ночь, не видите уведомлений, что ли. Решил я на всякий случай, после обновления, ночью, когда все спят, делать завершение всех сеансов пользователей 1С.
Когда думал, как же это можно сделать, копал в Google разные сайты, а также Infostart. Но вот на Инфостарте не нашел простого решения: везде купить разработку, там такая, там другая.
Оказалось решение очень простым.
Для этого понадобится нам стандартная обработка "Блокировка работы пользователей" - она как раз таки также выполняет и данную задачу.
Открываем обработку Администрирование -> Обслуживание -> Блокировка работы пользователей
Здесь устанавливаем поля, подробно описывать не буду, но обратить внимание стоит на дату начала и дату окончания.
Дата начала - это дата, с которой база будет недоступна для открытия, т.е до этого времени у всех пользователей автоматически завершатся сеансы.
Дата окончания - это дата, до которой база будет недоступна.
После Даты окончания база будет доступна для всех пользователей.
Далее нажимаем "Установить блокировку" после чего выдаст предупреждение "Указано слишком большое время начала действия блокировки. " нажимаем "Запланировать".
ИТОГ: Вопрос решен. Всех пользователей выгнал ночью. Утром, когда будут заходить, все обновления применяются.
Специальные предложения
(2)Зато все админы и прогеры умеют ставить блокировку работы.
А статья именно для целей админов и программистов была написана вами.
Ждем статью - регламентное удаление помеченных объектов по расписанию.
Спорное утверждение. Если это так, то кто поставил статье 3 плюса? Должны были минуснуть, если умеют.
(9)эникеи и джуниорские джуны.
Данная функция гуглится же в одну строчку. )))) Ладно, все имеет место быть
(16) я, в бытность эникея, гуглил вот так "как отключить пользователей в 1с файловая база" после того как прочитал пять статей про выброс из серверной 1Ски
(17) Да, первая ссылка гугл подходит, хоть и с замечаниями.
Во-первых, почему-то гугл находит внутри страницы раздел с описанием как это сделать в серверной базе данных.
Если по ссылке провалиться, то также откроется раздел для серверной базы данных. Если прокрутить вверх, то там есть информация про обработку для 8.2. Операции - обработки - Блокировка установки соединений с информационной базой. В принципе, можно догадаться что подобная обработка есть в 8.3 и найти ее во всех функциях, названия похожие.
И опять насчет поиска гугл. Запрос на второй картинке почему-то в заголовке выдает информацию про RDP. Причем здесь RDP? Ху ноуз. Так что, да, найти можно, но придется прочитать пять статей про выброс из серверной 1Ски и учитывать что гугл неверно находит информацию внутри страницы, хотя сама страница найдена правильно.
(18) ))) Замечания, потому что в будние эникея не умел я пользоваться кавычками, плюсиками и прочими приблудами гугла поиска.
Хорошо хоть вопрос задал более менее правильно. И тогда вышла совсем другая статья на первый план.
А с RDP да, весело, но думаю если изменить вопрос, то и результат будет лучше
А где, собственно, регламентное задание .
Я думал сделали, чтобы каждый день завершало подвисшие.
Ну то есть регламентное - с расписанием на каждый день\час\месяц.
А тут одноразовая типовая выгонялка, про которую все знают ((((
(5) Я про эту возможность не знал, спасибо. Название обработки "Блокировка работы пользователей" говорит о том что она умеет блокировать начало новых сеансов работы с базой. О том что она еще и завершает сеансы пользователей я не знал.
Есть скрипт, который:
1. Скажет пользователям, что им пора отдыхать, подождет минутку и выгонит всех, кто не успел выйти сам
2. Установит блокировку входа
3. Сделает бекап
4. Получить последний cf с хранилища или из какого-то другого места
5. Накатит его на продуктив
6. Запустит в режиме предприятия, дождется выполнения обновления и согласиться с лицензионным соглашением, если нужно
7. Снимет блокировку пользователя
И всё это будет транслировать красиво в консоль, slack и какой-нибудь телеграм (если чутка допилить)
Теперь вечера обновления проходят спокойно и за минуту-другую. Надо только запустить скрипт и потом посмотреть что в итоге всё получилось без ошибок.
(6)С хранилища на продуктив? У кого-то так бывает? Обычно в хранилище изменения по пачке задач, часть из которых прошла приемку (и надо накатить), часть готовы, но еще не проверялись, а часть вообще содержат нерабочий код.
(10) Очень часто бывают релизные хранилища. Как раз оттуда и делают сборку для продуктива или накатывают полный cf.
Всех выгоняешь, а когда в следующий раз заходишь. они опять там все сидят.
Клиенты у них не закрываются, висят и долбятся в свой путь подключения, и, когда находят его, снова заходят в базу.
В файловом режиме, для того, чтобы этот метод помог, нужно в период кулдауна переименовать папку с базой, поменять у себя путь, и вот тогда спокойно зайти (после кулдауна) и сделать с базой нужные вещи.
После этого переименовать папку обратно, чтобы остальные смогли войти.
В клиент-сервере же эта шляпа вообще не нужна, там консоль кластера есть.
(7) консоль кластера есть, но этой обработкой: 1)я безопасно завершаю сеансы(с предупреждением пользователей); 2)я блокирую базу на время(в которое выполняю работы, и на протяжении этого времени, я могу зайти в базу, а другие нет)
в этом то и фишка
В случае некорректного завершения работы с 1С могут образовываться зависшие сеансы, которые потребляют клиентские лицензии. Подобная ситуация может воспрепятствовать запуску 1С для Вас и Ваших дополнительных пользователей.
Корректное завершение сеансов при работе в браузере или в тонком клиенте:
Выпадающее меню в правом верхнем углу.
Корректное завершение сеансов на УРС:
При работе на удаленном рабочем столе завершение работы 1С производится аналогичным образом:
Выпадающее меню в правом верхнем углу.
Далее завершение самого сеанса УРС производится нажатием кнопки «Завершить работу» в левом нижнем углу
Сброс всех WEB сеансов:
В случае аварийного завершения сеанса вследствие ошибок базы, прочего ПО, незапланированного завершения работы ПК (например, отключение электроэнергии, перебои интернет-соединения), возможно зависание сеансов, которые потребляют клиентские лицензии.
В таких случаях рекомендуется произвести перезапуск публикации базы через личный кабинет на вкладке «Базы 1С»
Обращаем Ваше внимание, что механизм перезапуска действует для базы, соответственно, соединение(я) пользователей будут отключены. Перед перезапуском необходимо согласовать с пользователями базы кратковременное отключение.
Завершение сеансов УРС через личный кабинет:
Завершение сеансов УРС через личный кабинет осуществляется на вкладке Пользователи – Сеансы
Завершение осуществляется нажатием кнопки в первом столбце списка
В случае, если не удается таким образом завершить сеанс WEB, необходимо произвести перезапуск пула веб-приложений проблемной базы (см. выше)
Читайте также: