Почему 1С не даёт редактировать документ и как это исправить

· 9 мин

Содержание

1С закрывает документ или элемент справочника от изменений по нескольким разным причинам, и способ снять запрет зависит от того, какая именно сработала. Чаще всего это дата запрета изменения данных (закрытый период), реже — нехватка прав, захват объекта другим пользователем, защита ключевых реквизитов справочника или замок конфигурации на поддержке. Текст сообщения почти всегда подсказывает, куда идти.

Типичная картина: бухгалтер перепроводит накладную за прошлый квартал, а программа отвечает Период закрыт для изменения. Или менеджер открывает карточку контрагента — а поле ИНН серое и не редактируется. Это два разных механизма, и снимаются они по-разному.

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

По тексту ошибки понять, что именно заблокировано

Разные запреты дают разные формулировки. Сопоставьте своё сообщение с симптомом ниже — это сэкономит время и убережёт от лишних действий в базе.

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

Дальше — по каждому случаю отдельно.

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

Это самая частая причина, по которой «вчера проводилось, а сегодня нет». Кто-то закрыл период: задал дату, раньше которой документы менять нельзя. Защита от случайной правки уже сданной отчётности.

Путь в 1С:Бухгалтерии 3.0 и ЗУП 3.1: Администрирование → Настройки пользователей и прав → Даты запрета изменения. Нужно включённое право администрирования либо роль, которой разрешено менять эти даты.

Варианты настройки:

  • 🗓️ Общая дата — одна на всю базу.
  • 🏢 По организациям — у каждой организации своя дата (удобно, когда фирмы сдают отчётность в разные сроки).
  • 👤 По пользователям — одним сотрудникам прошлый период закрыт, другим (например, главбуху) открыт.

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

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

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

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

После правки откройте нужный документ заново и повторите проведение.

Когда не хватает прав пользователя

Если запрет не про дату, а про права, сообщение прямо говорит о нарушении прав доступа. Значит, роль, выданная вашему профилю, не содержит разрешения на изменение этого вида объектов.

Сам пользователь права себе не добавит — нужен администратор. Он открывает Администрирование → Настройки пользователей и прав → Пользователи, заходит в карточку сотрудника и смотрит назначенные профили (группы доступа).

Что проверяет администратор:

  1. Входит ли пользователь в профиль, где разрешено редактирование нужного раздела.
  2. Нет ли ограничений на уровне записей (RLS) — например, доступ только к своей организации или складу.
  3. Не стоит ли у сотрудника профиль «только просмотр».

Не выдавайте профиль «Администратор» ради одной операции. Правильнее добавить пользователя в подходящую группу доступа или настроить отдельный профиль с нужными правами. Полные права в чужих руках — риск для базы.

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

Если прав не хватает именно на проведение (а не на запись), проверьте ещё и дату запрета для закрытого периода — она пересекается с настройками из предыдущего раздела и иногда создаёт впечатление «пропавших прав», хотя роль в порядке.

Документ занят другим пользователем

Сообщение вида Не удалось заблокировать объект означает, что элемент уже открыт для изменения в другом сеансе. Два человека не могут одновременно редактировать одну и ту же запись.

Что делать по порядку:

  1. Спросите коллег, не открыт ли у кого этот документ или карточка. Часто хватает просто закрыть форму в соседнем сеансе.
  2. Проверьте свои же сеансы — иногда объект держит ваша вторая открытая вкладка или зависшее окно.
  3. Если автора блокировки не видно, администратор смотрит список активных пользователей.

Список активных сеансов открывается через Главное меню → Все функции → Стандартные → Активные пользователи. Если пункта «Все функции» нет, его включают в Главное меню → Сервис → Параметры галочкой отображения команды «Все функции».

Принудительно завершать чужой сеанс можно, только когда понятно, что он завис. Завершение сеанса обрывает работу пользователя, его несохранённые данные теряются. В клиент-серверном варианте сеансы завершают через консоль администрирования сервера или утилиту rac (rac session list, затем завершение по идентификатору) — и лучше, чтобы это делал администратор, а не бухгалтер.

