Документ или справочник не редактируется: что снять — запрет, права или блокировку
Содержание
Чтобы разрешить редактирование в 1С 8.3, сначала поймите, что именно его запрещает. Чаще всего это одно из четырёх: дата запрета изменения (Администрирование → Проведение документов), нехватка прав в группе доступа, закрытые реквизиты справочника (команда Ещё → Разрешить редактирование реквизитов) или блокировка записи другим пользователем.
Типичная картина: бухгалтер открывает акт за март, правит сумму, жмёт «Провести» — и получает отказ. Или поле ИНН в карточке контрагента серое, хотя вчера было доступно. Причины разные, и включить редактирование каждый раз нужно своим способом. Ниже — как различить эти случаи и что делать в каждом.
Что мешает редактировать: определяем причину по симптому
Не начинайте с прав. Сначала прочитайте сообщение программы и посмотрите, как ведёт себя форма. По этим признакам причина почти всегда видна сразу.
| Симптом | Вероятная причина | Где снимать |
|---|---|---|
| Документ открывается, но при записи — отказ из-за даты в запрещённом периоде | Дата запрета изменения | Настройки проведения документов |
| Форма открыта только для просмотра, кнопок «Записать» и «Провести» нет | Нет права на изменение | Группы доступа пользователя |
| В справочнике серые отдельные поля (ИНН, вид номенклатуры, единица) | Запрет редактирования ключевых реквизитов | Ещё → Разрешить редактирование реквизитов |
Ошибка блокировки объекта. Объект уже заблокирован | Объект открыт у другого пользователя | Закрыть форму у коллеги или завершить его сеанс |
Конфликт блокировок при выполнении транзакции | Две операции пишут одни и те же данные | Повторить позже, разнести тяжёлые операции |
| Объекты конфигурации в Конфигураторе с замком, правка недоступна | Конфигурация на поддержке без возможности изменения | Конфигурация → Поддержка → Настройка поддержки |
| Никто не может войти в базу | Установлена блокировка начала сеансов | Форма блокировки работы пользователей или консоль кластера |
Ещё → Разрешить редактирование реквизитов, проверьте использование объекта и включите нужные поля.Дата запрета изменения: как открыть закрытый период
В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) закрытый период — самая частая причина. Её ставят после сдачи отчётности, чтобы никто случайно не изменил данные прошлого квартала.
В Бухгалтерии 3.0 настройка лежит здесь:
- Откройте
Администрирование → Проведение документов. - Найдите флажок «Дата запрета изменения» и перейдите по ссылке «Настроить» рядом с ним.
- В окне настройки посмотрите, как задан запрет: одна дата для всех пользователей или отдельные даты по пользователям и организациям.
- Сдвиньте дату на нужное число или удалите строку для конкретного пользователя.
- Запишите настройку и повторите запись документа.
Не снимайте флажок целиком, если нужно поправить один документ. Безопаснее дать исключение одному пользователю на день, исправить документ и вернуть запрет. Так остальные не получат доступ к закрытому периоду.
Варианты задания даты в БСП:
- 📅 Произвольная дата — фиксированное число, например 31.03.
- 🔁 Относительная дата — конец прошлого месяца, квартала или года. Граница сдвигается сама.
- ⏳ Отсрочка — к относительной дате добавляется несколько дней, в течение которых период ещё открыт. Например, конец прошлого месяца плюс 10 дней: до 10 числа можно править прошлый месяц.
Отдельно бывает дата запрета загрузки данных. Она не мешает ручной правке, а отклоняет изменения, которые приходят через обмен. Если документ «не обновляется» после синхронизации, смотрите именно её.
Правка закрытого периода меняет сданную отчётность. Перед изменением документа за прошлый квартал согласуйте это с главным бухгалтером и проверьте, не придётся ли подавать уточнённую декларацию.
Права на редактирование: группы доступа и профили
Если форма открывается без кнопок записи, пользователю не хватает прав. В типовых конфигурациях права выдают не ролями напрямую, а через группы доступа.
Путь в Бухгалтерии 3.0, ЗУП 3.1 и УТ 11 одинаковый:
Администрирование → Настройки пользователей и прав → Группы доступа.- Откройте группу, в которой состоит пользователь, и посмотрите её профиль.
- Если профиль даёт только просмотр, переведите пользователя в группу с профилем, где есть изменение нужных объектов. Или создайте свой профиль на основе типового.
- Пользователю нужно перезайти в программу: права применяются при новом сеансе.
Удобная проверка — карточка пользователя. Откройте Администрирование → Настройки пользователей и прав → Пользователи, выберите сотрудника и откройте его права доступа. Там видно, в каких группах он состоит и какие роли получил в итоге.
Ограничение на уровне записей
Бывает, что право на документ есть, а конкретный документ не редактируется. Это работает ограничение доступа на уровне записей: пользователю открыты, например, только одна организация или один склад.
Проверьте в группе доступа вкладку с ограничениями. Если там указан список организаций, а документ оформлен на другую, редактировать его не получится. Включается такое ограничение флажком в Администрирование → Настройки пользователей и прав.
Почему роли из Конфигуратора «слетают»
В Конфигураторе роли назначают в Администрирование → Пользователи, на вкладке «Прочие» карточки. Но в типовых конфигурациях на БСП так делать не стоит. Программа сама пересчитывает роли по группам доступа, и роль, добавленная вручную, пропадёт при следующем обновлении групп.
Вручную через Конфигуратор роли меняют только в двух случаях: в нетиповой конфигурации без подсистемы управления доступом или чтобы вернуть права администратору, который случайно их у себя отнял.
Галочка «Разрешить редактирование реквизитов» в справочниках
Это та самая «галочка», которую ищут чаще всего. В карточках номенклатуры, контрагентов, организаций и других справочников ключевые поля закрываются, как только объект попадает в документы. Например, ИНН контрагента, вид номенклатуры, единица измерения.
Защита нужна, чтобы не испортить уже проведённые документы. Но если реквизит заполнили с ошибкой, его можно открыть:
- Откройте карточку элемента справочника.
- В командной панели нажмите
Ещё → Разрешить редактирование реквизитов. - Программа покажет список закрытых реквизитов с флажками и предупреждение о последствиях.
- Нажмите проверку использования: программа покажет, в каких документах участвует элемент.
- Отметьте нужный реквизит, подтвердите разрешение, исправьте поле и запишите элемент.
Пример: в карточке номенклатуры «Бумага А4» по ошибке выбран вид «Услуга», а по ней уже есть 12 поступлений. Если сменить вид, старые документы останутся с прежними счетами учёта, а новые пойдут по-новому. Безопаснее создать правильный элемент, а старый пометить на удаление после проверки остатков.
Если команды нет в меню «Ещё», у пользователя нет права на изменение этого справочника. Решается через группы доступа из предыдущего раздела.
Блокировки записей и монопольный режим
Здесь редактирование мешает не настройка, а другой сеанс. Платформа не даёт двум людям одновременно менять один объект.
Объектная блокировка
Когда пользователь открывает документ и начинает его менять, платформа ставит на объект блокировку. Второй, кто попытается записать этот же документ, получит Ошибка блокировки объекта. Объект уже заблокирован.
Что делать:
- 👥 Найдите, у кого открыт объект:
Администрирование → Обслуживание → Активные пользователи(в некоторых релизах раздел называется «Поддержка и обслуживание»). - 🗣 Попросите коллегу закрыть форму без записи или записать свои изменения.
- 🔌 Если сеанс завис (человек ушёл, компьютер выключился), завершите его. Блокировка снимется вместе с сеансом.
Транзакционные блокировки
Сообщения Конфликт блокировок при выполнении транзакции и Превышено максимальное время ожидания предоставления блокировки появляются, когда две операции одновременно пишут одни и те же данные. Например, бухгалтер проводит документ, а в это время идёт закрытие месяца.
Обычно хватает повторить действие через пару минут. Если ошибка постоянная, разнесите тяжёлые регламентные операции и групповое перепроведение по времени, когда в базе мало людей.
Монопольный режим
Монопольный режим к правке документов отношения не имеет. Он нужен для обновления структуры базы, загрузки .dt, тестирования и исправления. Пока кто-то работает в базе, перейти в него нельзя, и наоборот: пока база в монопольном режиме, другие не войдут.
Виды блокировок в 1С: сравнение
| Вид | Кто ставит | Что запрещает | Как снять |
|---|---|---|---|
| Дата запрета изменения | Администратор или главбух | Запись данных до даты | Сдвинуть дату или дать исключение |
| Запрет редактирования реквизитов | Программа автоматически | Изменение ключевых полей справочника | Ещё → Разрешить редактирование реквизитов |
| Объектная блокировка | Платформа при начале правки | Запись того же объекта вторым пользователем | Закрыть форму или завершить сеанс |
| Транзакционная блокировка | Платформа при записи | Одновременную запись тех же данных | Дождаться окончания операции |
| Блокировка начала сеансов | Администратор, обновление | Вход в базу | Снять в форме блокировки или в консоли |
| Конфигурация на поддержке | Поставщик конфигурации | Изменение объектов в Конфигураторе | Включить возможность изменения |
Для разработчика есть ещё режим управления блокировкой данных в свойствах конфигурации: автоматический, управляемый или смешанный. Типовые конфигурации работают в управляемом режиме, менять его пользователю не нужно.
Снятие блокировок в Конфигураторе и в режиме Предприятия
В режиме Предприятия
Блокировку входа ставят перед обновлением через Администрирование → Обслуживание → Блокировка работы пользователей. Если обновление прервалось, блокировка может остаться, и утром никто не войдёт.
- Войдите под администратором с кодом разрешения: параметр запуска
/UC<код>, где код — тот, что указали при установке блокировки. - Откройте форму блокировки работы пользователей.
- Снимите блокировку и запишите.
Через консоль кластера
Для клиент-серверной базы блокировку снимают в консоли администрирования серверов. Откройте свойства информационной базы и снимите флажок «Блокировка начала сеансов включена». Там же в списке сеансов можно удалить зависший сеанс.
Завершение сеанса обрывает работу пользователя без сохранения. Перед удалением сеанса предупредите человека. Делайте это в обед или после рабочего дня, если сеанс не явно зависший.
В файловой базе
В файловом варианте блокировка сеансов хранится в файле 1Cv8.cdn в каталоге базы. Его удаляют, только если снять блокировку из программы не получается, все пользователи вышли и есть свежая копия базы.
В Конфигураторе: замки на объектах
Если вы дорабатываете конфигурацию и объекты недоступны для изменения, конфигурация стоит на поддержке без возможности изменения:
Конфигурация → Поддержка → Настройка поддержки.- Нажмите «Включить возможность изменения» и подтвердите.
- Для нужных объектов выберите правило «Объект поставщика редактируется с сохранением поддержки».
Включение изменений усложняет будущие обновления: каждое придётся сравнивать и объединять. Для типовых баз удобнее вносить правки расширением конфигурации, тогда основную конфигурацию снимать с поддержки не нужно.
Если база подключена к хранилищу конфигурации, объект сначала захватывают в хранилище. Без захвата он остаётся только для чтения, даже у администратора.
Автоматизация: расписание и скрипты
Ручное снятие блокировок раз в месяц быстро надоедает. Часть работы можно отдать программе.
- 🔁 Относительная дата запрета. Вместо ежемесячной правки поставьте «конец прошлого месяца» с отсрочкой в 10–15 дней. Период закрывается сам, без участия администратора.
- 🕘 Блокировка по расписанию. В форме блокировки работы пользователей задаётся время начала и окончания. Удобно для ночных обновлений: утром блокировка снимется сама.
- 🖥 Скрипт через
rac. Для клиент-серверной базы сеансы смотрят командойrac session list, а лицензии сеансов —rac session list --licenses. Завершение сеансов и изменение свойств базы тоже доступно изrac; точный синтаксис для вашей версии платформы смотрите вrac help sessionиrac help infobase.
Пример заготовки для Windows: получить идентификатор кластера и вывести сеансы в файл перед ночным обслуживанием.
@echo off
set RAC="C:\Program Files\1cv8\<версия платформы>\bin\rac.exe"
%RAC% localhost:1545 cluster list > clusters.txt
rem Подставьте UUID кластера из clusters.txt
%RAC% localhost:1545 session list --cluster=UUID_КЛАСТЕРА > sessions.txt
Вместо <версия платформы> подставьте номер установленной платформы. Служба ras должна быть запущена, по умолчанию она слушает порт 1545.