Обновление конфигурации 1С, которая не получала апдейтов более десяти лет, — это сложная инженерная задача. Ситуация осложняется тем, что зачастую такие базы оказываются снятыми с поддержки, а оригинальный файл конфигурации поставщика (cf) безвозвратно утерян. В данной статье мы разберем подробный алгоритм действий, который позволит вам перевести «1С:Документооборот» из состояния архивного реликта версии 1.3 в актуальную рабочую систему.
Прежде чем приступать к каким-либо манипуляциям, нам необходимо проанализировать текущее состояние базы. Если конфигуратор при попытке обновления сообщает, что файл не содержит обновлений для вашей версии, хотя версия в cfu совпадает с требуемой, — это верный признак того, что в базе отсутствует Конфигурация поставщика. Рассмотрим, почему это происходит: файл обновления (.cfu) содержит в себе не все объекты, а только «дельту» — различия между старой и новой версиями эталонной конфигурации 1С. Чтобы применить эту дельту, система должна иметь фундамент в виде исходной конфигурации поставщика. Если база была снята с поддержки (режим «Конфигурация находится на поддержке» изменен на полное отсутствие связи с поставщиком), этот фундамент разрушен.
Проанализируем дерево метаданных. Если рядом с объектами (справочниками, документами) отсутствуют значки «кубика», значит, база полностью переведена в статус «самописки». В этом случае стандартный механизм «Поиск обновлений» работать не будет. Наша первая глобальная цель — восстановить поддержку.
Для восстановления поддержки нам потребуется полный файл конфигурации (.cf) именно той версии, которая сейчас установлена у вас (в рассматриваемом случае — 1.3.1.5). Выясним, где его можно достать, если официальный сайт 1С предлагает только обновления:
.cf файл может быть там.Предположим, мы нашли нужный cf файл версии 1.3.1.5. Теперь нам нужно «пришить» его к нашей базе, сохранив при этом накопленные за 10 лет доработки. Выполним следующие шаги:
.dt).cf файлу.Проанализируем результаты сравнения. Если в окне сравнения вы видите измененные модули или новые реквизиты, пометьте их для сохранения. Если изменений критически много, стоит задуматься: а нужны ли они в новой версии? Многие функции, которые в 2013 году дописывались программистами вручную, в современных версиях «1С:Документооборот» уже реализованы в типовом функционале.
Обновить базу с 1.3 сразу на 2.1 или 3.0 невозможно. Нам необходимо пройти через «контрольные точки» — ключевые релизы, на которых выполняются важные реструктуризации данных. Разберем примерную цепочку обновления:
Цепочка редакций: 1.3 -> 1.4 -> 2.0 -> 2.1 -> 3.0
Рассмотрим ключевые этапы:
Каждое обновление должно сопровождаться запуском базы в пользовательском режиме. Выясним причину этого требования: 1С использует Обработчики обновления. Это программный код, который переносит данные из старых регистров в новые, меняет структуру хранения файлов и конвертирует задачи. Если вы пропустите запуск базы между релизами, данные могут быть безвозвратно потеряны или искажены.
Разберем типичные ошибки, с которыми мы столкнемся при таком глубоком обновлении:
1. Ошибки в коде старых обработчиков: Обработчики обновлений в релизах 2015-2016 годов могут содержать обращения к объектам, которые были удалены в более поздних версиях платформы 8.3. Если обновление «падает» с ошибкой в коде, нам придется вручную открывать конфигуратор, искать процедуру обновления и корректировать её (например, комментировать проверку устаревших констант).
2. Режим совместимости: При переходе между 1.3 и 2.1 будет постоянно меняться режим совместимости конфигурации. Убедитесь, что ваша платформа 1С соответствует требованиям релиза. Для очень старых версий (1.3) может потребоваться временная установка платформы 8.2 или ранних версий 8.3.
3. Хранение файлов: В версии 1.3 файлы часто хранились прямо в базе данных (в теле справочника). В современных редакциях это считается «плохим тоном». Рекомендуем перед началом глобального обновления настроить Тома хранения файлов и перенести все данные из базы на диск. Это значительно уменьшит объем базы и ускорит процесс реструктуризации таблиц.
Чтобы не тратить недели на ручной накат 50-70 промежуточных обновлений, проанализируем возможности специализированного софта. Программа «Обновлятор-1С» позволяет автоматизировать процесс:
cfu файлы из архива 1С (при наличии ИТС).Для новичка это лучший способ избежать ошибок ручного ввода, однако восстановление поддержки (пункт про cf) всё равно придется делать руками.
Иногда выясняется, что база настолько сильно изменена, что «протащить» её через 10 лет обновлений дороже, чем внедрить систему заново. Посмотрим на этот вариант:
Контрагенты, СтруктураПредприятия, Пользователи, ВнутренниеДокументы.Этот путь позволяет оставить весь «мусор» и ошибки прошлых лет в старой базе, которую можно сохранить как архив для справок.
Резюме для самообразования: Попробуйте сначала метод восстановления поддержки и пошагового обновления на копии базы. Даже если вы не дойдете до финала, вы получите бесценный опыт работы с метаданными, понимание того, как развивалась платформа 1С, и научитесь решать нетривиальные задачи по реанимации данных. Помните: Главное правило — всегда иметь под рукой свежий бэкап.