Время обновления 1С: где уходят часы и как их вернуть
Содержание
Один релиз типовой конфигурации на небольшой файловой базе (1–3 ГБ) обновляется ориентировочно за 15–40 минут. Серверная база на 30–100 ГБ — за 1–4 часа, а отложенная обработка данных после такого обновления может идти в фоне ещё сутки. Если вы пропустили несколько релизов, умножайте: каждый промежуточный релиз проходит все этапы заново.
Как долго обновляется база 1С, определяют не столько «мощность компьютера», сколько три вещи: объём таблиц, которые меняет новый релиз, тип базы (файловая или клиент-серверная) и то, дорабатывали ли конфигурацию. Каждый из них можно оценить заранее, а на два — повлиять.
Что определяет длительность обновления базы 1С
Время складывается из нескольких независимых факторов. Обычно доминирует один-два из них.
- 📦 Объём базы и конкретных таблиц. Важен не общий размер, а размер тех регистров и документов, чью структуру меняет релиз. Если релиз добавил реквизит в регистр бухгалтерии на 40 млн записей, реструктуризация пойдёт долго даже на мощном сервере.
- 🗄️ Тип базы. Файловая база (
1Cv8.1CD) реструктурируется одним процессом на одном диске. Клиент-серверная работает через СУБД (MS SQL Server или PostgreSQL), и там часть операций идёт заметно быстрее. - 🔀 Доработки конфигурации. Типовая «на полной поддержке» обновляется загрузкой файла
.cfu. Изменённая требует сравнения и объединения, а это минуты и часы ручной работы в Конфигураторе. - 🔢 Сколько релизов пропущено. Перескочить через несколько релизов обычно нельзя: в описании каждого обновления указано, с каких версий его можно ставить. Отставание на год — это 5–10 последовательных обновлений.
- ⚙️ Обработчики обновления. После смены структуры при первом запуске в режиме «Предприятие» программа переносит и пересчитывает данные. В крупных релизах ЗУП и БП этот этап бывает длиннее самой реструктуризации.
- 💽 Диск и сеть. HDD вместо SSD, база на сетевой папке, антивирус, проверяющий каждое обращение к файлу, — всё это растягивает процесс в разы.
Сколько длится обновление: ориентиры по базам
Цифры ниже — ориентировочные, по одному релизу, на исправном оборудовании с SSD. Реальное время может отличаться в 2–3 раза в обе стороны: всё зависит от того, что именно меняет релиз.
| Ситуация | Размер базы | Один релиз, примерно |
|---|---|---|
| Файловая БП или УТ, малый бизнес | 1–3 ГБ | 15–40 мин |
| Файловая база среднего размера | 5–15 ГБ | 40 мин – 2 ч |
| Клиент-серверная БП, ЗУП, УТ | 20–100 ГБ | 1–4 ч |
| Крупная серверная база, ERP | 200 ГБ и больше | от 4 ч до ночи и дольше |
| Обновление только платформы | любой | 5–15 мин на компьютер |
Обновление платформы и обновление конфигурации — разные операции. Новая платформа ставится как программа и базу не трогает. Конфигурация меняет структуру данных, и именно здесь уходит время.
Мини-пример расчёта. Бухгалтерия на сервере, база 40 ГБ, отставание — 4 релиза. По прошлым замерам один релиз шёл около 1,5 часа, ещё примерно час уходил на обработчики при первом запуске. Итого 4 × 2,5 = 10 часов чистого времени. В одну ночь это не укладывается, поэтому цепочку разбивают на два вечера по два релиза.
Самый точный прогноз дают ваши же замеры. Запишите время каждого этапа при следующем обновлении — через 2–3 раза у вас будет своя таблица, точнее любой из интернета.
Из чего состоит обновление и какой этап самый долгий
Обновление конфигурации состоит из пяти этапов. Длительность у них очень разная.
- Резервная копия. Выгрузка в
.dtчерез Конфигуратор или копия средствами СУБД. Для файловой базы на 3 ГБ — 3–10 минут. Для серверной надёжнее и быстрее делать бэкап штатными средствами СУБД. - Загрузка обновления в конфигурацию. Конфигуратор применяет файл
.cfuк основной конфигурации. Обычно 2–10 минут. Если конфигурация доработана — добавляется сравнение и объединение, иногда на час и больше. - Обновление конфигурации базы данных (реструктуризация). Платформа приводит таблицы к новой структуре. Это главный пожиратель времени на больших базах: таблицы копируются и перестраиваются, индексы пересоздаются.
- Обработчики обновления. Первый запуск в пользовательском режиме. Программа показывает экран обновления и переносит данные. От минут до нескольких часов.
- Отложенная обработка данных. Часть обработчиков работает в фоне уже при открытой программе. Пользователи работают, но некоторые отчёты и функции могут быть недоступны до её завершения.
Ход отложенной обработки видно в пользовательском режиме: Администрирование → Обслуживание, группа «Результаты обновления программы». Там же видно, какие обработчики ещё не закончили и есть ли среди них ошибки.
Монопольный доступ нужен на этапе реструктуризации. Перед ним все пользователи должны выйти из базы, иначе Конфигуратор не сможет обновить структуру и предложит повторить попытку.
Как ускорить обновление базы 1С
Приёмы, которые дают реальный выигрыш, — от простых к более трудоёмким.
Работайте с файловой базой локально
Если файловая база лежит на сетевом ресурсе, а обновляете вы с рабочей станции, весь объём гоняется по сети. Запустите Конфигуратор на том компьютере, где физически лежит 1Cv8.1CD. Выигрыш на базе в 5 ГБ легко бывает двукратным и больше.
Исключите каталог базы из проверки антивирусом
Антивирус проверяет каждое обращение к файлу базы и временным файлам. Добавьте в исключения каталог базы и каталог временных файлов пользователя, под которым идёт обновление. Не отключайте защиту целиком — исключений достаточно.
Почистите базу перед обновлением
- 🗑️ Удалите помеченные на удаление объекты — меньше данных переносить.
- 📉 Если база годами не сворачивалась, а история за прошлые периоды не нужна, рассмотрите свёртку. Это отдельный проект, а не задача на вечер.
- 🧪 Для файловой базы запустите «Тестирование и исправление» в Конфигураторе. Ошибки в структуре на этом этапе всплывают раньше и не обрывают обновление посередине.
Обновляйте копию, а не рабочую базу
Для серверных баз рабочий приём такой: развернуть копию, прогнать на ней всю цепочку релизов, замерить время и проверить результат. В «окно» на рабочей базе вы идёте уже с точным расписанием, а не наугад.
Используйте фоновое обновление на сервере
Для клиент-серверных баз Конфигуратор умеет обновлять конфигурацию базы данных на сервере в фоне. Основная подготовка идёт, пока пользователи работают. Монопольный доступ нужен только на финальное принятие изменений. Для баз, где простой в несколько часов недопустим, это главный инструмент.
Переведите доработки в расширения
Если доработки сделаны прямо в типовой конфигурации, каждое обновление превращается в объединение. Когда изменения перенесены в расширения, а конфигурация возвращена на полную поддержку, этап объединения пропадает. Минус десятки минут на каждом релизе.
Не отставайте от релизов
Это банально, но работает. Пять обновлений по 30 минут раз в месяц проходят спокойнее, чем одна «догонялка» на 5 релизов за выходные, где любой сбой посередине откатывает всё.
Что затягивает обновление базы 1С
Типовые промахи, из-за которых обновление идёт вдвое-втрое дольше, чем могло бы.
- 🐢 Обновление «по сети». Файловая база на сервере, Конфигуратор на ноутбуке бухгалтера через Wi-Fi. Хуже варианта не придумать.
- 👥 Висящие сеансы. Кто-то не закрыл программу, на сервере крутится фоновое задание или обмен. Реструктуризация не стартует, а вы ждёте и повторяете попытку.
- 📋 Ручное объединение без подготовки. В изменённой конфигурации на каждом релизе заново решаются одни и те же конфликты. Помогает журнал доработок и перенос их в расширения.
- ⛔ Прерванный этап обработчиков. Пользователь закрыл программу на экране обновления. При следующем запуске обработчики стартуют заново, а иногда приходится разбирать ошибку.
- 🔄 Ставят релизы подряд, не дождавшись отложенной обработки. Следующий релиз может потребовать, чтобы предыдущая обработка завершилась. Проверяйте её статус перед каждым новым шагом.
- 🧱 Старая платформа. Новые релизы конфигураций требуют платформу с номером не ниже указанного в описании обновления. Выяснять это в середине процесса — потерянный час.
Автоматическое обновление: пакетный режим и расписание
Обновление можно запускать без участия человека — ночью, по расписанию. Для этого Конфигуратор запускают в пакетном режиме из командной строки.
Пример bat-файла для файловой базы:
@echo off
set V8="C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe"
set BASE=D:\Bases\Buh
set LOG=D:\Logs\update.log
%V8% DESIGNER /F"%BASE%" /N"Администратор" /P"пароль" ^
/DisableStartupDialogs /Out "%LOG%" ^
/UpdateCfg "D:\Updates\1Cv8.cfu" /UpdateDBCfg
Вместо 8.3.xx.xxxx подставьте каталог установленной версии платформы. Что здесь происходит:
/F— путь к файловой базе. Для серверной вместо него используется/S"сервер\имя_базы"./UpdateCfg— применить файл обновления.cfuк конфигурации./UpdateDBCfg— сразу обновить конфигурацию базы данных./Out— записать результат в лог, чтобы утром было видно, чем всё закончилось.
После пакетного запуска откройте базу в режиме «Предприятие» хотя бы один раз под администратором. Иначе обработчики обновления запустятся у первого пользователя, который придёт утром.
Пароль в открытом виде в bat-файле — риск. Храните такой файл в каталоге с доступом только у администратора и заведите для обновлений отдельного пользователя 1С.
Пакетный запуск ставят в планировщик заданий Windows. Для цепочки релизов и нескольких баз используют сценарии на OneScript, например vanessa-runner: он умеет выгонять пользователей, делать бэкап и обновлять по очереди. Для небольших файловых баз проще штатный путь: Администрирование → Интернет-поддержка и сервисы → Обновление версии программы. Программа сама скачает и поставит нужную цепочку, а копию сделает перед обновлением.
Обновление 1С идёт слишком долго: зависло или работает
Экран Конфигуратора может часами не менять картинку. Это ещё не значит, что процесс завис. Проверьте признаки жизни, прежде чем что-то прерывать.
rac session list. Пока СУБД пишет данные, процесс жив.Для точной диагностики на серверах включают технологический журнал (файл настройки logcfg.xml). Он покажет, на каком запросе и какой таблице стоит процесс. Без опыта разбора таких логов проще дождаться окончания или обратиться к администратору сервера.
Не снимайте процесс 1cv8 во время реструктуризации файловой базы. Это прямой путь к повреждению 1Cv8.1CD. Если прерывать всё же пришлось, первым делом — тестирование и исправление, а при неудаче — восстановление из резервной копии.
На серверных базах завершать рабочий процесс или перезапускать службу 1С можно только в крайнем случае. Оборвутся сеансы всех пользователей всех баз на этом сервере, поэтому делайте это в нерабочее время и после предупреждения.