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

Документы и Печать · 9 мин

Как снять защиту с ячейки в 1С

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

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

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

Как понять, что ячейка защищена и где установлена защита

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

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

Ячейка не редактируется, флажок «Защита» установленЗащита на ячейке

Снимите флажок в свойствах ячейки или области

Флажок снят, но ввод заблокированЗащита всего документа

Проверьте свойства табличного документа целиком

Меню редактирования неактивно полностьюРежим «Только просмотр»

Снимите флажок «Только просмотр» в меню «Файл» или «Главное»

Защита возвращается при каждом выводе печатной формыЗащита в макете конфигурации

Правьте макет в конфигураторе или используйте расширение

Снятие защиты с ячейки через свойства табличного документа

Самый простой случай — открытый на экране табличный документ (печатная форма, сохранённый MXL-файл). Действия одинаковы в большинстве типовых конфигураций.

Порядок действий
  1. 1
    Откройте табличный документ и убедитесь, что отключён режим «Только просмотр» (меню «Файл» или «Главное» → «Только просмотр»).
  2. 2
    Выделите нужную ячейку или диапазон ячеек — для всего документа нажмите Ctrl+A.
  3. 3
    Нажмите правой кнопкой мыши и выберите «Свойства» (или пункт «Свойства» в меню «Таблица»/«Главное»).
  4. 4
    В окне свойств снимите флажок «Защита» и нажмите «ОК».
  5. 5
    Проверьте результат: поставьте курсор в ячейку и введите тестовый символ.

Если нужно снять защиту со всего документа сразу, выделите все ячейки комбинацией Ctrl+A и снимите флажок «Защита» для всего выделения. Это быстрее, чем обходить области по одной. Обратите внимание: изменение действует только на текущий открытый документ — при повторном формировании печатной формы защита вернётся, если она задана в макете.

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

Снятие защиты в режиме «Только просмотр»

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

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

Снятие защиты в макете через конфигуратор

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

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

Программное снятие защиты на встроенном языке

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

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

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

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

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

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

Проверка результата и типичные ошибки

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

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

Ввод в ячейку
Норма

Курсор встаёт в ячейку, текст вводится и сохраняется

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

Ввод игнорируется или сбрасывается после Enter

Свойства ячейки
Норма

Флажок «Защита» снят

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

Флажок снова установлен после переформирования формы

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

Форма открывается редактируемой

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

Защита вернулась — источник в макете или коде печати

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

Отдельная ошибка — путать защиту ячеек с защитой от редактирования на уровне прав доступа. Если у пользователя нет права «Интерактивное изменение» для объекта, никакие настройки ячеек не помогут: сначала нужно разобраться с ролями в разделе администрирования.

Когда защиту лучше не снимать

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

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

Итог

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

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

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

Почему флажок «Защита» в свойствах ячейки неактивен (серый)?

Чаще всего документ открыт в режиме «Только просмотр» — снимите соответствующий флажок в меню «Файл» или «Главное». Если это не помогло, проверьте права пользователя: для интерактивного редактирования нужны соответствующие роли.

Снял защиту, но при повторной печати она снова появилась. Что делать?

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

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

Да. Выделите весь табличный документ комбинацией Ctrl+A, откройте «Свойства» и снимите флажок «Защита» — он применится ко всему выделению. Программно это делается установкой ТабДок.Защита = Ложь.

Опасно ли снимать защиту с ячеек печатной формы?

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

Как снять защиту, если конфигурация на полной поддержке и менять её нельзя?

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

Защита снята, но ячейка всё равно не редактируется. В чём причина?

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