Настройка хранилища конфигурации 1С 8.3: от сервера до первой версии
Содержание
Чтобы настроить хранилище 1С, нужно три действия: выбрать место (папка в сети или сервер хранилища crserver на порту 1542), создать хранилище в Конфигураторе через Конфигурация → Хранилище конфигурации → Создать хранилище и завести в нём пользователей. Потом каждый разработчик подключает свою базу к тому же адресу и работает через захват и помещение объектов.
Сложности обычно начинаются не на создании, а позже. Двое правят один модуль, база разработчика «теряет» связь, файл хранилища растёт до десятков гигабайт, а поверх летит обновление от поставщика. Ниже — настройка с расчётом на эти ситуации: какой вариант выбрать, как поднять службу, как раздать права и как жить с версиями.
Какой вариант хранилища 1С выбрать и что подготовить
Хранилище конфигурации — это отдельная база, где лежат все версии конфигурации и отметки, кто какой объект держит на редактировании. С пользовательскими данными оно не связано: документы и справочники туда не попадают.
У платформы 8.3 три способа разместить хранилище:
| Вариант | Адрес при подключении | Когда подходит | Минусы |
|---|---|---|---|
| Файловое | \\server\repo\buh или D:\Repo\buh | 1–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С:Предприятия. Клиент и сервер 1С ставить не обязательно.
- Дождитесь окончания установки. Исполняемый файл
crserver.exeокажется в каталогеbinустановленной версии, напримерC:\Program Files\1cv8\8.3.xx.xxxx\bin. - Откройте командную строку от имени администратора и перейдите в этот каталог.
- Зарегистрируйте службу и запустите её:
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.
Создание хранилища и права пользователей
Хранилище создаётся из Конфигуратора той базы, конфигурация которой станет исходной. Лучше брать для этого чистую копию эталонной базы, а не рабочую.
- Откройте базу в режиме Конфигуратора.
- Если конфигурация на поддержке, проверьте, что включена возможность изменения:
Конфигурация → Поддержка → Настройка поддержки. Без этого объекты нельзя будет захватить. - Выберите
Конфигурация → Хранилище конфигурации → Создать хранилище. - Укажите адрес: путь к папке для файлового варианта или
tcp://server:1542/buhдля сервера хранилища. Подкаталогbuhсервер создаст сам внутри каталога из параметра-d. - Задайте имя и пароль администратора хранилища. Это не пользователь Windows и не пользователь информационной базы — у хранилища свой список.
- Подтвердите создание. Конфигурация целиком уйдёт в хранилище первой версией, база станет к нему подключённой.
Пользователи и права
Список пользователей открывается через Конфигурация → Хранилище конфигурации → Администрирование. У каждого пользователя три флага прав:
| Право | Что даёт | Кому давать |
|---|---|---|
| Захват объектов | Брать объекты на редактирование и помещать изменения | Всем разработчикам |
| Изменение версий | Править комментарии и метки уже помещённых версий | Ведущему разработчику |
| Административные функции | Управлять пользователями, оптимизировать, менять настройки хранилища | Одному-двум людям |
Пользователь без флагов может только получать конфигурацию — так удобно подключать тестовые базы и сборочный сервер.
💡 Заводите учётку на конкретного человека, а не одну общую «Разработчик». Только так в истории видно, кто что поместил, а захваченный объект можно освободить без расспросов по всему отделу.
Кто «аутентифицирован» в хранилище
Хранилище запоминает пару «пользователь — информационная база». Если тот же логин уже подключён из другой базы или с другого компьютера, вход под ним будет отклонён. Администратор хранилища видит текущие подключения в окне администрирования и может отключить зависшее. При этом захваченные объекты остаются захваченными: их освобождают отдельно, и незапомещённые изменения у того пользователя пропадут.
Подключение рабочих мест к хранилищу 1С
Каждому разработчику нужна своя информационная база. Две копии Конфигуратора не должны работать с хранилищем из одной базы.
- Создайте у разработчика пустую базу или восстановите выгрузку
.dtэталона — так данные для тестов будут сразу. - Откройте её в Конфигураторе.
- Выберите
Конфигурация → Хранилище конфигурации → Подключиться к хранилищу. - Введите адрес хранилища, имя и пароль пользователя хранилища.
- Согласитесь на замену конфигурации. Текущая конфигурация базы будет заменена конфигурацией из хранилища, несохранённые доработки в ней пропадут — если они нужны, сначала сохраните
.cf. - Дождитесь загрузки и обновите конфигурацию базы данных (F7), чтобы структура совпала с хранилищем.
Окно с деревом объектов и отметками захвата открывается через Конфигурация → Хранилище конфигурации → Открыть хранилище. Зелёный замок — объект захвачен вами, красный — другим пользователем.
Хранилище расширений
Расширения хранятся отдельно. Для расширения создаётся собственное хранилище по отдельному адресу, например tcp://server:1542/buh_ext_otchety. Подключение идёт из того же меню, но в окне выбора нужно указать расширение, а не основную конфигурацию. Права и пользователи у такого хранилища тоже свои.
Версии, метки и ветки разработки
Работа строится на четырёх операциях:
- 🔒 Захватить — объект закрепляется за вами, другие видят его только для чтения.
- 📤 Поместить — изменения уходят в хранилище новой версией с вашим комментарием, захват снимается или сохраняется по галочке.
- 📥 Получить — забрать в свою базу свежие версии объектов, которые поменяли коллеги.
- ↩️ Отменить захват — вернуть объект в исходное состояние из хранилища без помещения.
Пишите в комментарии номер задачи и суть правки. Через полгода «исправил» не скажет ничего, а «ЗАД-412: проверка ИНН контрагента при записи» найдётся поиском по истории.
История и метки
История открывается из окна хранилища через пункт История хранилища. В ней можно сравнить любые две версии, посмотреть изменённые объекты и сохранить конфигурацию нужной версии в файл .cf.
Метка — это имя для конкретной версии: «Релиз 2.4 в продакшен», «Перед обновлением поставщика». Ставьте метки перед каждой выкладкой в рабочую базу. Тогда откат сводится к выгрузке .cf из помеченной версии, а не к поиску по датам.
Ветвление
Веток в хранилище платформы нет. Каждая версия ложится в одну линию. Параллельную разработку организуют так:
| Способ | Как устроено | Когда выбирать |
|---|---|---|
| Отдельное хранилище на ветку | Из версии .cf создаётся второе хранилище, работы в нём сливаются в основное через сравнение-объединение | Долгая крупная доработка, которая не должна мешать текущим правкам |
| Расширения | Новая функциональность живёт в расширении со своим хранилищем | Доработки, которые можно отделить от типовой конфигурации |
| EDT и Git | Конфигурация выгружается в файлы, ветки и слияния ведёт Git | Команда, готовая перейти на 1С:EDT |
Обновление типовой конфигурации от поставщика делают у одного человека: он захватывает корень конфигурации, выполняет обновление через поддержку и помещает результат. Остальные перед этим помещают свои изменения — иначе объединение превратится в ручной разбор конфликтов.
Обслуживание хранилища и скорость работы
Хранилище копит каждую версию каждого изменённого объекта. Через пару лет активной разработки файл легко переваливает за десятки гигабайт, и операции начинают тормозить.
Что делать регулярно:
- Резервная копия. Копируйте каталог хранилища целиком. Надёжнее делать это при остановленной службе или в момент, когда никто не помещает изменения, например ночью по расписанию.
- Оптимизация данных. В окне администрирования хранилища есть оптимизация — она упорядочивает внутренние данные и часто заметно уменьшает файл. Запускайте после резервной копии и когда никто не работает.
- Освобождение «висящих» захватов. Раз в неделю смотрите, что захвачено людьми, которые ушли в отпуск или уволились.
- Обновление платформы. Меняйте версию на сервере хранилища и у всех клиентов в один день. Сначала все помещают изменения, потом обновляется служба, затем клиенты.
Оптимизация и резервное копирование при остановленной службе прерывают работу всех разработчиков с хранилищем. Объявите окно обслуживания заранее.
💡 Если операции тормозят, сначала проверьте диск и антивирус. Каталог хранилища стоит исключить из проверки «на лету»: антивирус, сканирующий каждый записываемый блок, замедляет помещение в разы.
Если медленно работает только удалённый разработчик, дело почти всегда в канале. Частичное получение (только нужных объектов, а не всей конфигурации) и работа через сервер хранилища вместо файловой папки по VPN снимают большую часть проблем.
Если хранилище не подключается или работает с ошибками
Если ни один пункт не подошёл, откройте журнал событий Windows на сервере хранилища. Ошибки службы crserver часто прямо называют причину: нет доступа к каталогу, занят порт, недостаточно места на диске.