Динамическое обновление 1С: почему нельзя обновлять базу через 'цилиндр'
- После быстрого сохранения конфигурации (когда горел значок цилиндра) у пользователей закрывается программа с ошибкой формата потока.
- Ошибка
Нарушение целостности структуры конфигурациипри повторном запуске. - Некоторые пользователи видят старый код и старые формы документов, а другие — новые, что приводит к порче проводок.
- Невозможность открыть Конфигуратор для исправления ошибки.
Что такое «Динамическое обновление» на самом деле
Когда программист вносит правки в базу, где прямо сейчас работают бухгалтеры, платформа не может монопольно заблокировать таблицы. Если нажать значок «Обновить конфигурацию БД» при работающих людях, 1С включает режим динамического обновления (в строке статуса появляется значок Цилиндра/Бочонка).
В этот момент платформа создает дублирующую «ветку» метаданных в таблице CONFIGSAVE, пытаясь склеить ее на лету для каждого работающего сеанса.
Почему это приводит к краху базы:
- Рассинхронизация клиентского кэша: Память ПК пользователя хранит старое описание типов данных, а сервер уже отдает новые. При первой записи документа сеанс аварийно падает.
- Зависание таблицы метаданных: При малейшем сетевом сбое во время записи таблицы
CONFIGиCONFIGSAVEпереходят в неконсистентное состояние, блокируя последующий вход в Конфигуратор.
Как правильно выполнять обновления в рабочей базе:
- Заранее оповестите пользователей и установите блокировку сеансов (через Администрирование → Блокировка работы пользователей).
- Дождитесь корректного выхода всех сотрудников из базы.
- Выполните классическое монопольное обновление (кнопка F7).
- Снимите блокировку сеансов и разрешите вход.
Частые вопросы (FAQ)
Что делать, если база уже «упала» после динамического обновления?
1) Очистить локальный кэш на всех ПК пользователей. 2) Зайти в Конфигуратор монопольно, внести фиктивное изменение (например, пробел в комментарии общего модуля), сохранить по F7 и снять фиктивное изменение.
Можно ли динамически обновлять хотя бы печатные формы и отчеты?
Безопаснее выносить любые отчеты и печатные формы во внешние обработки (меню «Дополнительные отчеты и обработки») — их можно обновлять в любой момент без риска для базы.
Почему 1С не уберет эту функцию, если она такая опасная?
Функция разрабатывалась для круглосуточных предприятий (24/7), где невозможно остановить конвейер, но она требует высочайшей квалификации администратора и частых бэкапов.
Как запретить программистам использовать динамическое обновление?
В параметрах кластера 1С или настройках прав доступа отключите возможность обновления без эксклюзивной блокировки.