Как вернуть замочек на один объект конфигурации 1С

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

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

Разберем типичную ситуацию: вы пытаетесь в окне «Настройка поддержки» изменить правило для конкретного справочника или документа на Объект поставщика не редактируется, но система выдает ошибку: «Данное правило невозможно установить для нескольких объектов или рекурсивно». Проанализируем причину такого поведения конфигуратора.

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

Основной способ решения через сравнение и объединение

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

  1. Откроем окно «Настройка поддержки». Для этого перейдем в меню Конфигурация — Поддержка — Настройка поддержки.
  2. В открывшемся окне нажмем кнопку «Сравнить, объединить». Это запустит процесс сопоставления вашей текущей основной конфигурации с эталонной конфигурацией поставщика, которая хранится внутри информационной базы.
  3. В появившемся дереве объектов необходимо снять все галочки. Нас интересует только тот объект, на который нужно вернуть «замок». Найдем его и отметим флажком.
  4. Нажмем кнопку «Выполнить». Если в объекте не было реальных изменений кода или свойств, система может сразу предложить перейти к следующему шагу. Если изменения были, они будут заменены типовыми данными от поставщика. Внимание: все ваши доработки в этом объекте будут удалены!
  5. После завершения объединения снова обратимся к окну «Настройка поддержки».
  6. Установим фильтр в нижней части окна в положение «Нет фильтра» или найдем наш объект вручную.
  7. Теперь выберем нужный объект, нажмем кнопку «Установить правила» (или дважды кликнем по колонке с правилом) и выберем пункт Объект поставщика не редактируется. Теперь система позволит это сделать, так как объект идентичен поставщику.

Использование внешнего файла конфигурации (.cf)

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

Рассмотрим пошагово этот процесс:

  1. Получим файл .cf той же версии, что и установленная у нас конфигурация поставщика.
  2. Выберем пункт меню Конфигурация — Сравнить, объединить с конфигурацией из файла.
  3. После загрузки дерева сравнения снимем все флаги кнопкой «Снять все».
  4. Найдем наш злополучный объект и поставим на него галочку.
  5. Важный нюанс: Нажмите правую кнопку мыши на объекте и выберите пункт Установить правила поддержки для отмеченных объектов.
  6. В открывшемся окне выберите Объект поставщика не редактируется.
  7. Нажмите «Выполнить». После применения изменений «замочек» должен вернуться на место.

Борьба с «фиктивными» изменениями и кэшем

Выясним причину, по которой даже после удаления всех видимых изменений объект отказывается вставать на замок. Иногда система видит различия в скрытых свойствах, таких как внутренние идентификаторы (GUID) или порядок следования элементов, которые не отображаются в обычном дереве метаданных.

В таких случаях попробуем выполнить следующие действия:

Риски и предостережения при возврате на поддержку

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

Важные моменты:

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

← На главную