При организации совместной разработки в среде 1С:Предприятие неизбежно возникает вопрос выбора формата хранения версий: использовать простое файловое хранилище в общей папке или развернуть специализированный сервер хранилища конфигураций. Разберем ключевые архитектурные различия, выясним причины возможных сбоев и определим оптимальный вариант для команды разработчиков.
Рассмотрим, что происходит «под капотом» при помещении или получении объектов конфигурации в обоих режимах:
1Cv8.1cd, размещенный в локальном каталоге или на сетевом ресурсе (SMB/CIFS). Каждый экземпляр Конфигуратора, запущенный у разработчика, обращается к файлу хранилища напрямую через файловую систему операционной системы. При фиксации изменений захватываются диапазоны байт файла, а операции записи выполняются каждым клиентом независимо.1Cv8.1cd обслуживается отдельным выделенным процессом — службой crserver (или модулем веб-сервера wsconf). Конфигураторы разработчиков не имеют прямого доступа к файлу на диске; они взаимодействуют со службой по протоколам TCP (по умолчанию порт 1542) или HTTP/HTTPS. Служба централизованно управляет транзакциями, очередью запросов и кэшем метаданных.Проанализируем основные причины, из-за которых файловое хранилище со временем дает сбои или полностью выходит из строя:
1Cv8.1cd.1cv8.exe к одному файлу создают повышенную нагрузку на файловые дескрипторы ОС и увеличивают вероятность взаимных блокировок (deadlocks).Разберем, какие проблемы снимает переход на серверный вариант:
crserver выполняет все операции записи строго последовательно через внутренний механизм транзакций. Если клиент аварийно завершит работу во время фиксации изменений, служба корректно откатит незавершенную операцию, не повредив общую базу./ConfigurationRepositoryF, /ConfigurationRepositoryN и /ConfigurationRepositoryP выполняются параллельно с работой программистов, не вызывая конфликтов блокировки на уровне файлов.Рассмотрим комплекс мер, позволяющих добиться максимальной скорости и стабильности при совместной разработке:
crserver) в список доверенных исключений антивирусного ПО и систем теневого резервного копирования на сервере.AppData\Local\1C\1Cv8). Если операции сравнения или обновления конфигурации из хранилища начинают замедляться, очистим локальный кэш разработчика.crserver кратковременно останавливают либо настраивают выгрузку версий штатными скриптами, что гарантирует целостность скопированного файла.Подведем итог: файловое хранилище допустимо использовать исключительно для одного разработчика или локальной разработки без сетевого доступа. Для команды даже из 2–5 человек (как на выделенных ПК, так и в терминальной среде) единственным надежным промышленным решением является серверное хранилище конфигураций (служба crserver или публикация через веб-сервер), гарантирующее сохранность исходного кода и стабильность транзакций.