К статье
Практический материал

Разработка и Конфигурация · 11 мин

Как убрать защиту ячеек в 1С 8

Как снять защиту с ячеек табличного документа в 1С 8.3: где находится настройка, как отключить защиту программно и что делать, если ячейка не редактируется.

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

Причина почти всегда одна — для ячейки или всего табличного документа установлено свойство защиты. В платформе 1С:Предприятие 8 это свойство называется «Защита» и может быть включено на уровне отдельной области ячеек, всего документа или задано программно при формировании печатной формы. Снять её можно как вручную через интерфейс, так и кодом в конфигураторе.

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

Где в 1С 8 находится защита ячеек и почему она включена

В платформе 1С:Предприятие 8 защита ячеек относится к табличным документам — это печатные формы, макеты, отчёты, сформированные в виде таблицы. У каждой области ячеек есть свойство «Защита»: если оно включено, содержимое области нельзя изменить в режиме просмотра. Кроме того, защита может быть установлена для всего табличного документа целиком.

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

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

Как снять защиту со всего табличного документа через меню

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

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

Порядок действий
  1. 1
    Откройте табличный документ (печатную форму или макет)
  2. 2
    Откройте главное меню и перейдите в раздел «Таблица»
  3. 3
    Снимите флажок «Защита»
  4. 4
    Попробуйте отредактировать нужную ячейку — текст должен вводиться
  5. 5
    Если ячейка всё ещё заблокирована, проверьте защиту отдельной области через палитру свойств

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

Как убрать защиту с отдельной области или ячейки

Когда нужно разблокировать не весь документ, а конкретные ячейки, используется палитра свойств. Выделите нужную ячейку или диапазон, щёлкните правой кнопкой мыши и выберите «Свойства» (либо откройте палитру свойств через меню). В списке найдите свойство «Защита» и установите значение «Нет».

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

Как снять защиту программно в конфигураторе

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

bsl
// Снять защиту со всего табличного документа
ТабличныйДокумент.Защита = Ложь;

// Снять защиту с конкретной области
Область = ТабличныйДокумент.Область("R1C1:R10C5");
Область.Защита = Ложь;

// Разрешить редактирование при выводе области из макета
ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
ОбластьМакета.Защита = Ложь;
ТабличныйДокумент.Вывести(ОбластьМакета);

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

Что делать, если ячейка не редактируется, хотя защита снята

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

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

Контрольные точки

Как проверить результат

Редактирование ячейки
Норма

Текст вводится и сохраняется в ячейке

Тревожный признак

Курсор стоит в ячейке, но символы не появляются

Флажок «Защита» в меню «Таблица»
Норма

Флажок снят

Тревожный признак

Флажок установлен или пункт недоступен

Свойство «Только просмотр» документа
Норма

Значение «Нет»

Тревожный признак

Значение «Да» — документ заблокирован целиком

Повторное формирование печатной формы
Норма

Изменения в коде применены, защита не включается

Тревожный признак

Защита появляется снова — она задаётся в модуле формирования

Типичные ошибки при снятии защиты

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

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

Типичные ошибки
01
Снятие защиты в открытой форме и ожидание, что она не появится при следующем формировании — защита задаётся в коде и вернётся
02
Правка типового модуля без копии базы — изменения теряются при обновлении конфигурации
03
Попытка снять защиту ячеек, когда проблема в правах доступа или дате запрета редактирования — нужна настройка прав, а не свойств табличного документа
04
Путаница между свойством «Защита» и «Только просмотр» — документ остаётся нередактируемым даже после снятия защиты

Альтернативные способы изменить данные без снятия защиты

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

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

Сравнение вариантов

Снять защиту через меню «Таблица»

Быстро для разовой правки открытой формы; при повторном формировании защита вернётся

Изменить код формирования

Постоянное решение для всех пользователей; требует доступа к конфигуратору и аккуратности при обновлениях

Исправить данные в объекте

Самый правильный путь для учётных данных; не подходит для произвольного текста в форме

Сохранить в файл и править внешне

Подходит для разовой отправки документа; изменения не попадут в базу

Как проверить, что всё сделано правильно

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

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

Итог

Что важно запомнить

Защита ячеек в 1С 8 относится к табличным документам и снимается через меню «Таблица → Защита», палитру свойств области или установкой свойства Защита = Ложь в коде. Ручное снятие действует до следующего формирования формы; постоянное решение — доработка конфигурации через расширение. Не путайте защиту ячеек с правами доступа и датой запрета редактирования.

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

Почему ячейка печатной формы не редактируется, хотя я администратор?

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

Изменится ли документ в базе, если я исправлю текст в печатной форме?

Нет. Печатная форма — это отдельный табличный документ, слепок данных на момент формирования. Правки в нём не сохраняются в информационную базу. Чтобы изменить учётные данные, редактируйте сам документ или справочник, а затем сформируйте печатную форму заново.

Как снять защиту с макета в конфигураторе?

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

Что делать, если пункт «Защита» в меню недоступен?

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

Можно ли снять защиту только для части пользователей?

Да, но только программно. В модуле формирования печатной формы добавьте проверку роли или имени пользователя и устанавливайте свойство Защита в зависимости от результата. Штатными настройками интерфейса без доработки кода это сделать нельзя.

Пропадут ли мои изменения после обновления конфигурации?

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