Настройка хранилища конфигурации 1С 8.3: от сервера до первой версии

· 10 мин

Содержание

Чтобы настроить хранилище 1С, нужно три действия: выбрать место (папка в сети или сервер хранилища crserver на порту 1542), создать хранилище в Конфигураторе через Конфигурация → Хранилище конфигурации → Создать хранилище и завести в нём пользователей. Потом каждый разработчик подключает свою базу к тому же адресу и работает через захват и помещение объектов.

Сложности обычно начинаются не на создании, а позже. Двое правят один модуль, база разработчика «теряет» связь, файл хранилища растёт до десятков гигабайт, а поверх летит обновление от поставщика. Ниже — настройка с расчётом на эти ситуации: какой вариант выбрать, как поднять службу, как раздать права и как жить с версиями.

Какой вариант хранилища 1С выбрать и что подготовить

Хранилище конфигурации — это отдельная база, где лежат все версии конфигурации и отметки, кто какой объект держит на редактировании. С пользовательскими данными оно не связано: документы и справочники туда не попадают.

У платформы 8.3 три способа разместить хранилище:

ВариантАдрес при подключенииКогда подходитМинусы
Файловое\\server\repo\buh или D:\Repo\buh1–3 разработчика в одной локальной сетиМедленно по сети, риск повредить файл при обрыве связи
Сервер хранилищаtcp://server:1542/buhКоманда от 3 человек, удалённые разработчики через VPNНужна отдельная служба и открытый порт
Через веб-серверhttp://server/repo/repo.1ccrДоступ через интернет без VPN, только HTTP/HTTPSНужен Apache или IIS и публикация, сложнее настройка

Файловый вариант подкупает простотой, но для команды он быстро становится узким местом. Каждая операция гоняет по сети большие куски файла, а обрыв Wi-Fi посреди помещения — прямой путь к ошибкам целостности. Если разработчиков больше двух, сразу ставьте сервер хранилища.

Сколько у вас разработчиков и где они работают?

Подготовка сервера

Требования к железу скромные, но есть нюансы:

  • 💾 Диск. SSD обязателен: хранилище постоянно читает и пишет мелкие блоки. Закладывайте запас в 5–10 раз от размера выгрузки .cf — история версий растёт.
  • 🧠 Память. Хватит 4–8 ГБ, если на машине не крутится ещё и сервер 1С с рабочими базами.
  • 🔌 Сеть. Стабильная локальная сеть или VPN. Для удалённых разработчиков важнее задержка, чем ширина канала.
  • 👤 Учётная запись службы. Отдельный пользователь Windows или Linux с правами на каталог хранилища, без прав администратора домена.
  • 📁 Каталог. Например, D:\Repository. Внутри будут подкаталоги отдельных хранилищ.

Установка сервера хранилища конфигурации

Сервер хранилища ставится из того же дистрибутива технологической платформы, что и клиент. Версию берите ту, на которой работают разработчики. Держите одинаковую версию платформы на сервере хранилища и у всех клиентов — при расхождении подключение может не пройти, а разбираться с этим посреди релиза неприятно.

Установка на Windows

  1. Запустите установщик платформы на сервере.
  2. В списке компонентов отметьте Сервер хранилища конфигураций 1С:Предприятия. Клиент и сервер 1С ставить не обязательно.
  3. Дождитесь окончания установки. Исполняемый файл crserver.exe окажется в каталоге bin установленной версии, например C:\Program Files\1cv8\8.3.xx.xxxx\bin.
  4. Откройте командную строку от имени администратора и перейдите в этот каталог.
  5. Зарегистрируйте службу и запустите её:
cd "C:\Program Files\1cv8\8.3.xx.xxxx\bin"
crserver.exe -instsrvc -port 1542 -d "D:\Repository" -usr "DOMAIN\svc_1crepo" -pwd "Пароль"
crserver.exe -start

Параметры здесь такие: -instsrvc регистрирует службу, -port задаёт порт, -d — корневой каталог хранилищ, -usr и -pwd — учётную запись, под которой служба работает. Удалить службу можно командой crserver.exe -rmsrvc, остановить — crserver.exe -stop.

Остановка службы обрывает работу всех, кто сейчас захватывает или помещает объекты. Предупредите команду и делайте это вне рабочего времени или после того, как все поместили изменения.

Сеть и брандмауэр

  • 🔓 Откройте входящий TCP-порт 1542 (или ваш) в брандмауэре сервера.
  • 🌐 Проверьте, что имя сервера резолвится с машин разработчиков. Надёжнее указывать полное доменное имя, а не IP.
  • 🧪 С клиентской машины проверьте доступность порта, например Test-NetConnection server -Port 1542 в PowerShell.

