Не даёт редактировать в 1С 8.3: находим и снимаем блокировку

· 9 мин

Содержание

Под «запретом редактирования» в 1С прячутся четыре разные ситуации, и лечатся они по-разному. Если внизу формы написано про дату — снимите её в разделе Администрирование → Настройки пользователей и прав → Даты запрета изменения данных. Если программа пишет «объект заблокирован другим пользователем» — нужно закрыть чужой сеанс. Если поля карточки серые — помогает команда Ещё → Разрешить редактирование реквизитов или выдача прав. Если документ не меняется после проведения — сначала отмените проведение.

Дальше — как за минуту понять, какой именно случай у вас, и что нажимать в каждом. Пути указаны для управляемого интерфейса «Такси» (платформа 8.3) и типовых конфигураций БП 3.0, ЗУП 3.1, УТ 11.

С чего начать: определяем причину блокировки

Прочитайте текст на экране — он почти всегда называет причину. Запрет редактирования бывает четырёх видов, и симптомы у них разные.

  • 📅 Дата запрета изменения. Сообщение вида «Дата запрета изменения данных… не позволяет записать». Период уже закрыт для правок.
  • 🔒 Объект занят другим сеансом. «Не удалось заблокировать объект» или «запись уже редактируется другим пользователем». Кто-то открыл тот же документ.
  • 🚫 Нет прав. Форма открывается, но вся серая, кнопка Записать неактивна. Роль не даёт изменять этот объект.
  • 📝 Реквизиты закрыты после использования. Часть полей карточки (ИНН, вид номенклатуры, валюта) заблокирована, потому что элемент уже фигурирует в документах.

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

Диагностика: выберите симптом

Определив свой случай, переходите к нужному разделу ниже.

Снимаем дату запрета изменения данных

Самый частый смысл запроса. В типовых конфигурациях на БСП дату запрета изменения задают в одном месте.

  1. Откройте Администрирование → Настройки пользователей и прав → Даты запрета изменения данных.
  2. Если флажок Даты запрета изменения данных включён — снимите его целиком или нажмите Настроить.
  3. В настройке уберите дату (очистите поле) либо сдвиньте её на более ранний день, чтобы ваш период снова открылся.
  4. Запишите и закройте. Попробуйте изменить документ ещё раз.

Запрет может быть задан по-разному: общий для всех, по разделам учёта, по организациям и по пользователям. Если общий флажок снят, а править всё равно нельзя, посмотрите персональную строку для своего пользователя — именно она перекрывает общую настройку.

Дата может быть указана не только фиксированным числом, но и относительно текущей даты — например, «конец прошлого месяца» или «конец прошлого года». Тогда граница сдвигается сама по мере того, как идёт время, и документ, который вчера ещё редактировался, сегодня уже закрыт. Если править перестало «внезапно», без видимых изменений настроек, проверьте именно способ указания даты: относительный он или абсолютный.

Когда запрет задан по разделам, одна и та же база может не давать трогать, скажем, банк и кассу, но спокойно пускать в зарплату. Смотрите, по какому разделу проходит ваш документ — снимать запрет нужно именно для него.

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

Менять дату запрета может только пользователь с соответствующим правом (обычно это администратор или профиль с правом на изменение дат запрета). Если раздел настроек у вас не отображается — прав не хватает, обратитесь к администратору базы.

Объект заблокирован другим пользователем

Сообщение «Не удалось заблокировать объект» означает, что ту же запись прямо сейчас редактирует другой сеанс. Платформа не даёт двоим менять один объект одновременно — это защита от потери данных, а не ошибка.

Что делать по шагам:

  1. Откройте список активных пользователей. Надёжный путь — Главное меню → Все функции → Стандартные → Активные пользователи. В типовых конфигурациях он также бывает в разделе администрирования или обслуживания.
  2. Найдите, кто работает с нужным документом, и попросите коллегу закрыть форму (нажать Закрыть или Записать и закрыть).
  3. После этого повторите своё действие — блокировка снимется сама.

