Документы и Печать · 9 мин
Как снять защиту с ячейки в 1С
Как снять защиту с ячейки табличного документа в 1С: через свойства ячейки, программно и через конфигуратор. Причины блокировки, ошибки и проверка результата.
Защита ячеек в 1С встречается в табличных документах: печатных формах, макетах, отчётах и файлах формата MXL. Когда ячейка защищена, её нельзя редактировать — при попытке ввода программа либо игнорирует изменения, либо выдаёт сообщение о запрете. Снять защиту можно несколькими способами: через свойства ячейки в режиме просмотра табличного документа, через настройки макета в конфигураторе или программно на встроенном языке.
Выбор способа зависит от того, где именно установлена защита. Если это открытый табличный документ на экране — достаточно пары кликов. Если защита «зашита» в макет печатной формы — придётся править макет в конфигураторе или переопределять поведение расширением. Ниже разобраны все рабочие варианты и ограничения каждого.
Как понять, что ячейка защищена и где установлена защита
Признак защищённой ячейки — невозможность ввести или изменить текст: курсор либо не встаёт в ячейку, либо ввод сбрасывается. В табличном документе защита может быть установлена на трёх уровнях: на отдельную ячейку, на область (диапазон) ячеек и на весь документ целиком. Дополнительно сам файл MXL может быть открыт в режиме «Только просмотр».
Прежде чем что-то менять, определите источник ограничения. Выделите ячейку, откройте контекстное меню и посмотрите пункт «Свойства»: если флажок «Защита» установлен — проблема локальная и решается снятием флажка. Если флажок снят, но редактирование всё равно недоступно, проверьте защиту всего документа и режим открытия файла.
Снимите флажок в свойствах ячейки или области
Проверьте свойства табличного документа целиком
Снимите флажок «Только просмотр» в меню «Файл» или «Главное»
Правьте макет в конфигураторе или используйте расширение
Снятие защиты с ячейки через свойства табличного документа
Самый простой случай — открытый на экране табличный документ (печатная форма, сохранённый MXL-файл). Действия одинаковы в большинстве типовых конфигураций.
- 1Откройте табличный документ и убедитесь, что отключён режим «Только просмотр» (меню «Файл» или «Главное» → «Только просмотр»).
- 2Выделите нужную ячейку или диапазон ячеек — для всего документа нажмите Ctrl+A.
- 3Нажмите правой кнопкой мыши и выберите «Свойства» (или пункт «Свойства» в меню «Таблица»/«Главное»).
- 4В окне свойств снимите флажок «Защита» и нажмите «ОК».
- 5Проверьте результат: поставьте курсор в ячейку и введите тестовый символ.
Если нужно снять защиту со всего документа сразу, выделите все ячейки комбинацией Ctrl+A и снимите флажок «Защита» для всего выделения. Это быстрее, чем обходить области по одной. Обратите внимание: изменение действует только на текущий открытый документ — при повторном формировании печатной формы защита вернётся, если она задана в макете.
В управляемых формах путь может отличаться: иногда свойства ячейки доступны через кнопку «Ещё» или через меню «Таблица» — «Свойства». Суть та же — найти свойство «Защита» и отключить его.
Снятие защиты в режиме «Только просмотр»
Частая ситуация: пользователь пытается снять защиту с ячейки, а пункт «Свойства» неактивен или изменения не сохраняются. Причина — документ открыт в режиме «Только просмотр». В этом режиме заблокировано любое редактирование, включая изменение свойств ячеек.
Снимите флажок «Только просмотр» в меню «Файл» (в обычных формах) или «Главное» (в управляемых). После этого повторите снятие защиты со свойств ячейки. Если флажок «Только просмотр» неактивен, возможно, у пользователя нет прав на редактирование — обратитесь к администратору для проверки ролей.
Снятие защиты в макете через конфигуратор
Когда защита возвращается при каждом формировании печатной формы, она задана в макете конфигурации. Чтобы убрать её постоянно, откройте конфигуратор, найдите нужный макет (обычно в составе документа, справочника или отчёта — ветка «Макеты») и откройте его.
Выделите область макета, нажмите правой кнопкой «Свойства» и снимите флажок «Защита». Защита в макете может стоять как на отдельных ячейках, так и на именованных областях целиком — проверьте свойства каждой области, которая выводится в печатную форму. После изменения сохраните макет и обновите конфигурацию базы данных (F7), если работаете в режиме изменения конфигурации.
Программное снятие защиты на встроенном языке
Если печатная форма формируется программно, защиту удобно снимать кодом сразу после вывода области в табличный документ. Это безопаснее правки типового макета: типовая конфигурация не меняется, а поведение переопределяется в вашей процедуре или расширении.
// Снять защиту со всего табличного документа
ТабДок.Защита = Ложь;
// Снять защиту с конкретной области
Область = ТабДок.Область("R5C3:R10C8");
Область.Защита = Ложь;
// Снять защиту с текущей области при выводе
ТабДок.ТекущаяОбласть.Защита = Ложь;Свойство «Защита» есть и у самого табличного документа (объект ТабличныйДокумент), и у отдельных областей. Сначала снимите защиту документа целиком, затем — с нужных областей, иначе защита области продолжит действовать. После вывода всех областей документ можно показать пользователю уже без ограничений.
Такой подход удобно оформить в расширении конфигурации: перехватывается типовая процедура печати, после её выполнения снимается защита с результата. Конфигурация остаётся на полной поддержке, а обновления проходят штатно.
Проверка результата и типичные ошибки
Как проверить результат
Курсор встаёт в ячейку, текст вводится и сохраняется
Ввод игнорируется или сбрасывается после Enter
Флажок «Защита» снят
Флажок снова установлен после переформирования формы
Форма открывается редактируемой
Защита вернулась — источник в макете или коде печати
Отдельная ошибка — путать защиту ячеек с защитой от редактирования на уровне прав доступа. Если у пользователя нет права «Интерактивное изменение» для объекта, никакие настройки ячеек не помогут: сначала нужно разобраться с ролями в разделе администрирования.
Когда защиту лучше не снимать
Защита ячеек в типовых печатных формах часто установлена намеренно: она предотвращает случайное изменение сумм, реквизитов и формул в документах, которые пойдут контрагентам или в контролирующие органы. Прежде чем снимать защиту массово, убедитесь, что редактирование действительно необходимо и согласовано с ответственными лицами.
Если нужно скорректировать данные печатной формы, правильнее изменить исходный документ в учёте и переформировать печать, а не править ячейки вручную. Ручная правка создаёт расхождение между данными базы и выведенным документом, что при проверке может быть расценено как подделка документа.
Что важно запомнить
Защита ячейки снимается через «Свойства» → снятие флажка «Защита»; для всего документа — выделением всех ячеек. Если защита возвращается при каждом формировании, её источник — макет конфигурации: правьте макет в конфигураторе, используйте расширение или снимайте защиту программно через свойство Защита = Ложь. Не редактируйте вручную печатные формы, которые должны соответствовать учётным данным.
Частые вопросы
Почему флажок «Защита» в свойствах ячейки неактивен (серый)?
Чаще всего документ открыт в режиме «Только просмотр» — снимите соответствующий флажок в меню «Файл» или «Главное». Если это не помогло, проверьте права пользователя: для интерактивного редактирования нужны соответствующие роли.
Снял защиту, но при повторной печати она снова появилась. Что делать?
Защита задана в макете печатной формы или в коде, который её формирует. Снимите флажок «Защита» в свойствах областей макета через конфигуратор либо добавьте программное снятие защиты после вывода области в расширении конфигурации.
Можно ли снять защиту со всех ячеек документа одним действием?
Да. Выделите весь табличный документ комбинацией Ctrl+A, откройте «Свойства» и снимите флажок «Защита» — он применится ко всему выделению. Программно это делается установкой ТабДок.Защита = Ложь.
Опасно ли снимать защиту с ячеек печатной формы?
Технически — нет, данные базы при этом не меняются. Риск в другом: вручную отредактированная печатная форма может разойтись с учётными данными. Для официальных документов корректнее править исходный документ и переформировать печать.
Как снять защиту, если конфигурация на полной поддержке и менять её нельзя?
Используйте расширение конфигурации: в нём перехватывается процедура формирования печати, и после вывода областей программно снимается защита. Типовая конфигурация при этом не изменяется, обновления проходят штатно.
Защита снята, но ячейка всё равно не редактируется. В чём причина?
Проверьте три уровня: защиту самой ячейки, защиту области, в которую она входит, и защиту всего табличного документа. Также убедитесь, что отключён режим «Только просмотр» и у пользователя есть права на редактирование.