Если нужно держать несколько версий платформы, запускайте отдельный экземпляр crserver каждой версии на своём порту: 1542, 1642 и так далее. Разработчики подключаются к тому порту, чья версия совпадает с их клиентом.

Linux

На Linux сервер хранилища входит в пакеты платформы. Запускается он той же программой crserver с параметрами -port и -d. Обычно его оформляют как unit systemd от отдельного системного пользователя, владельца каталога хранилищ. Точный набор параметров для вашей сборки смотрите в справке crserver -help.

Создание хранилища и права пользователей

Хранилище создаётся из Конфигуратора той базы, конфигурация которой станет исходной. Лучше брать для этого чистую копию эталонной базы, а не рабочую.

  1. Откройте базу в режиме Конфигуратора.
  2. Если конфигурация на поддержке, проверьте, что включена возможность изменения: Конфигурация → Поддержка → Настройка поддержки. Без этого объекты нельзя будет захватить.
  3. Выберите Конфигурация → Хранилище конфигурации → Создать хранилище.
  4. Укажите адрес: путь к папке для файлового варианта или tcp://server:1542/buh для сервера хранилища. Подкаталог buh сервер создаст сам внутри каталога из параметра -d.
  5. Задайте имя и пароль администратора хранилища. Это не пользователь Windows и не пользователь информационной базы — у хранилища свой список.
  6. Подтвердите создание. Конфигурация целиком уйдёт в хранилище первой версией, база станет к нему подключённой.

Пользователи и права

Список пользователей открывается через Конфигурация → Хранилище конфигурации → Администрирование. У каждого пользователя три флага прав:

ПравоЧто даётКому давать
Захват объектовБрать объекты на редактирование и помещать измененияВсем разработчикам
Изменение версийПравить комментарии и метки уже помещённых версийВедущему разработчику
Административные функцииУправлять пользователями, оптимизировать, менять настройки хранилищаОдному-двум людям

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

💡 Заводите учётку на конкретного человека, а не одну общую «Разработчик». Только так в истории видно, кто что поместил, а захваченный объект можно освободить без расспросов по всему отделу.

Кто «аутентифицирован» в хранилище

Хранилище запоминает пару «пользователь — информационная база». Если тот же логин уже подключён из другой базы или с другого компьютера, вход под ним будет отклонён. Администратор хранилища видит текущие подключения в окне администрирования и может отключить зависшее. При этом захваченные объекты остаются захваченными: их освобождают отдельно, и незапомещённые изменения у того пользователя пропадут.

Подключение рабочих мест к хранилищу 1С

Каждому разработчику нужна своя информационная база. Две копии Конфигуратора не должны работать с хранилищем из одной базы.

  1. Создайте у разработчика пустую базу или восстановите выгрузку .dt эталона — так данные для тестов будут сразу.
  2. Откройте её в Конфигураторе.
  3. Выберите Конфигурация → Хранилище конфигурации → Подключиться к хранилищу.
  4. Введите адрес хранилища, имя и пароль пользователя хранилища.
  5. Согласитесь на замену конфигурации. Текущая конфигурация базы будет заменена конфигурацией из хранилища, несохранённые доработки в ней пропадут — если они нужны, сначала сохраните .cf.
  6. Дождитесь загрузки и обновите конфигурацию базы данных (F7), чтобы структура совпала с хранилищем.

Окно с деревом объектов и отметками захвата открывается через Конфигурация → Хранилище конфигурации → Открыть хранилище. Зелёный замок — объект захвачен вами, красный — другим пользователем.

Хранилище расширений

Расширения хранятся отдельно. Для расширения создаётся собственное хранилище по отдельному адресу, например tcp://server:1542/buh_ext_otchety. Подключение идёт из того же меню, но в окне выбора нужно указать расширение, а не основную конфигурацию. Права и пользователи у такого хранилища тоже свои.

Версии, метки и ветки разработки

Работа строится на четырёх операциях:

  • 🔒 Захватить — объект закрепляется за вами, другие видят его только для чтения.
  • 📤 Поместить — изменения уходят в хранилище новой версией с вашим комментарием, захват снимается или сохраняется по галочке.
  • 📥 Получить — забрать в свою базу свежие версии объектов, которые поменяли коллеги.
  • ↩️ Отменить захват — вернуть объект в исходное состояние из хранилища без помещения.

