Как обновить очень старую и измененную конфигурацию 1С:Документооборот

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

Обновление конфигурации 1С, которая не получала апдейтов более десяти лет, — это сложная инженерная задача. Ситуация осложняется тем, что зачастую такие базы оказываются снятыми с поддержки, а оригинальный файл конфигурации поставщика (cf) безвозвратно утерян. В данной статье мы разберем подробный алгоритм действий, который позволит вам перевести «1С:Документооборот» из состояния архивного реликта версии 1.3 в актуальную рабочую систему.

Анализ текущего состояния и диагностика проблем

Прежде чем приступать к каким-либо манипуляциям, нам необходимо проанализировать текущее состояние базы. Если конфигуратор при попытке обновления сообщает, что файл не содержит обновлений для вашей версии, хотя версия в cfu совпадает с требуемой, — это верный признак того, что в базе отсутствует Конфигурация поставщика. Рассмотрим, почему это происходит: файл обновления (.cfu) содержит в себе не все объекты, а только «дельту» — различия между старой и новой версиями эталонной конфигурации 1С. Чтобы применить эту дельту, система должна иметь фундамент в виде исходной конфигурации поставщика. Если база была снята с поддержки (режим «Конфигурация находится на поддержке» изменен на полное отсутствие связи с поставщиком), этот фундамент разрушен.

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

Поиск эталонного дистрибутива

Для восстановления поддержки нам потребуется полный файл конфигурации (.cf) именно той версии, которая сейчас установлена у вас (в рассматриваемом случае — 1.3.1.5). Выясним, где его можно достать, если официальный сайт 1С предлагает только обновления:

  1. Диски ИТС за прошлые годы: Конфигурация «1С:Документооборот» 1.3.1.5 была выпущена в 2013 году. Ищите архивные образы дисков ИТС за август-сентябрь 2013 года. Именно там публиковались полные дистрибутивы.
  2. Личный кабинет партнера 1С: У обслуживающей организации (франчайзи) есть доступ к расширенному архиву. Несмотря на заявления о «потере», дистрибутивы хранятся на серверах 1С, и вменяемый партнер может запросить их через линию консультаций.
  3. Сборка из ознакомительной версии: Иногда полные дистрибутивы находятся в комплектах поставки (коробочных версиях). Если сохранилась старая коробка с диском, нужный .cf файл может быть там.

Восстановление конфигурации поставщика и анализ изменений

Предположим, мы нашли нужный cf файл версии 1.3.1.5. Теперь нам нужно «пришить» его к нашей базе, сохранив при этом накопленные за 10 лет доработки. Выполним следующие шаги:

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

Проанализируем результаты сравнения. Если в окне сравнения вы видите измененные модули или новые реквизиты, пометьте их для сохранения. Если изменений критически много, стоит задуматься: а нужны ли они в новой версии? Многие функции, которые в 2013 году дописывались программистами вручную, в современных версиях «1С:Документооборот» уже реализованы в типовом функционале.

Методика пошагового обновления через цепочку релизов

Обновить базу с 1.3 сразу на 2.1 или 3.0 невозможно. Нам необходимо пройти через «контрольные точки» — ключевые релизы, на которых выполняются важные реструктуризации данных. Разберем примерную цепочку обновления:

Цепочка редакций: 1.3 -> 1.4 -> 2.0 -> 2.1 -> 3.0

Рассмотрим ключевые этапы:

  1. Обновление внутри ветки 1.3 до финальных релизов.
  2. Переход на версию 1.4 (например, 1.4.10.1).
  3. Переход на редакцию 2.0 (версия 2.0.18.1 и выше). Это самый сложный этап, так как архитектура бизнес-процессов в 2.0 претерпела колоссальные изменения.
  4. Переход на актуальную ветку 2.1 (например, 2.1.30.x).
  5. Если требуется — миграция на 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С» позволяет автоматизировать процесс:

Для новичка это лучший способ избежать ошибок ручного ввода, однако восстановление поддержки (пункт про cf) всё равно придется делать руками.

Альтернативный путь: Перенос данных в новую базу

Иногда выясняется, что база настолько сильно изменена, что «протащить» её через 10 лет обновлений дороже, чем внедрить систему заново. Посмотрим на этот вариант:

  1. Устанавливаем пустую базу «1С:Документооборот» актуальной версии (например, 2.1 или сразу 3.0).
  2. Используем конфигурацию «Конвертация данных 2.1».
  3. Пишем правила выгрузки для основных справочников: Контрагенты, СтруктураПредприятия, Пользователи, ВнутренниеДокументы.
  4. Файлы переносим отдельно через обработку выгрузки/загрузки.

Этот путь позволяет оставить весь «мусор» и ошибки прошлых лет в старой базе, которую можно сохранить как архив для справок.

Резюме для самообразования: Попробуйте сначала метод восстановления поддержки и пошагового обновления на копии базы. Даже если вы не дойдете до финала, вы получите бесценный опыт работы с метаданными, понимание того, как развивалась платформа 1С, и научитесь решать нетривиальные задачи по реанимации данных. Помните: Главное правило — всегда иметь под рукой свежий бэкап.

← На главную