Поведение немного отличается по варианту базы. В файловой базе блокировки держатся, пока открыта форма объекта; закрыли форму — объект свободен. В клиент-серверной базе работают управляемые блокировки, и у зависшего сеанса они снимаются по тайм-ауту, после чего объект освобождается без ручного вмешательства.

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

Снять защиту реквизитов справочника

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

Чтобы разблокировать поля, в карточке элемента нажмите Еще → Разрешить редактирование реквизитов. Программа предупредит о последствиях — подтвердите, и поля станут доступны.

Менять такой реквизит имеет смысл, только если в нём реальная ошибка ввода. Если по контрагенту или номенклатуре уже проведены документы, смена ключевого реквизита может рассинхронизировать данные — суммы в документах останутся прежними, а аналитика «поедет». Для смены, например, ставки НДС или вида номенклатуры по-хорошему нужен не правленый справочник, а корректные документы.

Если элемент создан по ошибке и ещё нигде не использован — проще не править, а пометить на удаление и завести заново.

Снять замок конфигурации в Конфигураторе

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

Снятие запрета (для администраторов и разработчиков): в Конфигураторе откройте Конфигурация → Поддержка → Настройка поддержки и нажмите «Включить возможность изменения». Дальше выбирается режим — редактирование с сохранением поддержки или без неё.

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

Для доработок под себя чаще правильнее не трогать типовую конфигурацию, а использовать расширение конфигурации (появились в платформе 8.3.6). Так типовая остаётся чистой и обновляемой, а ваши изменения живут отдельным файлом .cfe.

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

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

Программное снятие запрета для разработчиков

Иногда запрет нужно обойти из кода — например, при загрузке данных обработкой, когда штатные проверки при записи мешают массовому вводу. Это инструмент разработчика, не рядового пользователя.

Основные приёмы:

  • Перед записью объекта выставить Объект.ОбменДанными.Загрузка = Истина; — платформа пропустит часть проверок в обработчике ПередЗаписью и проведёт запись как при обмене данными.
  • Для участка кода, где нужно обойти ограничения доступа и RLS, использовать УстановитьПривилегированныйРежим(Истина); с обязательным УстановитьПривилегированныйРежим(Ложь); в конце.

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

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

Если задача повторяется (регулярная загрузка, перепроведение), оформляйте её отдельной обработкой с логированием, а не правьте объекты «на живую» из консоли. Так проще откатить изменения и понять, что именно было сделано.

Как реже упираться в запреты

Большинство блокировок — не поломка, а штатная защита. Чтобы они не тормозили работу:

  • 📌 Закрывайте период единой датой запрета и фиксируйте её в регламенте — тогда «внезапные» запреты перестают быть внезапными.
  • 📌 Раздавайте права профилями под роли (бухгалтер, кадровик, кладовщик), а не копированием полного доступа.
  • 📌 Приучите пользователей закрывать форму документа после работы, а не держать десятки открытых вкладок — меньше взаимных блокировок.
  • 📌 Доработки держите в расширениях, чтобы не снимать типовую конфигурацию с поддержки без нужды.

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

Почему вчера документ проводился, а сегодня нет?
Скорее всего, за это время закрыли период — поставили дату запрета изменения данных. Проверьте её в настройках пользователей и прав; саму правку согласуйте с главбухом.
Можно ли открыть период только для одного пользователя?
Да. В настройках дат запрета есть детальный режим «по пользователям»: одному сотруднику прошлый период оставляют открытым, остальным — закрытым.
Безопасно ли нажимать «Разрешить редактирование реквизитов»?
Безопасно для реквизитов, которые ещё не влияли на учёт. Если по элементу уже есть проведённые документы, смена ключевого поля может разойтись с движениями — тогда лучше исправлять документы, а не справочник.
Чем грозит снятие конфигурации с поддержки?
Теряется простое автоматическое обновление: типовые релизы придётся накатывать с ручным слиянием. Поэтому для своих доработок предпочтительнее расширения, а не снятие с поддержки.
Как узнать, кто держит занятый объект?
Администратор смотрит Главное меню → Все функции → Стандартные → Активные пользователи. В клиент-серверной базе — через консоль администрирования сервера или rac session list.