При обслуживании бюджетных учреждений и обновлении конфигураций «1С:Бухгалтерия государственного учреждения 2» (БГУ 2) специалисты часто сталкиваются с ситуацией, когда необходимо обновить базу, пропущенную в обслуживании несколько месяцев. Иногда конфигуратор предлагает сразу «перепрыгнуть» через несколько версий, устанавливая самый последний релиз. Давайте разберемся, почему так происходит, безопасно ли это и как правильно выполнять процедуру обновления, чтобы не потерять данные учета.
Рассмотрим ситуацию: у нас есть база версии 2.0.102.71. Согласно официальной информации, цепочка обновлений должна выглядеть так: 2.0.102.79 -> 2.0.103.xx -> 2.0.105.69. Однако, при выборе файла обновления в Конфигураторе, система сразу предлагает установить версию 2.0.105.69, минуя промежуточные.
Возникает закономерный вопрос: не приведет ли такой «скачок» к ошибкам в данных? Как показывает практика и анализ механизмов платформы 1С, опасения абсолютно обоснованы.
Для понимания происходящего нам необходимо четко различать два типа файлов, используемых для обновления конфигураций:
.cfu). Этот файл содержит только различия (дельту) между конкретной старой версией и новой. В нем жестко прописано, на какие версии его можно "накатывать". Если вы попытаетесь применить .cfu от 105-го релиза на 102-й, платформа выдаст ошибку «Файл не содержит доступных обновлений»..cf). Это полный слепок метаданных конфигурации. Когда вы указываете этот файл при обновлении, платформа работает в режиме сравнения и объединения.Если конфигуратор предлагает вам обновиться с большим «перескоком» версий, это практически всегда означает, что в каталоге шаблонов лежит файл 1cv8.cf (полная конфигурация), а не 1cv8.cfu.
Почему это опасно? При использовании .cf файла отключается контроль применимости версий. Платформа просто видит, что UUID (уникальные идентификаторы) объектов совпадают, и предлагает заместить структуру метаданных. Она не знает, что логически эти версии несовместимы без промежуточных этапов.
Это самая критичная проблема при обновлении «скачками». Давайте проанализируем, как происходит миграция данных в 1С.
Когда разработчики выпускают промежуточный релиз (например, 2.0.103), они часто включают в него программный код, который должен выполниться один раз при первом запуске в режиме «1С:Предприятие». Этот код называется обработчиком обновления.
Примеры действий обработчиков:
Если мы обновляемся сразу на 2.0.105, минуя 2.0.103, происходит следующее:
Для БГУ это особенно критично, так как бюджетный учет жестко регламентирован, и потеря аналитики или проводок при смене инструкций по учету приведет к некорректной отчетности.
Между релизами (особенно если пропущено много версий) часто меняется свойство конфигурации РежимСовместимости. Например, переход с версии платформы 8.3.21 на 8.3.24.
При последовательном обновлении этот процесс разбит на этапы. При резком скачке происходит одномоментная полная реструктуризация таблиц базы данных. На больших базах это может вызвать:
Чтобы избежать описанных проблем, давайте сформулируем единственно верный алгоритм действий при обновлении пропущенных релизов.
1. Анализ цепочки обновлений
Перед началом работ зайдите на сайт поддержки пользователей (users.v8.1c.ru) в раздел вашей конфигурации. Посмотрите таблицу релизов. Там указано, с какой версии на какую можно обновляться. Обычно это цепочка: Версия А -> Версия Б -> Версия В.
2. Резервное копирование
Это обязательное действие («Отче наш» любого администратора 1С). Делайте бэкап перед началом всего процесса. В идеале — средствами SQL (если база клиент-серверная) или копированием файла 1Cv8.1CD (если файловая).
3. Последовательное обновление
Используйте файлы .cfu. Обновляйтесь поэтапно, как рекомендует вендор.
4. Запуск в режиме Предприятия после каждого шага
Это ключевой момент, который часто игнорируют для экономии времени. После накатывания обновления в Конфигураторе:
Только после того, как отработали скрипты миграции данных текущего релиза, можно возвращаться в Конфигуратор и накатывать следующий релиз.
Если вы уже обновились «скачком» через .cf файл и база запустилась, есть риск скрытых ошибок.
Вариант А: Восстановление (Рекомендуемый)
Если с момента обновления в базе никто не работал (или прошло мало времени), лучшее решение — восстановить архивную копию, сделанную до обновления, и провести процедуру заново, последовательно.
Вариант Б: Диагностика (Если бэкапа нет или введены данные)
Если восстановление невозможно, необходимо проверить, прошли ли критические процедуры. В режиме «1С:Предприятие» перейдите в раздел:
Администрирование -> Обслуживание -> Результаты обновления программы
Внимательно изучите список выполненных обработчиков. Если вы видите записи со статусом «Ошибка» или подозреваете, что данных не хватает, придется анализировать журнал регистрации и, возможно, вручную запускать пропущенные обработки (что требует высокой квалификации программиста 1С).
Никогда не используйте полный файл конфигурации (.cf) для регулярного обновления типовых баз с пропуском релизов. Кажущаяся экономия времени оборачивается серьезными проблемами с целостностью данных. Следуйте цепочке обновлений, предлагаемой разработчиком, и обязательно запускайте базу в пользовательском режиме на каждом этапе.