В практике сопровождения старых систем, таких как 1С:Управление производственным предприятием (УПП) 1.3, часто встречается ситуация, когда конфигурация была полностью снята с поддержки. Это означает, что в базе физически отсутствует вспомогательная «конфигурация поставщика», и при попытке обновления или сравнения система не видит связи с типовым решением. Разберем подробно, как восстановить этот механизм, чтобы иметь возможность анализировать доработки и корректно устанавливать обновления.
Когда мы говорим, что база «снята с поддержки полностью», это подразумевает, что из файла базы данных (.1CD или таблиц SQL) удалены объекты конфигурации поставщика. Размер файла конфигурации при этом существенно уменьшается, но пропадает возможность штатного обновления через файлы .cfu. Для восстановления поддержки нам необходим файл полной конфигурации (.cf) именно той версии, которая указана в свойствах текущей базы (в нашем случае — 1.3.62.1).
Основная сложность заключается в том, что на портале 1С часто доступны только файлы обновлений. Рассмотрим, как получить нужный эталон и вернуть базу в «законное» состояние для платформы.
Проанализируем ситуацию, если у вас нет прямого доступа к cf нужной версии. Как правильно отметил один из участников обсуждения, можно использовать архивные версии. Если у вас есть более старый релиз (например, 1.3.59.2), алгоритм действий будет следующим:
.cf.updsetup.exe) от версии имеющегося файла до целевой версии 1.3.62.1.Конфигурация — Поддержка — Обновить конфигурацию.Конфигурация — Сохранить конфигурацию в файл....Важный нюанс: никогда не пропускайте промежуточные релизы в цепочке обновлений. В УПП структура метаданных может меняться существенно, и пропуск даже одного шага может привести к ошибкам в структуре таблиц или потере данных при попытке последующего объединения.
Теперь, когда у нас есть «чистый» cf версии 1.3.62.1, разберем по шагам процесс постановки нашей измененной базы на поддержку. Мы должны сделать это так, чтобы не затереть имеющиеся в базе уникальные доработки.
Конфигурация — Сравнить, объединить с конфигурацией из файла.....cf версии 1.3.62.1.Выполнить.Рассмотрим ситуацию, когда при сравнении вы видите дубли одних и тех же объектов (например, две справочника «Номенклатура»). Это происходит из-за различия внутренних идентификаторов (UUID). Если базу снимали с поддержки и «накатывали» изменения простым копированием объектов, идентификаторы могут не совпадать.
В таком случае в окне сравнения нужно выполнить ручное сопоставление:
Установить соответствие.Это кропотливый процесс, но он необходим, чтобы в дальнейшем 1С понимала, что это один и тот же объект, и корректно применяла обновления в будущем.
Проанализируем предостережение опытных разработчиков: иногда номер версии в свойствах конфигурации может не соответствовать реальному программному коду. Например, кто-то мог вручную изменить строку версии с 1.3.60 на 1.3.62, чтобы система «думала», что она обновлена.
Чтобы выяснить истину, выполните следующие действия:
Если стандартное окно сравнения 1С кажется вам неудобным для анализа огромного количества доработок (что типично для УПП), воспользуйтесь выгрузкой конфигурации в файлы XML.
Рассмотрим этот метод:
// В командной строке или через параметры запуска можно выполнить выгрузку
/DumpConfigToFiles "C:\Distr\Ref_Base"
После выгрузки эталона и вашей базы в текстовые файлы, вы можете использовать профессиональные инструменты сравнения, такие как WinMerge или Beyond Compare. Это позволит увидеть каждое изменение в коде до символа и понять, какие модули были «дописаны», а какие остались типовыми.
Восстановление поддержки — это фундамент для дальнейшего безопасного сопровождения системы. После того как вы успешно выполните объединение с «пустым» списком изменений, в меню Конфигурация — Поддержка — Настройка поддержки у вас снова появится заветная надпись о том, что конфигурация находится на поддержке. Это позволит вам использовать стандартный механизм Сравнить конфигурацию с конфигурацией поставщика, который наглядно покажет все отклонения вашей базы от типового решения 1.3.62.1.