Как предупредить всех, кто сейчас работает в базе 1С
Содержание
Отправить сообщение всем активным пользователям 1С 8.3 быстрее всего через Администрирование → Обслуживание → Блокировка работы пользователей: вы пишете текст, задаёте время, и каждый, кто сейчас в программе, видит предупреждение. Но этот способ годится, только если вы действительно собираетесь выгнать всех из базы. Для простого объявления без отключения нужны «Обсуждения» или своя доработка.
Выбор сводится к одному вопросу: нужно ли после сообщения завершить сеансы. Если да — блокировка (из программы или из консоли кластера). Если нет — «Обсуждения», доработка в расширении или системные средства Windows на терминальном сервере. Ниже каждый способ по шагам и с правами, которые для него нужны.
Подготовка: кто сейчас в базе и хватит ли ваших прав
Сначала посмотрите, кому вообще адресовано сообщение. В типовых конфигурациях на базе БСП (Бухгалтерия 3.0, ЗУП 3.1, Управление торговлей 11) список открыт из формы блокировки по ссылке «Активные пользователи». Там видно имя пользователя, компьютер, приложение (тонкий клиент, веб-клиент, конфигуратор, фоновое задание) и время начала сеанса.
В клиент-серверном варианте тот же список есть в консоли администрирования серверов: Кластер → Информационные базы → <база> → Сеансы.
👥 Что важно заметить в списке активных пользователей:
- 🖥️ Сеансы конфигуратора. Им предупреждение из программы не покажется: в конфигураторе не работает клиентский код конфигурации.
- ⚙️ Фоновые задания и COM-соединения. Это не люди, читать сообщение некому. Их останавливают отдельно.
- 🌐 Веб-клиент. Предупреждение о блокировке он получает так же, как тонкий клиент.
Какие права нужны для рассылки
| Способ | Что нужно |
|---|---|
| Блокировка работы пользователей | Роль с полными правами (в БСП — «Администратор системы» или «Полные права») |
| Принудительное завершение сеансов на сервере | Плюс логин и пароль администратора кластера, если он задан |
| Консоль администрирования серверов | Администратор кластера; для изменения свойств базы — ещё и пользователь базы с административными правами |
| «Обсуждения» | Регистрация базы в системе взаимодействия делает администратор; писать может любой пользователь |
| Своя доработка | Права на установку расширения; пользователям — право чтения данных расширения |
Рядовому бухгалтеру без административной роли команда блокировки просто не видна. Если её нет в разделе «Администрирование», проблема в правах, а не в релизе.
Блокировка работы пользователей: текст плюс отсрочка
Это штатный механизм БСП, и у него две функции сразу. Активные пользователи получают предупреждение с вашим текстом, а в назначенное время программа завершает их сеансы. Новые входы до конца блокировки запрещены.
Пошагово
- Откройте
Администрирование → Обслуживаниеи перейдите по ссылке «Блокировка работы пользователей». В старых релизах раздел назывался «Поддержка и обслуживание». - В поле сообщения напишите, что произойдёт и когда. Пример: «В 19:00 обновляем базу. Сохраните документы и выйдите до 18:55. Работа возобновится около 20:00».
- Укажите время начала блокировки. Поставьте запас 10–15 минут от текущего момента, иначе люди не успеют сохраниться.
- Укажите время окончания или оставьте его пустым, если снимете блокировку вручную.
- Задайте код разрешения (например,
0905). С ним администратор сможет войти в заблокированную базу. - Для клиент-серверной базы откройте параметры администрирования и введите логин и пароль администратора кластера. Без них программа не сможет принудительно завершить «зависшие» сеансы.
- Нажмите «Установить блокировку».
В момент начала блокировки сеансы обрываются. Несохранённый документ пользователя будет потерян — поэтому в тексте сообщения прямо попросите записать работу.
Как написать текст, который прочитают
Предупреждение появляется поверх работы, и его закрывают за секунду. Поэтому в тексте должны быть ответы на три вопроса:
- ⏰ когда начнётся отключение — точное время, а не «скоро»;
- 📝 что сделать — сохранить документы, закрыть отчёты, выйти;
- 🔁 когда вернуться — ориентир по времени или «сообщим в чате».
Не пишите длинных объяснений про причины обновления. Человеку важно одно: успеет ли он провести документ . Если работы плановые, продублируйте объявление утром в почте или мессенджере — так его увидят и те, кто войдёт в базу позже.
Как войти в заблокированную базу
Добавьте к строке запуска параметр /UC с кодом разрешения:
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" ENTERPRISE /S"srv1c\buh" /UC0905
Путь и номер платформы подставьте свои. Тот же параметр можно дописать в свойства базы в окне запуска: Изменить → Дополнительные параметры запуска.
💡 Если нужно только предупредить, а выгонять никого не планируете, этот способ не подходит. Отменить блокировку до начала можно, но пользователи уже увидят пугающее сообщение о завершении работы.
Сообщение о блокировке через консоль администрирования серверов
Консоль кластера не умеет рассылать текст в открытые сеансы. Её сообщение увидит только тот, кто пытается войти в базу, пока действует блокировка. Поэтому консоль используют как дополнение: объявили заранее любым другим способом, потом закрыли вход.
Пошагово в консоли
- Запустите «Администрирование серверов 1С Предприятия», раскройте
Кластер → Информационные базы. - Откройте свойства нужной базы. Введите имя и пароль пользователя базы с административными правами.
- Включите флажок «Блокировка начала сеансов включена».
- Заполните «Начало» и «Конец» блокировки, поле «Сообщение о блокировке» и «Код разрешения».
- При необходимости включите «Блокировка регламентных заданий включена», чтобы фоновые задания не мешали обновлению.
- Нажмите «ОК». Уже работающих пользователей завершите вручную:
Сеансы → выделить → Удалить.
Удаление сеанса в консоли обрывает работу человека мгновенно, без предупреждения на экране. Делайте это только после объявления и истечения срока, который вы назвали.
То же самое из командной строки
Утилита rac работает через сервер администрирования ras. Сначала узнайте идентификаторы:
rac cluster list
rac infobase summary list --cluster=<id кластера>
Затем включите блокировку с сообщением:
rac infobase update --cluster=<id кластера> --infobase=<id базы> ^
--infobase-user=Администратор --infobase-pwd=*** ^
--sessions-deny=on --denied-message="Идёт обновление, вход после 20:00" ^
--permission-code=0905
Время блокировки задаётся параметрами --denied-from и --denied-to. Формат даты и остальные ключи смотрите в rac help infobase: справка утилиты точнее любой шпаргалки для вашей версии платформы.
«Обсуждения»: объявление всем без отключения от базы
Если нужно просто сказать «Закрываем период до пятницы» или «Не проводите поступления до 15:00», блокировка избыточна. Для обычных объявлений в 1С 8.3 есть система взаимодействия. В интерфейсе типовых конфигураций она называется «Обсуждения».
Как это работает:
- 💬 у каждого пользователя в панели появляется значок обсуждений;
- 🔔 новое сообщение приходит всплывающим оповещением прямо в открытой программе;
- 📜 история сохраняется, так что опоздавший тоже прочтёт объявление.
Как подключить и отправить
- Администратор регистрирует базу в системе взаимодействия. Команда находится в разделе
Администрирование, группа «Обсуждения»; в разных релизах она лежит в «Общих настройках» или в «Интернет-поддержке и сервисах». - При регистрации выбирают сервер: облачный сервис фирмы 1С или свой сервер взаимодействия в локальной сети. Своему серверу не нужен доступ в интернет.
- После регистрации создайте обсуждение, например «Объявления бухгалтерии», и добавьте в него всех пользователей.
- Пишите туда объявления. Участники увидят их, пока работают в программе, и при следующем входе.
💡 Сделайте отдельное обсуждение только для объявлений и не ведите в нём переписку. Иначе важное сообщение утонет в репликах.
Ограничение одно: обсуждение получают участники, а не «все текущие сеансы». Нового сотрудника нужно добавить в группу, иначе объявление до него не дойдёт.
Своя рассылка: расширение, обработка, средства Windows
Когда нужен именно всплывающий текст во всех сеансах без блокировки и без «Обсуждений», его делают доработкой. Схема стандартная, и писать её стоит через расширение конфигурации , а не правкой типовой.
Как устроена доработка в расширении
- В расширении создают регистр сведений «Объявления» с полями: текст, время начала показа, время окончания.
- Пишут внешнюю обработку или форму, где администратор вводит текст и сохраняет запись в регистр.
- В модуле приложения через
ПодключитьОбработчикОжиданияподключают проверку раз в минуту-две. - Проверка вызывает серверную функцию: есть ли действующее объявление, которое этот сеанс ещё не показывал.
- Если есть, клиент выводит его через
ПоказатьОповещениеПользователяили открывает форму с текстом.
Частота проверки — компромисс. Раз в 60 секунд для базы на 50 пользователей даёт нагрузку, которую сервер не заметит. Раз в 5 секунд — лишние серверные вызовы без пользы.
Расширение с новыми объектами меняет структуру данных базы. Ставьте его в нерабочее время и проверяйте сначала на копии.
Внешняя обработка без расширения
Обработка, открытая у администратора, сама по себе не может показать окно в чужом сеансе: каждый клиент выполняет только свой код. Поэтому вариант «одна обработка, которая шлёт всем» без клиентской части в каждом сеансе не работает. Готовые решения, которые это обещают, внутри устроены так же — с расширением или правкой конфигурации.
Терминальный сервер: команда msg
Если все работают в 1С через RDP на одном сервере Windows, сообщение можно отправить средствами системы, в обход 1С:
msg * /TIME:300 "В 19:00 база 1С будет недоступна. Сохраните документы."
* — все сеансы на этом сервере, /TIME — сколько секунд окно висит на экране. Команду запускают на самом терминальном сервере с правами администратора. Пользователей, которые подключаются к базе со своих компьютеров, она не затронет.
Сравнение способов оповестить пользователей 1С
| Способ | Видят активные пользователи | Отключает сеансы | Когда выбирать | Риски |
|---|---|---|---|---|
| Блокировка работы пользователей | Да, с отсрочкой | Да, в назначенное время | Обновление, закрытие базы | Потеря несохранённых данных |
Блокировка в консоли кластера / rac | Нет, только входящие | Нет, только вручную | Запрет входа на время работ | Удаление сеанса без предупреждения |
| «Обсуждения» | Да, оповещением | Нет | Регулярные объявления | Пишет только участникам группы |
| Доработка в расширении | Да, всплывающим окном | Нет | Нужен показ в каждом сеансе | Разработка и сопровождение |
msg * на терминальном сервере | Да, окном Windows | Нет | Все работают через RDP | Не видят локальные пользователи |
Почему сообщение не увидели: частые ошибки
Ещё одна частая ситуация — регламентные задания продолжают работать после блокировки и мешают обновлению. Их останавливают отдельным флажком блокировки регламентных заданий в свойствах базы в консоли кластера.