При сопровождении и доработке информационных баз на платформе 1С:Предприятие разработчики часто сталкиваются с ситуацией, когда ранее измененный объект конфигурации (например, справочник, документ или перечисление) необходимо вернуть в исходное состояние — есть инструменты сравнения и приведения объектов 1С к типовому виду. Другими словами — вернуть его на полную поддержку поставщика (поставить на «замок») и запретить редактирование. Это необходимо для того, чтобы упростить последующие обновления базы данных и минимизировать риск возникновения ошибок.
Однако простая попытка изменить правило поддержки в соответствующем меню часто вызывает затруднения или приводит к ошибкам платформы. В этой статье мы подробно проанализируем причины этой проблемы и разберем все практические способы её решения.
Выясним причину, по которой платформа блокирует стандартное изменение правила поддержки. Когда вы открываете окно Настройка поддержки и пытаетесь для измененного объекта (у которого установлен статус Объект поставщика редактируется с сохранением поддержки) принудительно выбрать правило Объект поставщика не редактируется, система выдает ошибку.
Это происходит из-за работы защитного механизма платформы 1С. Система не позволяет установить признак «не редактируется» на объект, структура которого в вашей основной конфигурации отличается от структуры этого же объекта в конфигурации поставщика. К таким отличиям относятся:
Если платформа обнаруживает хотя бы минимальное расхождение в метаданных между вашей конфигурацией и эталоном поставщика, она блокирует групповое или рекурсивное изменение правил поддержки, чтобы предотвратить потерю данных и нарушение логики конфигурации. Поэтому перед тем, как вернуть «замок», объект необходимо привести к абсолютно идентичному виду с конфигурацией поставщика.
Рассмотрим подробнее три основных способа решения этой задачи.
Это самый правильный, быстрый и безопасный способ, который не требует выгрузки файлов конфигурации и позволяет решить задачу точечно для одного или нескольких конкретных объектов — для этого есть инструмент поиска и сравнения объектов конфигурации 1С. Разберем этот процесс по шагам:
Конфигурация — Поддержка — Настройка поддержки.Объект поставщика не редактируется.Иногда из-за сбоев в кэше или базе данных встроенная конфигурация поставщика может распознавать объекты как измененные, даже если фактически они идентичны. В таких случаях первый способ может не сработать. Посмотрим на альтернативный алгоритм решения с использованием внешнего файла поставки:
1cv8.cf.Конфигурация — Сравнить, объединить с конфигурацией из файла....1cv8.cf.Настройка поддержки. Теперь платформа без проблем позволит вам вручную изменить правило для данного объекта на Объект поставщика не редактируется, так как различия в структуре полностью отсутствуют.Проанализируем ситуацию, когда в базе данных было снято с поддержки или разрешено к редактированию огромное количество объектов, и приводить каждый из них к типовому виду вручную слишком трудоемко. Если вам требуется массово вернуть конфигурацию к полностью типовому состоянию, выполните следующие шаги:
Конфигурация — Сохранить конфигурацию в файл... (назовем его, например, custom_layout.cf).Настройка поддержки и нажмите кнопку Снять с поддержки в левом верхнем углу. Подтвердите действие. Теперь ваша база полностью снята с поддержки, все замки исчезли.Конфигурация — Загрузить конфигурацию из файла... и выберите чистый, полностью типовой файл 1cv8.cf строго того же релиза, который установлен у вас.Конфигурация — Сравнить, объединить с конфигурацией из файла... и укажите ваш ранее сохраненный файл custom_layout.cf.В современных версиях платформы 1С:Предприятие 8.3 настоятельно рекомендуется минимизировать снятие объектов основной конфигурации с поддержки. Любое вмешательство в структуру типовых документов или справочников усложняет обслуживание базы — для минимизации рисков пригодится автоматизация регресс-тестирования после обновления 1С.
Вместо изменения основной конфигурации используйте механизм Расширений конфигурации (поможет архитектурный анализ конфигурации и расширений 1С):
Конфигурация — Расширения конфигурации.При таком подходе основная конфигурация остается абсолютно типовой, что позволяет обновлять информационную базу в полностью автоматическом режиме, а ваши доработки будут безопасно функционировать в изолированном слое расширения.