Пишите в комментарии номер задачи и суть правки. Через полгода «исправил» не скажет ничего, а «ЗАД-412: проверка ИНН контрагента при записи» найдётся поиском по истории.

История и метки

История открывается из окна хранилища через пункт История хранилища. В ней можно сравнить любые две версии, посмотреть изменённые объекты и сохранить конфигурацию нужной версии в файл .cf.

Метка — это имя для конкретной версии: «Релиз 2.4 в продакшен», «Перед обновлением поставщика». Ставьте метки перед каждой выкладкой в рабочую базу. Тогда откат сводится к выгрузке .cf из помеченной версии, а не к поиску по датам.

Ветвление

Веток в хранилище платформы нет. Каждая версия ложится в одну линию. Параллельную разработку организуют так:

СпособКак устроеноКогда выбирать
Отдельное хранилище на веткуИз версии .cf создаётся второе хранилище, работы в нём сливаются в основное через сравнение-объединениеДолгая крупная доработка, которая не должна мешать текущим правкам
РасширенияНовая функциональность живёт в расширении со своим хранилищемДоработки, которые можно отделить от типовой конфигурации
EDT и GitКонфигурация выгружается в файлы, ветки и слияния ведёт GitКоманда, готовая перейти на 1С:EDT

Обновление типовой конфигурации от поставщика делают у одного человека: он захватывает корень конфигурации, выполняет обновление через поддержку и помещает результат. Остальные перед этим помещают свои изменения — иначе объединение превратится в ручной разбор конфликтов.

Обслуживание хранилища и скорость работы

Хранилище копит каждую версию каждого изменённого объекта. Через пару лет активной разработки файл легко переваливает за десятки гигабайт, и операции начинают тормозить.

Что делать регулярно:

  1. Резервная копия. Копируйте каталог хранилища целиком. Надёжнее делать это при остановленной службе или в момент, когда никто не помещает изменения, например ночью по расписанию.
  2. Оптимизация данных. В окне администрирования хранилища есть оптимизация — она упорядочивает внутренние данные и часто заметно уменьшает файл. Запускайте после резервной копии и когда никто не работает.
  3. Освобождение «висящих» захватов. Раз в неделю смотрите, что захвачено людьми, которые ушли в отпуск или уволились.
  4. Обновление платформы. Меняйте версию на сервере хранилища и у всех клиентов в один день. Сначала все помещают изменения, потом обновляется служба, затем клиенты.

Оптимизация и резервное копирование при остановленной службе прерывают работу всех разработчиков с хранилищем. Объявите окно обслуживания заранее.

💡 Если операции тормозят, сначала проверьте диск и антивирус. Каталог хранилища стоит исключить из проверки «на лету»: антивирус, сканирующий каждый записываемый блок, замедляет помещение в разы.

Если медленно работает только удалённый разработчик, дело почти всегда в канале. Частичное получение (только нужных объектов, а не всей конфигурации) и работа через сервер хранилища вместо файловой папки по VPN снимают большую часть проблем.

Ежемесячное обслуживание хранилища
Выполнено: 0 / 6

Если хранилище не подключается или работает с ошибками

Диагностика: выберите симптом

Если ни один пункт не подошёл, откройте журнал событий Windows на сервере хранилища. Ошибки службы crserver часто прямо называют причину: нет доступа к каталогу, занят порт, недостаточно места на диске.

Частые вопросы

Нужна ли лицензия для сервера хранилища 1С?
Отдельная лицензия на сервер хранилища не требуется. Он ставится из дистрибутива платформы бесплатно, лицензии нужны только для запуска самих информационных баз.
Можно ли перенести хранилище на другой сервер?
Да. Остановите службу, скопируйте каталог хранилища целиком на новый сервер, установите там crserver той же версии и укажите новый каталог в параметре -d. Разработчикам останется переподключиться по новому адресу.
Как отключить хранилище от базы, не удаляя его?
В Конфигураторе: Конфигурация → Хранилище конфигурации → Отключиться от хранилища. Конфигурация в базе останется, а связь с хранилищем пропадёт. Перед этим поместите или отмените свои захваты.
Можно ли подключить рабочую базу пользователей к хранилищу?
Технически можно, но не стоит. Рабочую базу обновляют из .cf или из помеченной версии хранилища после тестирования, а разработку ведут в отдельных копиях.
Сколько хранилищ выдержит один сервер?
Десятки. Ограничивает диск и одновременная нагрузка, а не их число. Каждое хранилище — отдельный подкаталог внутри каталога из параметра -d.