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