Как решить проблему с нехваткой места и зависанием при обновлении ЗУП до версии 3.1.29

Программист 1С v8.3 (Управляемые формы) 1С:Зарплата и Управление Персоналом
← На главную

Обновление конфигурации 1С:Зарплата и управление персоналом с ветки 3.1.28 на 3.1.29 часто сопровождается техническими сложностями. Пользователи сталкиваются с тем, что процесс обновления в режиме «Предприятие» доходит до определенного этапа (часто это 71% или 84%) и прерывается ошибкой «Недостаточно свободного места» или просто «зависает» на долгие часы. В этой статье мы подробно разберем причины возникновения этой ошибки и рассмотрим пошаговые инструкции по её устранению.

Переход на 64-разрядную платформу

Проанализируем архитектурную составляющую проблемы. Основная причина падения процесса с ошибкой нехватки места или памяти — использование 32-разрядного клиента или сервера 1С. 32-битные процессы имеют жесткое ограничение на адресное пространство (до 4 ГБ), что критично для тяжелых обновлений ЗУП 3.1.29, где происходит масштабная реструктуризация данных.

Рассмотрим шаги для проверки и исправления ситуации:

  1. Проверим разрядность сервера 1С. Зайдем в Службы, найдем «Агент сервера 1С:Предприятия», откроем свойства и посмотрим путь к исполняемому файлу. Если путь ведет в C:\Program Files (x86)\1cv8\... — установлена 32-битная версия. Необходимо переустановить сервер на 64-битную версию (путь должен быть в C:\Program Files\1cv8\...).
  2. Проверим разрядность клиентского приложения. Даже если сервер 64-битный, запуск обновления из-под 32-битного «Толстого клиента» может привести к аварийному завершению. Рекомендуем установить и использовать 64-разрядный Тонкий клиент для запуска процесса обновления в режиме Предприятие.

Настройка MS SQL Server: Логи и TempDB

Выясним причину ошибки «Недостаточно свободного места» со стороны базы данных. Часто она относится не к оперативной памяти, а к дисковому пространству, которое занимают служебные файлы SQL.

Разберем, на что обратить внимание:

  1. Модель восстановления (Recovery Model): Если для базы установлена модель «Full» (Полная), то при массовом переносе данных в новые регистры (что и происходит в ЗУП 3.1.29) лог транзакций (файл .ldf) может мгновенно разрастись до сотен гигабайт. Перед обновлением рекомендуется перевести базу в режим Simple (Простая).
  2. Файл TempDB: 1С активно использует временные таблицы. Проверьте, достаточно ли места на диске, где расположена база tempdb. Нередко для нее установлены лимиты на максимальный размер (Max Size), в которые упирается процесс. Рекомендуется обеспечить свободное место, в 2-3 раза превышающее размер основной базы.
  3. Авторасширение: Убедитесь, что для файлов данных и лога включено авторасширение и нет ограничений по размеру файла в настройках SQL Management Studio.

Отключение регламентных заданий и расширений

Посмотрим на ситуацию со стороны внутренних механизмов 1С. Параллельное выполнение фоновых заданий во время обновления создает дополнительную нагрузку и может блокировать таблицы.

Выполним следующие действия:

  1. Перед запуском обновления в консоли администрирования кластера 1С установим галочку «Блокировка регламентных заданий включена».
  2. Проанализируем наличие расширений конфигурации. Многие расширения могут конфликтовать с измененной структурой метаданных в 3.1.29. Перед обновлением их следует отключить или удалить (предварительно сохранив копии).

Пропуск проблемных обработчиков обновления

В релизах ЗУП 3.1.29 выявлен специфический «тяжелый» обработчик, связанный с регистрациями в органах статистики. Процедура ЗарплатаКадрыВнутренний.ЗаполнитьРегистрацииВОрганеСтатистики может зацикливаться или потреблять колоссальные ресурсы при большом количестве организаций или истории изменений ОКПО.

Если обновление зависло именно на этом этапе, рассмотрим вариант с использованием специального расширения, которое помечает данный обработчик как выполненный. Однако после завершения основного обновления потребуется вручную проверить заполнение регистра РегистрацииВОрганеСтатистики.

Для мониторинга процесса используем встроенный инструмент:

  1. Перейдем в раздел Администрирование — Обслуживание — Обновление программы.
  2. Откроем ссылку «Результаты обновления и дополнительные процедуры». Здесь можно увидеть, какие именно процедуры сейчас выполняются и на каких возникла ошибка.

Работа с кэшем и временными файлами

Иногда ошибка вызвана некорректным кэшем метаданных или временными файлами сеансов. Проанализируем системные папки сервера 1С.

Рекомендуется выполнить очистку:

  1. Остановите службу сервера 1С.
  2. Очистите содержимое папки snccntx в каталоге кластера серверов (обычно это C:\Program Files\1cv8\srvinfo\reg_1541\snccntx).
  3. Удалите локальный кэш пользователя, под которым запускается обновление.
  4. Запустите службу и повторите попытку обновления.

Обновление через файловый вариант (особенности)

Если база небольшая, некоторые специалисты пробуют перевести ее в файловый вариант для обновления. Рассмотрим риски: в файловой базе существует лимит на размер одной таблицы (4 ГБ). Поскольку ЗУП 3.1.29 активно перекладывает данные в новые регистры, объем одной из таблиц может превысить этот предел, что приведет к неустранимой ошибке в файловом режиме. Поэтому для баз объемом более 10 ГБ данный метод не рекомендуется.

Важный совет: Перед любыми манипуляциями обязательно создавайте полную резервную копию базы данных и лога транзакций. Для анализа точных причин падения рекомендуется настроить Технологический журнал со сбором событий EXCP и dbmsql.

← На главную