Обновление 1С без потерь: что меняется в программе и как его провести
Содержание
Обновить 1С — значит заменить одну из двух частей программы на более новую версию: платформу (сам движок 1cv8) или конфигурацию (прикладное решение — Бухгалтерию, ЗУП, УТ). Платформу ставят как обычную программу Windows, база при этом не меняется. Конфигурацию обновляют внутри каждой базы файлом .cfu, и это уже затрагивает структуру данных.
Бухгалтер обычно имеет в виду второе: в программе появились новые формы отчётов, ставки, исправления. Администратор чаще первое: новый релиз конфигурации требует платформу с номером не ниже определённого. На практике эти процессы идут парой: сначала платформа, потом конфигурация.
Платформа и конфигурация: в чём разница
Удобно представить 1С как плеер и пластинку. Платформа «проигрывает» конфигурацию, а данные хранятся в базе отдельно от обоих.
| Платформа | Конфигурация | |
|---|---|---|
| Что это | Исполняемые файлы, общие для всех баз | Метаданные и код конкретной программы |
| Номер версии | 8.3.xx.xxxx | Например, 3.0.xxx.xx для БП 3.0 |
| Где ставится | На компьютер или сервер | В каждую базу отдельно |
| Чем обновляют | Дистрибутив платформы (установщик) | Файл обновления .cfu или интернет-поддержка |
| Затрагивает данные | Нет | Да: меняется структура таблиц, запускаются обработчики |
| Нужна новая лицензия | В пределах 8.3 — нет | Нет |
| Откатывается | Запуском старой версии | Только из резервной копии |
Несколько версий платформы спокойно живут на одном компьютере. Каждая ставится в свой каталог вида C:\Program Files\1cv8\8.3.xx.xxxx. Какую версию запускать для конкретной базы, решает стартер 1cestart: по умолчанию берётся самая новая, но в свойствах базы в окне запуска можно указать нужную.
С конфигурацией так не получится. Если после обновления что-то пошло не так, вернуть прежний релиз можно только восстановлением копии.
Что ещё называют обновлением
- 🔹 Обновление форм отчётности — в типовых решениях оно приходит вместе с релизом конфигурации, отдельно не ставится.
- 🔹 Обновление классификаторов (банков, адресов) — загружается через интернет -поддержку и структуру базы не трогает.
- 🔹 Переход с одной редакции на другую (например, со старой ЗУП на ЗУП 3.1) — это не обновление, а перенос данных в новую базу. Он идёт по отдельной процедуре.
Подготовка базы перед обновлением 1С
Обновление конфигурации меняет структуру базы. Если процесс прервётся (отключили свет, закончилось место на диске), база может не открыться. Поэтому подготовка важнее самих шагов.
Резервная копия
Есть три рабочих способа, выбор зависит от варианта базы:
| Вариант базы | Как сделать копию | Когда подходит |
|---|---|---|
| Файловая | Скопировать каталог базы с файлом 1Cv8.1CD | Все пользователи вышли из программы |
| Любая | Конфигуратор → Администрирование → Выгрузить информационную базу (файл .dt) | Универсальный вариант, удобно хранить |
| Клиент-серверная | Резервная копия средствами СУБД (MS SQL, PostgreSQL) | Большие базы, где выгрузка .dt идёт часами |
Копию делайте перед каждым обновлением, а не раз в месяц. Проверьте, что файл копии открывается: разверните .dt в пустую тестовую базу хотя бы раз.
Проверка совместимости
Перед загрузкой релиза выясните три вещи:
- Текущий номер релиза. Конфигуратор или пользовательский режим → меню
Справка → О программе(в «Такси» — значок с вопросом в правом верхнем углу). - Минимальная версия платформы для нового релиза. Она указана в описании обновления, которое идёт вместе с дистрибутивом.
- Допустимый путь обновления. Файл
.cfuсодержит список версий, с которых на него можно перейти. Если ваш релиз сильно устарел, придётся пройти цепочку промежуточных релизов.
Изменена ли конфигурация
Откройте конфигуратор, меню Конфигурация → Поддержка → Настройка поддержки. Если там указано, что конфигурация на поддержке и изменения не включены, обновление пройдёт автоматически. Если изменения включены или конфигурация снята с поддержки, понадобится сравнение и объединение, и делать его должен программист.
Как обновить платформу 1С:Предприятие
Платформа обновляется независимо от баз. Порядок для рабочего места с файловыми базами:
- Скачайте дистрибутив технологической платформы нужной версии с портала поддержки (нужна учётная запись с действующей подпиской на обновления).
- Распакуйте архив и запустите
setup.exe. - В списке компонентов оставьте «1С:Предприятие» и, если нужен, «Сервер 1С:Предприятия». Остальное — по задаче.
- Дождитесь окончания установки. Старую версию удалять не обязательно.
- Запустите базу. Стартер подхватит новую версию сам, если в свойствах базы не закреплена старая.
Клиент-серверный вариант
Здесь главное правило: версия клиента должна совпадать с версией сервера 1С до последней цифры. Если на сервере 8.3.24, а на компьютере пользователя 8.3.23, подключиться не получится.
Поэтому порядок такой:
- Выбрать окно, когда в базах никто не работает . Обновление сервера останавливает службу, и все сеансы оборвутся.
- Установить новую версию сервера на сервер 1С.
- Перевести службу агента сервера на новую версию (в установщике это делается при выборе установки сервера как службы Windows).
- Обновить клиентскую часть на всех рабочих местах или на терминальном сервере.
- Проверить вход в каждую базу.
Если рабочих мест много, клиентов удобно обновлять централизованно: выложить дистрибутив в общий сетевой каталог и указать его в настройках стартера. Тогда 1cestart сам предложит установить нужную версию при подключении к серверу.
Обновление конфигурации базы данных: пошагово
Ручной способ через конфигуратор работает для любой типовой конфигурации на поддержке.
Шаг 1. Установить файлы обновления
Дистрибутив обновления конфигурации — это архив с установщиком. После запуска setup.exe файлы попадают в каталог шаблонов, по умолчанию %APPDATA%\1C\1cv8\tmplts. Внутри каталога релиза лежит файл 1cv8.cfu.
Шаг 2. Загрузить обновление в конфигурацию
- Откройте базу в режиме Конфигуратор.
- Если основная конфигурация закрыта, откройте её:
Конфигурация → Открыть конфигурацию. - Выберите
Конфигурация → Поддержка → Обновить конфигурацию. - Укажите «Поиск доступных обновлений» или выберите файл
.cfuвручную. - Программа покажет релиз, на который можно перейти. Нажмите «Готово» и подтвердите.
Если конфигурация не изменялась, обновление загрузится без вопросов. Если изменения есть, откроется окно сравнения и объединения: там решают, какие объекты брать из поставщика, а какие оставить свои.
Шаг 3. Обновить конфигурацию базы данных
Загрузка .cfu меняет только основную конфигурацию. Чтобы изменения дошли до самой базы:
- Нажмите
Конфигурация → Обновить конфигурацию базы данных(клавишаF7). - Программа покажет список изменений структуры. Нажмите «Принять».
- Дождитесь окончания реструктуризации. На больших базах это может занять от десятков минут до нескольких часов.
Для этого шага нужен монопольный доступ: в базе не должно быть других сеансов.
Шаг 4. Запустить обработчики обновления
Последний шаг многие пропускают. Запустите базу в режиме 1С:Предприятие под пользователем с полными правами. Программа обнаружит новую версию и выполнит обработчики обновления: перенесёт данные в новые реквизиты, заполнит регистры, загрузит классификаторы.
Часть обработчиков в типовых решениях выполняется отложенно, в фоне, уже после входа пользователей. Ход процесса виден в разделе Администрирование → Обслуживание, в блоке про результаты обновления программы.
Не запускайте следующее обновление, пока не завершились отложенные обработчики предыдущего. Иначе часть данных может остаться незаполненной.
Когда релизы идут цепочкой
Пусть в базе стоит релиз A, а актуальный — D, и файл обновления D принимает только релиз C. Тогда последовательность такая: A → B → C → D. После каждого шага выполняйте шаги 3 и 4. Между промежуточными релизами отдельную резервную копию можно не делать, если первая копия свежая и процесс идёт без перерывов.
Тестирование и исправление информационной базы
Эту процедуру запускают в двух случаях: перед обновлением, если база ведёт себя странно, и после, если обновление прервалось.
Путь: Конфигуратор → Администрирование → Тестирование и исправление. Нужен монопольный доступ.
Что отметить для первого прогона:
- ✅ Реиндексация таблиц информационной базы — безопасна, помогает при ошибках индексов.
- ✅ Проверка логической целостности и ссылочной целостности — находят битые ссылки.
- ✅ Пересчёт итогов — помогает, если остатки в отчётах «поехали».
- ⚠️ Сжатие таблиц — полезно для файловой базы, но долгое.
В режиме «Тестирование и исправление» программа может удалять объекты с битыми ссылками, если так выбрано в настройках. Для первого прогона выбирайте «Только тестирование», посмотрите отчёт и только потом исправляйте.
Для файловой базы, которая не открывается вообще, есть утилита chdbfl.exe из каталога bin платформы. Она проверяет физическую целостность файла 1Cv8.1CD. Запускайте её только на копии файла.
Ошибки при обновлении 1С и что с ними делать
Почему изменённые конфигурации обновляются дольше
Если программист правил типовую конфигурацию напрямую, каждое обновление превращается в ручное сравнение тысяч объектов. Стоимость поддержки растёт с каждым релизом.
Выход — переносить доработки в расширения (.cfe). Они появились в платформе 8.3.6 и подключаются поверх типовой конфигурации. Тогда сама конфигурация остаётся на поддержке и обновляется автоматически, а расширение проверяют после обновления отдельно.
Автоматическое обновление через интернет-поддержку
В типовых решениях на современных релизах обновлять можно без конфигуратора. Для этого нужно:
- 🔑 подключить интернет-поддержку:
Администрирование → Интернет-поддержка и сервисы, ввести логин и пароль портала; - 📅 иметь действующую подписку на обновления для этой конфигурации;
- 👤 войти под пользователем с полными правами.
В том же разделе есть блок обновления версии программы. Помощник сам скачает нужные релизы, выстроит цепочку промежуточных версий и, если нужно, предложит установить новую платформу. Для файловой базы можно выбрать, когда выполнять обновление: сразу или после завершения работы с программой.
Перед запуском помощник предложит сделать резервную копию. Не отказывайтесь, особенно если база файловая.
Пакетное обновление из командной строки
Администраторы, у которых десятки баз, обновляют их скриптом. Платформа поддерживает пакетный запуск конфигуратора:
"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" DESIGNER /F "D:\Bases\Buh" /N "Администратор" /P "пароль" /DisableStartupMessages /UpdateCfg "D:\Updates\1cv8.cfu" /UpdateDBCfg /Out "D:\Logs\update.log"
Что здесь делают параметры:
DESIGNER— запуск в режиме конфигуратора;/F— путь к файловой базе (для серверной вместо него/S "сервер\база");/UpdateCfg— загрузить файл обновления в конфигурацию на поддержке;/UpdateDBCfg— обновить конфигурацию базы данных;/Out— записать протокол в файл.
Перед таким запуском сделайте копию: тем же способом можно выполнить выгрузку параметром /DumpIB "D:\Backup\buh.dt". Обработчики обновления скрипт не выполнит — после него базу всё равно нужно открыть в режиме 1С:Предприятие.
Пароль в bat-файле хранится открытым текстом. Держите такие скрипты в каталоге, доступ к которому есть только у администратора.
Обслуживание по договору
Ещё один вариант — отдать обновление партнёру фирмы 1С по договору сопровождения. Для изменённых конфигураций это часто самый спокойный путь: специалист сам проведёт сравнение и объединение. Для базы на поддержке без доработок обычно хватает встроенного помощника.