Часто виноват не живой пользователь, а собственный зависший сеанс: вы открыли документ, программа аварийно закрылась, а сеанс остался висеть. В списке активных пользователей он будет с вашим именем. Такой сеанс нужно завершить (в файловой базе — закрыть все окна 1С, в клиент-серверной — снять сеанс из консоли, см. раздел про сервер).

Иногда блокировка исчезает сама через несколько секунд: когда два сеанса претендуют на один объект, второй ждёт освобождения ограниченное время, и лишь затем выдаёт ошибку. Поэтому первый разумный шаг при разовом сообщении — просто подождать несколько секунд и повторить запись: возможно, коллега как раз закрывает документ.

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

Серые поля карточки: разрешаем редактирование реквизитов

Отдельный случай — когда элемент справочника (номенклатура, контрагент, организация) открывается, но часть реквизитов недоступна для правки. Так платформа бережёт целостность данных: если по номенклатуре уже есть документы, смена единицы измерения или вида задним числом может исказить учёт.

Чтобы снять защиту конкретного элемента:

  1. Откройте карточку элемента.
  2. В командной панели нажмите Ещё.
  3. Выберите команду Разрешить редактирование реквизитов.
  4. Подтвердите предупреждение — закрытые поля станут доступны.

Для проведённого документа логика другая: пока он проведён, ключевые поля защищены. Нажмите Отменить проведение (команда в панели или через Ещё), внесите правки, затем проведите документ заново.

Меняя реквизиты уже использованного элемента или перепроводя старый документ, вы можете затронуть сформированные движения и остатки. Делайте это осознанно и проверяйте результат в отчётах по этому объекту.

Монопольный доступ и Конфигуратор: когда это реально нужно

Распространённое заблуждение — что для снятия запрета нужно зайти в Конфигуратор «монопольно». Для обычного редактирования документов и справочников это не требуется и не поможет.

Монопольный (эксклюзивный) доступ нужен только для операций, которые меняют структуру или целостность базы:

  • обновление конфигурации с изменением структуры данных (реструктуризация);
  • загрузка информационной базы из файла .dt;
  • Тестирование и исправление базы;
  • некоторые операции администрирования.

Если при таком действии в базе есть активные пользователи, Конфигуратор сообщит о блокирующих сеансах и предложит их закрыть — вот тогда и нужен монопольный режим.

Бывает и обратное: кто-то установил запрет начала сеансов перед плановым обновлением, а снять забыл. Тогда база пишет про блокировку соединений и не пускает новых пользователей. Снимается это в Конфигураторе: Администрирование → Блокировка соединений с информационной базой — уберите установленную блокировку. В клиент-серверном варианте то же делается через консоль кластера.

Клиент-серверная база: снимаем блокировки через консоль

Если база развёрнута на сервере 1С с СУБД (MS SQL, PostgreSQL), зависшие сеансы и блокировки администрируют на уровне кластера, а не из пользовательского режима.

Через консоль администрирования серверов 1С. Откройте оснастку кластера, перейдите к нужной информационной базе, раздел Сеансы. Здесь виден каждый сеанс: пользователь, компьютер, время. Чтобы снять зависший — выделите строку и удалите сеанс через контекстное меню.

Через командную строку rac. Удобно, когда консоль не установлена:

rac cluster list
rac session list --cluster=<идентификатор-кластера>
rac session terminate --cluster=<идентификатор-кластера> --session=<идентификатор-сеанса>

Сначала узнаёте идентификатор кластера, затем список сеансов, затем завершаете нужный по его идентификатору. Полный перечень параметров — в rac help; не придумывайте ключи наугад.

Завершение сеанса обрывает работу пользователя: несохранённые данные в этом сеансе потеряются. Снимайте только явно зависшие сеансы (без активности) и по возможности предупредите владельца.

