Время обновления 1С: где уходят часы и как их вернуть

· 9 мин

Содержание

Один релиз типовой конфигурации на небольшой файловой базе (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 ч
Крупная серверная база, ERP200 ГБ и большеот 4 ч до ночи и дольше
Обновление только платформылюбой5–15 мин на компьютер

Обновление платформы и обновление конфигурации — разные операции. Новая платформа ставится как программа и базу не трогает. Конфигурация меняет структуру данных, и именно здесь уходит время.

Мини-пример расчёта. Бухгалтерия на сервере, база 40 ГБ, отставание — 4 релиза. По прошлым замерам один релиз шёл около 1,5 часа, ещё примерно час уходил на обработчики при первом запуске. Итого 4 × 2,5 = 10 часов чистого времени. В одну ночь это не укладывается, поэтому цепочку разбивают на два вечера по два релиза.

Самый точный прогноз дают ваши же замеры. Запишите время каждого этапа при следующем обновлении — через 2–3 раза у вас будет своя таблица, точнее любой из интернета.

Из чего состоит обновление и какой этап самый долгий

Обновление конфигурации состоит из пяти этапов. Длительность у них очень разная.

  1. Резервная копия. Выгрузка в .dt через Конфигуратор или копия средствами СУБД. Для файловой базы на 3 ГБ — 3–10 минут. Для серверной надёжнее и быстрее делать бэкап штатными средствами СУБД.
  2. Загрузка обновления в конфигурацию. Конфигуратор применяет файл .cfu к основной конфигурации. Обычно 2–10 минут. Если конфигурация доработана — добавляется сравнение и объединение, иногда на час и больше.
  3. Обновление конфигурации базы данных (реструктуризация). Платформа приводит таблицы к новой структуре. Это главный пожиратель времени на больших базах: таблицы копируются и перестраиваются, индексы пересоздаются.
  4. Обработчики обновления. Первый запуск в пользовательском режиме. Программа показывает экран обновления и переносит данные. От минут до нескольких часов.
  5. Отложенная обработка данных. Часть обработчиков работает в фоне уже при открытой программе. Пользователи работают, но некоторые отчёты и функции могут быть недоступны до её завершения.

Ход отложенной обработки видно в пользовательском режиме: Администрирование → Обслуживание, группа «Результаты обновления программы». Там же видно, какие обработчики ещё не закончили и есть ли среди них ошибки.

Монопольный доступ нужен на этапе реструктуризации. Перед ним все пользователи должны выйти из базы, иначе Конфигуратор не сможет обновить структуру и предложит повторить попытку.

Как ускорить обновление базы 1С

Приёмы, которые дают реальный выигрыш, — от простых к более трудоёмким.

Работайте с файловой базой локально

Если файловая база лежит на сетевом ресурсе, а обновляете вы с рабочей станции, весь объём гоняется по сети. Запустите Конфигуратор на том компьютере, где физически лежит 1Cv8.1CD. Выигрыш на базе в 5 ГБ легко бывает двукратным и больше.

Исключите каталог базы из проверки антивирусом

Антивирус проверяет каждое обращение к файлу базы и временным файлам. Добавьте в исключения каталог базы и каталог временных файлов пользователя, под которым идёт обновление. Не отключайте защиту целиком — исключений достаточно.

Почистите базу перед обновлением

  • 🗑️ Удалите помеченные на удаление объекты — меньше данных переносить.
  • 📉 Если база годами не сворачивалась, а история за прошлые периоды не нужна, рассмотрите свёртку. Это отдельный проект, а не задача на вечер.
  • 🧪 Для файловой базы запустите «Тестирование и исправление» в Конфигураторе. Ошибки в структуре на этом этапе всплывают раньше и не обрывают обновление посередине.

Обновляйте копию, а не рабочую базу

Для серверных баз рабочий приём такой: развернуть копию, прогнать на ней всю цепочку релизов, замерить время и проверить результат. В «окно» на рабочей базе вы идёте уже с точным расписанием, а не наугад.

Используйте фоновое обновление на сервере

Для клиент-серверных баз Конфигуратор умеет обновлять конфигурацию базы данных на сервере в фоне. Основная подготовка идёт, пока пользователи работают. Монопольный доступ нужен только на финальное принятие изменений. Для баз, где простой в несколько часов недопустим, это главный инструмент.

Переведите доработки в расширения

Если доработки сделаны прямо в типовой конфигурации, каждое обновление превращается в объединение. Когда изменения перенесены в расширения, а конфигурация возвращена на полную поддержку, этап объединения пропадает. Минус десятки минут на каждом релизе.

Не отставайте от релизов

Это банально, но работает. Пять обновлений по 30 минут раз в месяц проходят спокойнее, чем одна «догонялка» на 5 релизов за выходные, где любой сбой посередине откатывает всё.

Перед стартом обновления
Выполнено: 0 / 7

Что затягивает обновление базы 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 подставьте каталог установленной версии платформы. Что здесь происходит:

  1. /F — путь к файловой базе. Для серверной вместо него используется /S"сервер\имя_базы".
  2. /UpdateCfg — применить файл обновления .cfu к конфигурации.
  3. /UpdateDBCfg — сразу обновить конфигурацию базы данных.
  4. /Out — записать результат в лог, чтобы утром было видно, чем всё закончилось.

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

Пароль в открытом виде в bat-файле — риск. Храните такой файл в каталоге с доступом только у администратора и заведите для обновлений отдельного пользователя 1С.

Пакетный запуск ставят в планировщик заданий Windows. Для цепочки релизов и нескольких баз используют сценарии на OneScript, например vanessa-runner: он умеет выгонять пользователей, делать бэкап и обновлять по очереди. Для небольших файловых баз проще штатный путь: Администрирование → Интернет-поддержка и сервисы → Обновление версии программы. Программа сама скачает и поставит нужную цепочку, а копию сделает перед обновлением.

Обновление 1С идёт слишком долго: зависло или работает

Экран Конфигуратора может часами не менять картинку. Это ещё не значит, что процесс завис. Проверьте признаки жизни, прежде чем что-то прерывать.

Диагностика: выберите симптом

Для точной диагностики на серверах включают технологический журнал (файл настройки logcfg.xml). Он покажет, на каком запросе и какой таблице стоит процесс. Без опыта разбора таких логов проще дождаться окончания или обратиться к администратору сервера.

Не снимайте процесс 1cv8 во время реструктуризации файловой базы. Это прямой путь к повреждению 1Cv8.1CD. Если прерывать всё же пришлось, первым делом — тестирование и исправление, а при неудаче — восстановление из резервной копии.

На серверных базах завершать рабочий процесс или перезапускать службу 1С можно только в крайнем случае. Оборвутся сеансы всех пользователей всех баз на этом сервере, поэтому делайте это в нерабочее время и после предупреждения.

Частые вопросы

Можно ли работать в 1С, пока идёт обновление?
Во время реструктуризации — нет, нужен монопольный доступ. Во время отложенной обработки данных — да, работа разрешена, но часть отчётов может быть временно недоступна.
Почему следующий релиз обновился за 5 минут, а предыдущий шёл два часа?
Время зависит от того, что меняет релиз. Если он не трогает структуру больших регистров, реструктуризация почти мгновенна. Если меняет — долго даже на мощном сервере.
Помогает ли более мощный компьютер?
Для файловой базы больше всего даёт быстрый SSD и локальная работа с файлом. Число ядер почти не влияет: реструктуризация файловой базы идёт в один поток.
Сколько обновлять базу, если пропущено 10 релизов?
Ориентировочно в 10 раз дольше одного релиза, плюс отложенная обработка после каждого. Такие «догонялки» лучше разбивать на несколько вечеров и сначала прогонять на копии.
Нужно ли ждать окончания отложенной обработки перед следующим релизом?
Желательно. Некоторые релизы прямо требуют её завершения и не дадут продолжить, пока обработка предыдущего не закончена.