Обновление типовой конфигурации 1С 8.3 без потери доработок и данных
Содержание
Обновить конфигурацию
в 1С 8.3 можно двумя путями. Если типовую базу не дорабатывали, хватит режима «Предприятие»: Администрирование → Интернет-поддержка и сервисы → Обновление версии программы. Если в конфигурацию вносили правки, обновляйте через Конфигуратор: Конфигурация → Поддержка → Обновить конфигурацию, файл обновления .cfu, затем Конфигурация → Обновить конфигурацию базы данных (F7). В обоих случаях сначала выгрузите базу в .dt.
После загрузки релиза откройте базу в пользовательском режиме. Там отработают обработчики обновления данных, и только после них программа готова к работе. Пропущенный этап — частая причина странных остатков и «пустых» отчётов в первый день после обновления.
Что сделать до обновления: пять проверок
Обновление меняет и конфигурацию, и структуру таблиц базы. Откатить его без резервной копии нельзя. Поэтому подготовка занимает больше времени, чем сам запуск.
- Выгрузите базу в файл. В Конфигураторе:
Администрирование → Выгрузить информационную базу, сохраните файл.dtна другой диск. Для SQL-базы дополнительно сделайте резервную копию средствами СУБД. - Узнайте текущий релиз. В режиме «Предприятие» откройте
Справка → О программе(значок «i» или меню с тремя полосками). Запишите номер вида 3.0.xxx.yy. - Определите цепочку релизов. Файл
.cfuприменим только к перечисленным в нём предыдущим версиям. Если база отстала на год, обновляться придётся через промежуточные релизы по очереди. Список версий, к которым подходит обновление, указан в описании каждого релиза. - Проверьте версию платформы. Новый релиз требует платформу с номером не ниже указанного в его описании. Сначала обновите платформу на всех компьютерах и на сервере, потом конфигурацию.
- Выясните, есть ли доработки. В Конфигураторе откройте
Конфигурация → Поддержка → Настройка поддержки. Если там стоит «На поддержке» без права изменения — правок нет. Если «Включена возможность изменения» или конфигурация снята с поддержки — без объединения не обойтись.
Сохраните ещё и саму конфигурацию: Конфигурация → Сохранить конфигурацию в файл (.cf). Этот файл пригодится при сравнении «что было — что стало», если после обновления пропадёт доработка.
Отдельно проверьте расширения: Конфигурация → Расширения конфигурации. Каждое расширение — потенциальный конфликт с новым релизом, особенно если оно меняет формы документов.
Способы обновить конфигурацию 1С 8.3
Способ выбирают по двум признакам: есть ли доработки и есть ли у вас доступ к интернет-поддержке.
| Способ | Когда подходит | Риски |
|---|---|---|
| Автообновление из режима «Предприятие» | Типовая без изменений, подключена интернет-поддержка | Минимальные; при доработках обработка откажется работать или предупредит |
Конфигуратор + файл .cfu | Любая конфигурация на поддержке, в том числе с правками | Ошибки при объединении, если не разобрать двойные изменения |
Конфигуратор + полный дистрибутив .cf | Конфигурация снята с поддержки, нужен скачок через много релизов | Полная замена стирает доработки без предупреждения |
Автоматическое обновление в пользовательском режиме
Обработка «Обновление версии программы» сама находит подходящие релизы, скачивает их и выстраивает цепочку. Нужно указать логин и пароль интернет-поддержки и права администратора в базе.
Порядок такой:
- Откройте
Администрирование → Интернет-поддержка и сервисы → Обновление версии программы. - Дождитесь проверки и нажмите кнопку перехода к установке.
- Выберите момент установки: сейчас или при завершении работы.
- Укажите, создавать ли резервную копию. Для файловой базы соглашайтесь.
- Программа закроет сеансы, применит релизы и сама запустит обработку данных.
В файловой базе работать в этот момент не должен никто. Программа попробует завершить чужие сеансы, но открытый у коллеги Конфигуратор её остановит.
Обновление через Конфигуратор
Это основной путь для баз с доработками и для тех, кто скачивает обновления вручную. Файлы релиза ставятся в каталог шаблонов установщиком setup.exe из архива обновления. По умолчанию это %APPDATA%\1C\1cv8\tmplts\.
Полная загрузка .cf
Конфигурация → Загрузить конфигурацию из файла заменяет конфигурацию целиком. Структура данных сохраняется, но все изменения кода и форм пропадают. Применяйте только к чистой типовой или когда доработки перенесены в расширения.
Пошаговое обновление конфигурации в Конфигураторе
- Запустите базу в режиме «Конфигуратор» под пользователем с полными правами.
- Откройте конфигурацию:
Конфигурация → Открыть конфигурацию. - Выберите
Конфигурация → Поддержка → Обновить конфигурацию. - Отметьте «Поиск доступных обновлений (рекомендуется)», чтобы Конфигуратор сам нашёл в каталоге шаблонов подходящий
.cfu. Или выберите «Выбор файла обновления» и укажите файл вручную. - Если найдено несколько релизов, берите ближайший следующий за вашим или последний доступный — Конфигуратор покажет, применим ли он.
- Прочитайте окно с описанием обновления и нажмите «Продолжить обновление».
- Если конфигурация на поддержке без изменений, обновление пройдёт сразу. Если с изменениями — откроется окно сравнения и объединения (о нём ниже).
- После объединения ответьте «Да» на вопрос об обновлении конфигурации базы данных или нажмите F7.
- В окне «Реорганизация информации» проверьте список изменений и нажмите «Принять».
- Запустите режим «Предприятие» и дождитесь окончания обработки данных.
Не закрывайте Конфигуратор и не выключайте компьютер во время реорганизации. Прерванная реорганизация оставляет базу в промежуточном состоянии, и спасает её только загрузка .dt.
Если обновление не применяется
Объединение или замена: какой режим выбрать при обновлении
Окно сравнения появляется, когда в конфигурации есть ваши правки. В нём три конфигурации: старая поставщика, новая поставщика и ваша основная. Платформа сама переносит то, что поменял только поставщик. Вопрос — в объектах, которые менялись с обеих сторон.
Что делать с такими объектами:
- ✅ Взять из новой конфигурации поставщика — если ваша правка больше не нужна или поставщик реализовал то же самое.
- ✅ Объединить с приоритетом основной конфигурации — доработка важна, а изменения поставщика по объекту мелкие.
- ✅ Объединить с приоритетом новой конфигурации поставщика — стандартный выбор для модулей, где правка точечная.
- ⚠️ Не объединять — объект остаётся в вашем варианте целиком. Рискованно: новый код поставщика из других модулей может обращаться к процедурам, которых в старом объекте нет.
Удобный приём: включите фильтр «Показывать только дважды измененные свойства». Список сократится с тысяч объектов до десятков, и их можно разобрать по одному. По каждому модулю откройте сравнение (двойной щелчок по строке) и посмотрите, куда встанет ваш код.
Когда выгоднее заменить, а не объединять:
- доработок мало, и их проще перенести руками в расширение;
- конфигурация снята с поддержки, а последнее обновление было много релизов назад;
- после объединения при проверке синтаксиса (
Конфигурация → Проверка конфигурации) сыплются десятки ошибок.
Новые доработки делайте в расширениях конфигурации. Основная конфигурация остаётся на поддержке без изменений, и обновление снова идёт без окна объединения.
Обновление конфигурации на сервере 1С:Предприятия
В клиент-серверной базе порядок шагов тот же, но добавляется организационная часть: нужно освободить базу от пользователей и фоновых заданий.
Блокировка сеансов
Есть два способа:
- Из самой программы. В БП 3.0 и ЗУП 3.1 в разделе «Администрирование», группа «Обслуживание», есть «Блокировка работы пользователей». Задайте время, сообщение и код разрешения. Пользователи увидят предупреждение и будут отключены.
- Из консоли кластера. В свойствах информационной базы включите «Блокировка начала сеансов включена», задайте код разрешения и время. Там же отметьте блокировку регламентных заданий.
Чтобы зайти в заблокированную базу, добавьте к параметрам запуска ключ /UC<код>, например /UC12345.
Блокировка обрывает сеансы. Несохранённые документы у пользователей пропадут. Предупредите людей заранее и обновляйте вне рабочего времени.
Особенности серверной базы
- 🖥️ Каталог шаблонов нужен там, где запущен Конфигуратор, а не на сервере 1С.
- 🗄️ Реорганизация крупной базы на SQL идёт долго: от десятков минут до нескольких часов. Закладывайте окно с запасом.
- 🔄 Платформу обновляйте синхронно: версия клиента должна совпадать с версией сервера кластера.
- 📦 Резервную копию делайте средствами СУБД — для базы в сотни гигабайт это быстрее и надёжнее
.dt.
Динамическое обновление (без отключения пользователей) для типовых релизов не годится: оно не меняет структуру таблиц, а релизы почти всегда её меняют.
Как проверить базу после обновления конфигурации
Обновление считается завершённым, когда отработала обработка данных и прошли ключевые операции.
Сверку ОСВ делайте до и после на одну дату и одну организацию. Расхождение даже в рубль — повод не пускать людей в базу и разобраться.
Отложенные обработчики в крупных базах работают часами в фоне. Пока они не закончились, часть отчётов может показывать неполные данные. Это не ошибка, а нормальное состояние — смотрите прогресс в разделе администрирования.
Откат обновления: как вернуть прежний релиз
Вернуться к старой версии стоит, если после обновления не проводятся документы, не работает критичная доработка или обработка данных падает с ошибкой.
Надёжный путь один — восстановить базу из копии:
- Заблокируйте вход пользователей.
- В Конфигураторе выберите
Администрирование → Загрузить информационную базуи укажите.dt, сделанный до обновления. - Для SQL-базы восстановите бэкап средствами СУБД.
- Проверьте номер релиза в «О программе».
Всё, что пользователи ввели после обновления, при откате пропадёт. Поэтому решение об откате принимайте в первые часы, пока в базе почти нет новых документов.
Загрузить старый .cf поверх обновлённой конфигурации — плохая замена откату. Обработчики уже переписали данные под новую структуру, и старый код начнёт работать с ними неправильно.
Если ломается одна доработка, откат не нужен. Сравните сохранённый до обновления .cf с текущей конфигурацией (Конфигурация → Сравнить конфигурации) и верните пропавший фрагмент.
Автоматизация обновлений конфигурации
Когда баз больше пяти, ручное обновление съедает дни. Есть три уровня автоматизации.
Встроенное автообновление
Обработка «Обновление версии программы» умеет сама проверять наличие релизов при запуске программы. Для файловых баз без доработок этого достаточно: администратор получает уведомление и ставит обновление в удобное время.
Пакетный режим Конфигуратора
Конфигуратор запускается из командной строки без интерфейса. Пример .bat для файловой базы:
set V8="C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe"
set BASE="D:\Bases\Buh"
set CFU="D:\Updates\1Cv8.cfu"
%V8% DESIGNER /F%BASE% /N"Администратор" /P"пароль" /DisableStartupMessages /DumpIB"D:\Backup\buh_before.dt" /Out"D:\Logs\dump.log"
%V8% DESIGNER /F%BASE% /N"Администратор" /P"пароль" /DisableStartupMessages /UpdateCfg %CFU% /UpdateDBCfg /Out"D:\Logs\update.log"
Для серверной базы вместо /F используйте /S"сервер\база" и добавьте /UC<код>, если включена блокировка. Номер платформы в пути замените на свой.
Ограничение: /UpdateCfg без интерфейса подходит для конфигураций без доработок или с простыми случаями объединения. Если нужно разбирать двойные изменения, пакетный режим не поможет.
После пакетного обновления обязательно запустите базу в режиме «Предприятие» под администратором, чтобы стартовали обработчики данных. Это можно сделать тем же скриптом через ENTERPRISE с параметром /C"ЗапуститьОбновлениеИнформационнойБазы" — его понимают конфигурации на БСП.
Планировщик и сторонние инструменты
Скрипт кладут в планировщик заданий Windows на ночь. Для десятков баз администраторы используют открытые инструменты на OneScript (например, vanessa-runner): они берут на себя блокировку сеансов, бэкап, обновление и разблокировку, а результат пишут в лог.
Можно ли пропустить несколько релизов и поставить сразу последний?
.cf, если конфигурация без доработок.