Администрирование · 10 мин
Как узнать, кем открыт документ в 1С
Как узнать, кем открыт документ в 1С: сеансы в консоли кластера, журнал регистрации, блокировки, активные пользователи. Пошаговые инструкции и решение конфликтов.
Чтобы узнать, кем открыт документ в 1С, достаточно посмотреть активных пользователей: в режиме Предприятие это делается через «Администрирование → Активные пользователи», где видно, кто запустил сеанс, когда и с какого компьютера. Если нужно точнее определить, какой именно объект заблокирован, поможет журнал регистрации, консоль кластера серверов 1С или специализированные обработки, показывающие установленные управляемые блокировки по конкретному документу. Определив владельца сеанса, можно договориться с коллегой о закрытии документа либо корректно завершить его сеанс через консоль — и ошибка «Запись не может быть изменена, так как редактируется другим пользователем» перестанет появляться.
Способ определения пользователя зависит от режима работы базы — файлового или клиент-серверного — и от того, какие права есть у вас. Администратор видит все сеансы и может завершить любой из них, обычный пользователь ограничен сообщением системы и журналом регистрации, если туда включён доступ.
Ниже разобраны все рабочие методы: от простого чтения текста ошибки до анализа сеансов в консоли кластера и программного определения блокировок. Для каждого способа указаны условия применения, ограничения и риски.
Чтение сообщения о конфликте блокировок
Самый быстрый способ — внимательно прочитать текст ошибки. В клиент-серверном варианте сообщение о конфликте блокировок обычно содержит полезные данные: имя компьютера, номер сеанса, а иногда и имя пользователя, который удерживает объект. Формулировка может выглядеть как «Превышено время ожидания блокировки» с указанием сеанса-владельца.
В файловом режиме при попытке открыть на редактирование объект, который уже изменяет другой пользователь, 1С показывает окно с прямым указанием: «Объект редактируется пользователем: ИмяПользователя». Это самый простой сценарий — никаких дополнительных инструментов не требуется.
Если в сообщении указан только номер сеанса без имени, запишите этот номер и перейдите к консоли кластера или списку активных пользователей — там по номеру сеанса легко определить владельца.
Список активных пользователей в режиме Предприятие
В большинстве типовых конфигураций (Бухгалтерия предприятия, Управление торговлей, Зарплата и управление персоналом) есть встроенный инструмент «Активные пользователи». Он находится в разделе «Администрирование» → «Обслуживание» → «Активные пользователи» (точный путь зависит от версии БСП).
Список показывает всех работающих в базе пользователей: имя, компьютер, время начала сеанса, режим работы. Если из сообщения об ошибке известен номер сеанса, найдите его в колонке «Сеанс» и определите владельца. Сам по себе список не показывает, какой именно документ открыт, но позволяет связать сеанс с конкретным человеком.
Обратите внимание: для просмотра списка активных пользователей нужны соответствующие права. Если пункта меню нет, обратитесь к администратору базы.
Консоль кластера серверов 1С
В клиент-серверном режиме главный инструмент администратора — консоль кластера. Откройте её, разверните нужный кластер, выберите базу и перейдите на вкладку «Сеансы». Здесь видны все подключения: пользователь, компьютер, время начала, режим (толстый клиент, тонкий клиент, фоновое задание), последняя активность.
Если известен номер сеанса из сообщения об ошибке, найдите его в списке и определите пользователя. Дополнительно полезна вкладка «Блокировки» в свойствах информационной базы: она показывает управляемые блокировки по объектам, включая таблицы документов, и сеансы, которые их удерживают.
При необходимости сеанс можно завершить прямо из консоли — выделите строку и нажмите «Удалить». Делать это следует осознанно: у пользователя закроется программа, и все несохранённые данные будут потеряны.
- 1Откройте консоль кластера серверов 1С и разверните нужный кластер
- 2Выберите информационную базу и перейдите на вкладку «Сеансы»
- 3Найдите сеанс по номеру из сообщения об ошибке или по имени пользователя
- 4Проверьте вкладку «Блокировки» в свойствах базы — там видно, какие объекты удерживаются
- 5Свяжитесь с пользователем и попросите закрыть документ, либо завершите сеанс при его согласии
Журнал регистрации
Журнал регистрации фиксирует события изменения данных: кто и когда записал или изменил документ. Откройте его через «Администрирование» → «Обслуживание» → «Журнал регистрации» (в типовых конфигурациях) или через меню «Сервис» в конфигураторе.
Настройте отбор: укажите интересующий документ (метаданные «Документы», конкретный вид), событие «Данные. Изменение» и период. В результатах будет видно, какой пользователь последним изменял объект и когда. Это помогает, когда блокировка уже снята, но нужно понять, кто работал с документом.
Ограничение метода: журнал регистрации показывает факты записи, а не текущее состояние «документ открыт на экране». Пользователь может держать форму открытой часами, ничего не записывая, — такие случаи журнал не отразит.
Блокировки в файловом режиме
В файловой базе консоли кластера нет, поэтому инструментарий уже. Основной признак — сообщение «Объект редактируется пользователем…» при открытии. Имя в сообщении — это и есть ответ на вопрос.
Если пользователь завершил работу аварийно (выключился компьютер, оборвалась сеть), блокировка может «зависнуть». В этом случае документ кажется занятым, хотя никто с ним не работает. Обычно такая блокировка снимается сама через некоторое время; ускорить можно, убедившись, что зависший сеанс действительно неактивен, и при необходимости выполнив тестирование и исправление базы в нерабочее время.
Программное определение блокировок
Разработчику или продвинутому администратору доступны программные средства. Функция глобального контекста ПолучитьСеансыИнформационнойБазы() возвращает массив всех сеансов с описанием пользователя, компьютера и приложения. Это позволяет построить собственную обработку мониторинга.
Сеансы = ПолучитьСеансыИнформационнойБазы();
Для Каждого Сеанс Из Сеансы Цикл
Сообщить(Сеанс.ИмяПользователя + " | " + Сеанс.ИмяКомпьютера + " | сеанс " + Сеанс.НомерСеанса);
КонецЦикла;Для перехвата конфликтов блокировок в коде используется конструкция Попытка ... Исключение с анализом ОписаниеОшибки() — из текста исключения можно извлечь данные о сеансе-владельце и показать пользователю понятное сообщение вместо технического.
Также существуют готовые внешние обработки мониторинга блокировок, которые показывают связку «объект — сеанс — пользователь» в удобной таблице. Использовать их следует только из доверенных источников и после проверки на тестовой базе.
Что делать после определения владельца
Оптимальный путь — связаться с пользователем и попросить закрыть документ или записать и завершить редактирование. Часто оказывается, что коллега просто оставил форму открытой и ушёл на обед.
Если человек недоступен, а документ нужен срочно, администратор может завершить его сеанс из консоли кластера. Перед этим убедитесь, что в сеансе нет незавершённой важной работы: посмотрите время последней активности и режим приложения.
Как выбрать действие
Типичные ошибки и частые вопросы
Полезная профилактика — настроить в конфигурации завершение неактивных сеансов по таймауту (в типовых на базе БСП есть соответствующая настройка в параметрах обслуживания). Это снижает число «забытых» открытых документов и связанных конфликтов.
Почему документ заблокирован, хотя пользователь говорит, что закрыл его?
Вероятно, форма документа осталась открытой в другом окне или сеансе пользователя, либо его сеанс «завис» после аварийного завершения. Проверьте список сеансов в консоли кластера: если активность сеанса давно отсутствует, его можно завершить.
Может ли блокировку держать фоновое задание, а не человек?
Да. Регламентные и фоновые задания работают как отдельные сеансы и тоже накладывают блокировки. В консоли кластера у таких сеансов в колонке приложения указано «Фоновое задание». Решение — дождаться завершения задания или перенастроить его расписание.
Как узнать, кто изменил документ задним числом?
Откройте журнал регистрации, установите отбор по виду документа и событию «Данные. Изменение» за нужный период. В списке будут видны пользователь, время и компьютер каждого изменения. В типовых конфигурациях также работает отчёт «История изменений», если включено версионирование объектов.
Почему в списке активных пользователей нет нужного человека, а документ заблокирован?
Список активных пользователей в типовых конфигурациях может обновляться с задержкой или не показывать сеансы фоновых заданий. Проверьте сеансы в консоли кластера — там отображаются все подключения, включая служебные.
Что будет, если принудительно завершить сеанс пользователя?
Программа у пользователя закроется без сохранения несохранённых данных. Записанные в базу документы не пострадают, но введённая и не сохранённая информация будет потеряна. Поэтому перед завершением сеанса всегда пытайтесь связаться с владельцем.
Можно ли смотреть заблокированный документ без изменений?
Да. Блокировка запрещает редактирование и запись, но не просмотр. В файловом режиме при открытии объекта, который редактируется, 1С предложит открыть его в режиме просмотра (только чтение).
Что важно запомнить
Определить, кем открыт документ, проще всего по тексту сообщения о блокировке; при необходимости номер сеанса сопоставляется с пользователем через консоль кластера или список активных пользователей. Принудительное завершение сеанса — крайняя мера: сначала свяжитесь с владельцем, чтобы не потерять его несохранённые данные.