МАСТЕРСКАЯ

ОБСЛУЖИВАНИЕ 1С УДАЛЕННО по Москве, СПб и всей России

ОБНОВЛЕНИЕ И ДОРАБОТКА КОНФИГУРАЦИЙ

КОНСУЛЬТАЦИИ ПО ВЕДЕНИЮ УЧЕТА В 1С


СТАТЬИ


1С:Предприятие 8.x

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

Виталий Роженюк
, 28 декабря 2014

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


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

Речь пойдет об управлении запретом на соединение пользователей с информационной базой и принудительном завершении активных сеансов пользователей.

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

УДОБНОЕ УПРАВЛЕНИЕ БЛОКИРОВКОЙ СОЕДИНЕНИЙ С ИНФОРМАЦИОННОЙ БАЗОЙ

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

Для запрета установки новых соединений пользователями и начала завершения активных сеансов мы применяем вот такую форму:

Окно установки блокировки соединения с информационной базой

Вызвать её – это один клик мышки, заблокировать информационную базу – еще один (по большой красной кнопке «Заблокировать»).

После установки блокировки форма немного меняется и выглядит вот так:

Окно снятия блокировки соединения с информационной базой

Как видно, разрешить пользователям работать – это тоже один клик мышкой. В каком состоянии сейчас информационная база на форме видно, как разблокировать – тоже вроде понятно. Сделать что-то некорректное не то чтобы трудно, скорее невозможно.

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

УВЕДОМЛЕНИЕ ПОЛЬЗОВАТЕЛЕЙ О НЕОБХОДИМОСТИ ЗАВЕРШЕНИЯ СЕАНСОВ

За 10 минут до времени, с которого нам необходимо обеспечить монопольный доступ к информационной базе, все пользователи получат первое уведомление:

Уведомление пользователя о необходимости завершения сеанса

Еще через 3 минуты те пользователи, что продолжают работать, получат второе уведомление:

Повторное уведомление пользователя о необходимости завершения сеанса

Еще через 3 минуты те, кто не понимает, что такое завершить текущий сеанс или не смотрит на экран монитора, получат третье, последнее предупреждение:

Уведомление пользователя о скором принудительном завершении сеанса

Ну а через минуту, как и написано в уведомлении, сеанс будет корректно автоматически завершен клиентом 1С:Предприятия (именно клиентом, а не будет разорван в одностороннем порядке со стороны сервера).

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

Таким образом, полный цикл завершения активных сеансов составляет не более 10-ти минут (конечно, это время настраивается, и в экстренных ситуациях может быть сокращено вплоть до 2-х минут за счет сокращения времени отображения всех уведомлений и установки времени начала действия запрета).

Настройка параметров блокировки информационной базы

На время, пока установка соединения с базой запрещена, при попытке запустить программу (установить соединение с информационной базой) пользователи увидят вот такое сообщение:

Сообщение о невозможности установки соединения с информационной базой

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

Часто ли администраторы удосуживаются писать подобные пояснения, запрещая подсоединение к информационной базе? Нет. Если это делать на десятках баз по несколько раз в день, то их вполне можно понять. А ведь уместным в разных ситуациях может быть разный текст уведомления, что стоит обсудить отдельно.

ИНФОРМИРОВАНИЕ ПОЛЬЗОВАТЕЛЕЙ О ПЛАНИРУЕМОМ ВРЕМЕНИ НЕДОСТУПНОСТИ БАЗЫ

Пару слов про время недоступности, которое можно задать на форме в полях «с» и «по».

По умолчанию в поле «с» указывается время на Х минут больше от текущего времени, где Х – время, которое требуется для корректного поэтапного информирования пользователей и завершения сеансов. 15, 10, 7, 4 минут. Мы чаще всего используем 10-ти минутный интервал завершения сеансов.

При необходимости в этом поле можно задать любое другое время, с которого будет действовать запрет. Например, днем можно установить запрет на 23:00, т.е. на время, когда будет проводиться резервное копирование.

Но и заполнение времени ожидаемого завершения обслуживания (в поле «по») также является важным. При использовании стандартных средств администраторы редко удосуживаются его заполнять, т.к. пользы от этого не много. Угадать точное время завершения сложно, всё равно обычно уместно по завершению обслуживания не затягивая снять запрет использования информационной базы.

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

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

Уведомление пользователя о скором принудительном завершении сеанса с указанием ожидаемого времени завершения обслуживания

Сообщение о невозможности установки соединения с информационной базой с указанием ожидаемого времени завершения обслуживания

БЫСТРОЕ УПРАВЛЕНИЕ БЛОКИРОВКОЙ ЗА СЧЕТ ИСПОЛЬЗОВАНИЯ ШАБЛОНОВ

Но и это еще не всё. Часто мы проводим шаблонные операции. Типовое обновление в обед, которое обычно занимает 10 минут. Или резервное копирование, которое займет около часа. Даже указание ожидаемого времени завершения обслуживания можно избежать. Для самых отъявленных лентяев мы применяем шаблоны:

Шаблоны – предопределенные варианты установки запрета на использование информационной базы

Т.е., если, например, нам нужно быстренько обновить информационную базу, что займет не более 5-ти минут, достаточно вызвать окно шаблонов и нажать на кнопке «ВКЛ» напротив первого шаблона. Картинки обычно помогают нашим администраторам осознать суть предлагаемых шаблонов без слов ;)

Описанную схему мы применяем на информационных базах, работающих под управлением "1С:Предприятия" 8.1 и 8.2. Скорее всего, и под 8.3 в свете недавнего выхода этой версии платформы, вполне возможно провести доработку подсистемы и применять её на практике.

Когда мы брались за разработку этих механизмов, я выставлял 2 главных требования:

  • человечность и простота восприятия, ориентация на применение без необходимости глубоких познаний или интеллектуальных способностей (всё должно быть просто и удобно, как применять должно быть понятно и без инструкции);
  • ориентация на минимизацию трудозатрат админов в сочетании с требованием корректного информирования при ограничении доступа пользователей к базам (промышленные объемы требуют отработки там, где при разовом применении можно было бы проделать на пару лишних действий).

Как думаете, получилось ли сделать то, что хотелось?

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

Управление блокировкой информационной базы

Тэги для поиска:
  • 1С:Предприятие
  • 1С:Предприятие 8.1
  • 1С:Предприятие 8.2
  • Блокировка
  • Запрет
  • Сеанс
  • Использование
  • Принудительно

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

Мы искренне благодарны нашим клиентам
за то, что обеспечивают нас непрерывным
потоком интересных заданий.

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