Если оснастка консоли не открывается после обновления платформы, помогает перерегистрация её библиотеки — выполните в консоли с правами администратора regsvr32 radmin.dll из каталога bin установленной платформы.

Файловая база: зависшие блокировки и чистка кэша

В файловом варианте (1Cv8.1CD в сетевой папке) блокировки держат сами подключённые клиенты. Если база «думает», что занята, хотя никто не работает, почти всегда виноват не закрытый до конца процесс.

Порядок действий:

  1. Убедитесь, что все пользователи вышли из базы.
  2. На каждом компьютере откройте Диспетчер задач и завершите оставшиеся процессы 1cv8.exe (и 1cv8c.exe для тонкого клиента).
  3. Снова откройте базу — блокировка, как правило, снимается.

Если после этого база запускается с ошибками или «тормозит» на старте — почистите локальный кэш. Кэш хранится в профиле пользователя:

  • %LOCALAPPDATA%\1C\1cv8\
  • %APPDATA%\1C\1cv8\

Внутри — подпапки с длинными именами (по одной на базу). Их содержимое можно удалить: при следующем запуске кэш соберётся заново.

Удаляйте только папки кэша в профиле пользователя. Файл базы 1Cv8.1CD и каталог журнала регистрации не трогайте — это и есть ваши данные.

Чистку кэша и завершение процессов делайте, когда в базе точно никого нет: оборванный на полпути сеанс другого пользователя приведёт к потере его несохранённой работы.

Права доступа: если изменение запрещено ролью

Когда форма открывается только для чтения у конкретного человека (а у других всё меняется) — дело в правах. Роль пользователя не содержит права Изменение на этот объект, либо действует ограничение на уровне записей (RLS).

Настраивается это администратором в Администрирование → Настройки пользователей и прав → Пользователи: у нужного пользователя проверьте состав групп доступа и назначенный профиль. Чтобы расширить права, добавьте пользователя в группу с подходящим профилем (например, с полными правами или профилем нужного участка) либо скорректируйте сам профиль.

Ограничение на уровне записей (RLS) коварнее: право Изменение у роли вроде бы есть, но настройка видимости пускает пользователя только к своим организациям или складам. Тогда чужой документ открывается для чтения, хотя формально право на изменение присутствует. Проверяется это в составе групп доступа: какие организации, подразделения или склады разрешены профилю. Расширять доступ нужно именно там, а не раздачей новой роли.

Если же права урезаны намеренно (бухгалтер не должен менять чужой участок) — это не ошибка, а настройка. Тогда правьте документ под учётной записью, у которой такое право есть, а не раздавайте всем полный доступ.

Полные права стоит давать точечно. Массовая выдача «чтобы не мешало» со временем превращается в базу, где каждый может переписать чужие документы — и концов потом не найти.

Частые вопросы

Почему 1С не даёт изменить документ прошлого года?
Скорее всего, стоит дата запрета изменения данных на закрытый период. Снимите или сдвиньте её в настройках пользователей и прав — но только если отчётность за период ещё не сдана.
Как понять, кто именно заблокировал объект?
Откройте список активных пользователей (Все функции → Стандартные → Активные пользователи). В клиент-серверной базе точнее видно в консоли кластера или командой rac session list — там указаны пользователь и компьютер каждого сеанса.
Можно ли снять блокировку, не завершая чужой сеанс?
Да, если объект просто открыт коллегой — достаточно попросить его закрыть форму. Завершать сеанс принудительно нужно лишь тогда, когда он завис и владельца рядом нет.
Удаление кэша не повредит данные?
Нет, если удалять именно папки кэша в профиле пользователя (%LOCALAPPDATA%\1C\1cv8, %APPDATA%\1C\1cv8). Сам файл базы и журнал регистрации при этом не трогаются.
Чем запрет начала сеансов отличается от даты запрета изменения?
Запрет начала сеансов (блокировка соединений) не пускает в базу вообще — его ставят перед обновлением. Дата запрета изменения пускает в базу, но не даёт править данные до указанного числа.