Каждый разработчик или администратор баз данных «1С:Предприятие» рано или поздно сталкивается с удивительным парадоксом. Вы открываете конфигуратор, видите на всех объектах метаданных знакомые значки блокировки («замочки»), которые, как кажется, должны гарантировать неизменность системы. Однако при запуске стандартного сравнения основной конфигурации с конфигурацией поставщика платформа выдает огромный список измененных объектов.
На первый взгляд это выглядит как критический сбой системы или аппаратная ошибка. На самом деле за этим поведением стоит строгая внутренняя логика платформы. В данной статье мы подробно разберем, как устроены механизмы защиты объектов, почему возникают «фантомные» различия и как правильно вернуть конфигурацию к полностью типовому виду.
Основная причина путаницы кроется в том, что в платформе «1С:Предприятие» используются два абсолютно независимых механизма контроля изменений. Оба они используют схожую графическую метафору — изображение замка, но решают совершенно разные задачи.
1. Хранилище конфигурации (Инструмент групповой разработки)
Этот механизм координирует совместную работу нескольких программистов над одной базой. Значки хранилища отображаются у правого края названий объектов в дереве метаданных. Они выглядят как синие или серые замки:
Важный нюанс: если база данных ранее была подключена к хранилищу, но при запуске конфигуратора вы нажали кнопку «Отмена» в окне авторизации, платформа все равно отобразит синие замочки. Локально вы не сможете редактировать конфигурацию, однако это никак не связано с правилами поддержки поставщика.
2. Поддержка поставщика (Правила обновления типового решения)
Этот механизм определяет, разрешено ли вообще изменять типовое решение от фирмы «1С» или стороннего вендора. Индикаторы поддержки отображаются слева от имени объекта в виде желтого кубика:
Таким образом, если вы видите синий замок хранилища, это говорит лишь о том, что объект не захвачен в групповой разработке. При этом сам объект вполне может быть изменен относительно конфигурации поставщика (для него может быть разрешено редактирование, а желтый кубик может быть без замочка или вовсе отсутствовать).
Проанализируем ситуацию, когда правила поддержки действительно запрещают редактирование (везде стоят желтые кубики с замками), но сравнение с конфигурацией поставщика все равно выявляет сотни измененных объектов. Выделяют три ключевые технические причины такого поведения.
1. Различия во внутренних идентификаторах (GUID)
Для платформы «1С:Предприятие» имя объекта (например, справочник Контрагенты или документ РеализацияТоваровУслуг) вторично. Главным ориентиром служит его внутренний уникальный идентификатор — GUID. Если в процессе некорректного обновления или переноса метаданных объекты были созданы заново или скопированы через буфер обмена, их имена совпадут, но внутренние идентификаторы будут различаться. При сравнении платформа посчитает эти объекты абсолютно разными, даже если их структура и код идентичны.
2. Специфика компиляции справочной информации
Очень часто при сравнении «чистой» базы с конфигурацией поставщика система указывает на изменения в разделе СправочнаяИнформация (справка к объектам конфигурации). Это давняя техническая особенность платформы. Справка хранится внутри конфигурации в формате HTML. При сохранении метаданных на разных компьютерах операционная система (в частности, движок рендеринга Internet Explorer / MSHTML) может автоматически изменять мета-теги, регистр написания тегов (например, <b> вместо <B>) или порядок атрибутов стилей. Платформа воспринимает эти микроскопические изменения кода разметки как редактирование объекта, хотя визуально и логически справка не изменилась.
3. Неактуальная или «слетевшая» конфигурация поставщика
Внутри любой информационной базы 1С фактически хранятся три конфигурации: основная (в которой работают пользователи), конфигурация базы данных (актуальная рабочая структура метаданных) и конфигурация поставщика (эталонный шаблон, по которому накатываются обновления). Если в процессе предыдущих обновлений администратор допустил ошибки — например, просто «накатил» файл .cf поверх измененной базы вместо штатной процедуры обновления через файлы .cfu — конфигурация поставщика могла остаться старой версии, в то время как основная конфигурация обновилась. Из-за этого расхождения между ними станут колоссальными.
Если перед вами стоит задача полностью избавиться от ложных изменений, убрать лишние предупреждения и вернуть конфигурацию к эталонному заводскому виду, выполните следующие шаги. Мы разберем классический безопасный алгоритм.
Шаг 1. Создание резервной копии
Любые серьезные манипуляции со структурой метаданных и конфигурацией поставщика требуют создания архивной копии. Зайдите в режим «Администрирование» — «Выгрузить информационную базу» и сохраните файл .dt в надежное место.
Шаг 2. Отключение от хранилища конфигурации
Если база больше не должна разрабатываться в группе, или если вы хотите избавиться от назойливых синих замков, отключите базу от хранилища. Для этого:
Шаг 3. Подготовка чистого файла поставки
Вам потребуется официальный дистрибутив именно того релиза конфигурации, который сейчас установлен в вашей базе данных. Обратите внимание: версия релиза должна совпадать до последней цифры (например, 2.0.66.43). Скачайте дистрибутив с портала обновлений 1С и распакуйте его, чтобы получить файл полной конфигурации 1c_v8.cf.
Шаг 4. Полное замещение конфигурации
Чтобы восстановить корректные связи GUID, исправить ошибки в справочной информации и вернуть оригинальные желтые кубики поставщика, мы используем операцию полного замещения:
.cf вашего релиза.F7).Важное замечание: Метод полного замещения через «Загрузить конфигурацию из файла» заменяет абсолютно все объекты базы данных оригинальными. Этот метод применим только в том случае, если в вашей базе действительно не должно быть никаких уникальных доработок и изменений кода. Если доработки были, их предварительно нужно перенести в расширения конфигурации.
После выполнения загрузки чистой конфигурации рекомендуется провести финальную проверку. Перейдите в меню Конфигурация — Поддержка — Настройка поддержки. Вы увидите, что напротив каждого объекта метаданных восстановился значок желтого кубика с замком.
Запустите повторное сравнение с конфигурацией поставщика. Для этого в окне настройки поддержки нажмите кнопку Сравнить/объединить. Платформа выполнит сопоставление объектов. Если все шаги выполнены корректно, окно сравнения покажет пустой список. Это будет означать, что ваша система приведена к идеальному, полностью типовому виду, и последующие обновления будут проходить в автоматическом штатном режиме.