Многие разработчики 1С сталкиваются с крайне неприятной ситуацией: при работе в нескольких базах одновременно вы запускаете процесс сравнения и объединения в одном Конфигураторе, а второй (и все последующие) намертво подвисают. Переключиться в них невозможно, окна получают статус «Не отвечает», и приходится ждать окончания процесса в первом сеансе. Давайте разберем эту проблему подробно, проанализируем её технические причины и выясним, какие методы помогут навсегда избавиться от подобных «фризов».
Рассмотрим подробнее, что именно происходит «под капотом» платформы 1С:Предприятие и операционной системы в момент запуска тяжелых операций.
Config и ConfigSave в MS SQL или PostgreSQL) для вычитывания структуры конфигурации. В этот момент СУБД накладывает разделяемые (Shared) или монопольные блокировки на эти таблицы. Второй Конфигуратор, даже находясь в фоновом режиме, регулярно опрашивает базу на предмет динамических обновлений. Наткнувшись на заблокированные таблицы, он уходит в состояние ожидания (Lock Timeout) и зависает.%USERPROFILE%\AppData\Local\Temp. Два Конфигуратора, запущенные под одним пользователем Windows, делят одну дисковую очередь. При пиковой нагрузке очередь к диску переполняется, и второй сеанс банально не может прочитать свой кэш или записать логи.1cv8.exe.Посмотрим на конкретные действия, которые помогут минимизировать или полностью устранить подвисания.
1. Переход на 64-битный клиент 1С
В первую очередь рекомендуем отказаться от 32-битного толстого клиента для разработки. Установите и запускайте 64-разрядную версию платформы. Это позволит процессу использовать всю доступную оперативную память, исключит ошибки нехватки адресного пространства и резко снизит количество обращений к файлу подкачки (свопингу).
2. Настройка исключений антивируса
Рассмотрим список исключений, который необходимо прописать в настройках вашего антивирусного ПО. Добавьте туда следующие пути и процессы:
1cv8.exe и 1cv8c.exe%USERPROFILE%\AppData\Local\1C и %USERPROFILE%\AppData\Roaming\1C%TEMP%3. Оптимизация расположения временных файлов (TEMP)
Разберем один из самых эффективных методов. Перенесите папки для временных файлов Windows на сверхбыстрый накопитель (NVMe SSD). Если у вас много оперативной памяти (32 ГБ и более), создайте виртуальный RAM-диск объемом 8–16 ГБ и перенаправьте переменные среды TEMP и TMP на этот диск. Все тысячи временных файлов 1С будут распаковываться прямо в оперативной памяти с феноменальной скоростью, не нагружая физический накопитель.
4. Изоляция рабочих сред (Разные пользователи ОС)
Если вам критически важно держать открытыми несколько ресурсоемких баз, используйте механизм запуска от имени другого пользователя. Создайте в Windows дополнительную учетную запись разработчика (например, «Developer2»). Запускайте второй Конфигуратор через Shift + Правый клик -> «Запуск от имени другого пользователя». Это полностью изолирует кэш, папки `Temp` и настройки между процессами.
5. Настройка базы tempdb на сервере MS SQL
Для клиент-серверных баз проверим настройки сервера. Часто проблема кроется в том, что системная база tempdb в SQL Server лежит на медленных дисках или имеет шаг авторасширения в процентах. Перенесите tempdb на отдельный производительный SSD, создайте несколько файлов данных (по количеству логических ядер процессора) и задайте им фиксированный шаг роста (например, по 500 МБ).
6. Локальное сравнение конфигураций (Лучшая практика)
Посмотрим на методологически правильный вариант работы, который исключает блокировки пользователей на рабочем сервере. Не делайте сложное сравнение и объединение массивных конфигураций на рабочем сервере СУБД. Выгрузите конфигурацию поставщика в файл формата .cf. Разверните пустую файловую базу на вашем локальном быстром SSD. Загрузите туда основную конфигурацию, выполните процесс сравнения/объединения локально, где вас никто не блокирует, сохраните итоговый .cf и уже его загрузите в рабочую серверную базу.
7. Базовая гигиена системы
Иногда самые простые действия приносят результат. Проверьте свободное место на системном диске, где расположен ваш профиль. Если места почти нет, Конфигуратор не сможет создать временные файлы. Также периодически очищайте папки кэша платформы 1С — со временем там скапливается огромное количество мусорных файлов, из-за которых платформа начинает работать нестабильно.
Применяя описанные методы в комплексе, вы сможете обеспечить себе стабильную и комфортную разработку без раздражающих зависаний инструментов 1С.