С выходом платформы 1С:Предприятие 8.3.16 в арсенале разработчиков и системных администраторов появился новый инструмент в разделе «Тестирование и исправление» — «Пересоздание автономной конфигурации». Многие специалисты столкнулись с тем, что этот процесс может существенно замедлять работу в Конфигураторе, инициируясь автоматически при каждом обновлении базы данных. В этой статье мы подробно разберем, что это за механизм, зачем он нужен мобильным устройствам и как оптимизировать работу системы, если этот функционал вам не требуется.
Для начала выясним причину появления этого термина. Автономная конфигурация — это специализированный «слепок» или облегченная копия метаданных основной конфигурации. Она предназначена исключительно для работы мобильного клиента с автономным режимом, возможности которого расширяют внешние компоненты Android tools. В отличие от обычного мобильного клиента, который требует постоянного соединения с сервером, автономный режим позволяет пользователю продолжать работу (например, оформлять заказы или проводить инвентаризацию) при полной потере связи с центральной базой.
Проанализируем техническую сторону вопроса: когда мобильное устройство переходит в автономный режим, оно начинает использовать локальную систему управления базами данных (СУБД SQLite), встроенную непосредственно в мобильное приложение (где поддерживается выполнение произвольного кода). Чтобы мобильный клиент понимал, какие справочники и документы ему доступны «офлайн», платформа создает структуру этих объектов в специальном кэше на стороне основного сервера. Изучить, как устроена структура хранения базы данных, полезно для понимания кэширования — в этом поможет отчет по анализу физических таблиц базы данных. Именно этот кэш и называется автономной конфигурацией.
Рассмотрим ситуацию, когда в основную конфигурацию вносятся изменения. Если эти изменения затрагивают объекты, которые должны быть доступны на мобильном устройстве без связи, структура автономного «слепка» должна быть обновлена. Функция «Пересоздание автономной конфигурации» выполняет следующие действия:
SQLite.Многие разработчики замечают, что после включения опций мобильного клиента сохранение конфигурации (нажатие F7) начинает занимать значительно больше времени. Посмотрим на пример: даже на пустой базе или базе с небольшим количеством объектов процесс может «зависать». Это происходит из-за механизма автоматической генерации автономной конфигурации.
Платформа пытается построить дерево зависимостей — для этого подойдет анализ связей и зависимостей объектов конфигурации. Если вы случайно включили в состав автономной конфигурации сложный объект (например, документ «Реализация товаров и услуг» в ERP), система по цепочке потянет за собой сотни связанных регистров, общих модулей с признаком Вызов сервера и перечислений. В результате простая операция сохранения превращается в тяжелую аналитическую задачу для процессора.
Если ваша компания не использует мобильный клиент с автономным режимом, этот функционал можно и нужно отключить для ускорения разработки. Разберем по шагам, как это сделать:
Дополнительно рекомендуем проверить свойство «Использовать автономный режим» в настройках мобильного клиента. Если оно выключено, платформа перестанет инициировать фоновые проверки при каждом изменении кода.
Для системных администраторов и специалистов DevOps предусмотрены команды запуска конфигуратора из командной строки. Рассмотрим основные параметры, связанные с этой темой:
/MobileStandalone — параметр для команды CheckConfig, позволяющий выполнить проверку конфигурации на пригодность к работе в автономном режиме./RebuildStandaloneCfg — параметр для команды IBCheckAndRepair, который запускает то самое пересоздание из командной строки.Проанализируем важную особенность: в некоторых версиях платформы (включая релизы 2024-2025 годов) наблюдается нюанс, когда параметр -RebuildStandaloneCfg может ошибочно интерпретироваться системой как полная реструктуризация базы данных (-Rebuild). Рассмотрим, как избежать этой ошибки. Если вы столкнулись с тем, что вместо быстрого обновления автономной части запускается долгая реструктуризация всей базы, используйте последовательный запуск:
// Сначала обновляем основную конфигурацию
1cv8.exe DESIGNER /F "ПутьКБазе" /UpdateDBCfg
// Затем отдельным проходом запускаем исправление автономной части
1cv8.exe DESIGNER /F "ПутьКБазе" /IBCheckAndRepair -RebuildStandaloneCfg
Несмотря на то, что этот процесс можно автоматизировать, ручное «Пересоздание автономной конфигурации» через ТиИ требуется в конкретных случаях:
SQLite может измениться.Подводя итог, можно сказать, что «Пересоздание автономной конфигурации» — это мощный инструмент для мобильной разработки, который, однако, требует аккуратного обращения. Если вы не планируете использовать мобильные устройства в режиме офлайн, лучше полностью очистить состав автономной конфигурации, тем самым сохранив высокую скорость работы в Конфигураторе.