Хранилище конфигурации 1С: создание, подключение и права разработчиков

· 9 мин

Содержание

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

Типичная ситуация: в компании два программиста правят одну БП 3.0, и каждый раз после «сборки» чьи-то доработки пропадают. Хранилище конфигурации 1С решает это блокировкой: объект может менять только тот, кто его захватил, а каждая поставка изменений сохраняется версией с автором и комментарием. Инструкция ниже подходит для платформы 8.3 и любой конфигурации: механизм платформенный, от БП, ЗУП или УТ он не зависит.

Как устроено хранилище и когда оно нужно

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

Как это работает на практике:

  • 🔒 Захват. Разработчик захватывает справочник, модуль или форму. Остальные видят объект заблокированным и могут только читать его.
  • 📤 Помещение. После правок объект помещают обратно. Хранилище создаёт новую версию с номером, датой, автором и комментарием.
  • 📥 Получение. Коллеги обновляют свою конфигурацию из хранилища и получают чужие изменения.
  • 🕓 История. Любую версию можно сравнить с текущей, откатить или выгрузить в .cf.

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

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

Способы размещения: папка, сервер хранилища или веб

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

СпособКак выглядит путьКогда подходитОграничения
Сетевая папка\\SRV\Repo\BP или D:\Repo\BP1–3 разработчика в одной локальной сетиКаждому нужны права на чтение и запись в папку; при обрыве сети возможна порча файлов
Сервер хранилища (crserver)tcp://SRV:1542/BPКоманда, удалённые разработчики через VPNВерсия crserver должна совпадать с версией платформы у клиентов
Веб-публикацияhttp://SRV/repo/repo.1ccr/BPДоступ через интернет, через проксиНужен веб-сервер (IIS или Apache) и модуль расширения веб-сервера 1С

Сетевая папка

Создайте пустой каталог, например D:\Repo\BP, и откройте к нему общий доступ. Права на чтение и запись нужны учётной записи Windows каждого разработчика, а не только администратору. Клиент 1С открывает файлы хранилища напрямую, поэтому без права записи захват не сработает.

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

Сервер хранилища crserver

Сервер хранилища ставится вместе с платформой, если при установке отметить компонент «Сервер хранилища конфигураций 1С:Предприятия». Исполняемый файл crserver.exe лежит в каталоге bin нужной версии платформы.

Регистрация службы из командной строки администратора:

cd "C:\Program Files\1cv8\8.3.24.1342\bin"
crserver.exe -instsrvc -port 1542 -d "D:\Repo" -usr .\USR1CV8 -pwd ПарольСлужбы
crserver.exe -start

Параметр -d задаёт корневой каталог. Внутри него каждое хранилище — отдельная подпапка, и в адресе tcp://SRV:1542/BP последняя часть как раз имя этой подпапки. Порт по умолчанию — 1542, его надо открыть в брандмауэре сервера.

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

Публикация на веб-сервере

В Конфигураторе, запущенном от имени администратора Windows, выберите Администрирование → Публикация хранилища конфигураций на веб-сервере. Укажите имя публикации, каталог и путь к хранилищу (папке или tcp://). Адрес подключения потом выглядит так: http://SRV/repo/repo.1ccr/BP, где repo — имя публикации.

Создание хранилища из конфигурации

Хранилище создают один раз, из базы с эталонной конфигурацией. Обычно это копия рабочей базы или тестовая база, где конфигурация совпадает с рабочей.

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

Для типовой конфигурации первое помещение занимает от пары минут до получаса. Время зависит от объёма и скорости сети, ERP грузится заметно дольше БП.

Учётные записи хранилища не связаны с пользователями информационной базы и с учётками Windows. Это отдельный список, который ведётся внутри самого хранилища.

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

Пользователей заводит администратор хранилища. Команда: Конфигурация → Хранилище конфигурации → Администрирование. В открывшемся окне есть список пользователей и вкладки с настройками.

Для каждого пользователя задаются имя, пароль и права:

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

Практичные правила:

  • 👤 Один человек — одна учётка. Общая учётка «Разработчик» лишает историю смысла: не видно, кто что поменял.
  • 🏭 Для рабочей базы заведите отдельного пользователя только с правом чтения. Так из рабочей базы случайно ничего не захватят.
  • 🔑 Пароль администратора храните в менеджере паролей. Восстановить его штатно нельзя.

Когда человек уходит из команды, учётку лучше не удалять, а отнять у неё права. История версий с его авторством при этом останется читаемой.

Подключение рабочей базы к хранилищу

Подключают любую базу, где вы хотите вести разработку или получать изменения.

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

После подключения все объекты в дереве конфигурации помечены значком замка: их нельзя менять без захвата. Это нормальное состояние.

Не подключайте рабочую базу с правом захвата. Правка «на живую» в рабочей базе под хранилищем — частая причина того, что изменения попадают пользователям раньше, чем их проверили.

Подключение из командной строки

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

"C:\Program Files\1cv8\8.3.24.1342\bin\1cv8.exe" DESIGNER /F "D:\Bases\BP_Test" /N "Админ" /P "123" ^
 /ConfigurationRepositoryF "tcp://SRV:1542/BP" /ConfigurationRepositoryN "Тест" /ConfigurationRepositoryP "456" ^
 /ConfigurationRepositoryUpdateCfg /UpdateDBCfg /Out "D:\Logs\update.log"

Такой файл ставят в планировщик Windows на ночь, и к утру тестовая база получает свежую конфигурацию.

Ежедневная работа: захват, помещение, получение

Все команды доступны из контекстного меню объекта в дереве конфигурации и из меню Конфигурация → Хранилище конфигурации.

Захватить и изменить

Щёлкните объект правой кнопкой и выберите Захватить в хранилище. В окне отметьте, нужно ли захватывать подчинённые объекты (формы, макеты, модули). По умолчанию флаг «Получать захватываемые объекты» включён: перед захватом объект обновится до последней версии из хранилища. Не выключайте его, иначе рискуете править устаревшую копию.

Поместить изменения

Когда доработка готова и проверена, выберите Поместить в хранилище. В окне видно, какие объекты уходят, и есть поле комментария. Пишите в комментарии номер задачи и суть: «Задача 412: новый реквизит Проект в документе Поступление». Через полгода это единственный способ понять, зачем менялся объект.

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

Отменить захват

Если правки не нужны, команда Отменить захват вернёт объект к версии из хранилища и снимет блокировку. Локальные изменения при этом пропадут.

Получить чужие изменения

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

История и версии

Команда История хранилища показывает все версии с автором, датой и комментарием. Отсюда можно:

  • 🔍 сравнить версию с текущей конфигурацией или с другой версией;
  • 💾 сохранить версию в файл .cf, чтобы передать её на рабочую базу;
  • 🏷 установить метку, например «Релиз для прода 15.10», чтобы потом быстро найти точку поставки.

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

Ошибки подключения и что с ними делать

Большая часть проблем — это сеть, версии и права. Ниже разбор по симптомам.

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

Отдельный случай — копия базы. Если вы скопировали файловую базу целиком вместе с привязкой к хранилищу, копия будет считать себя подключённой под тем же пользователем. Лучше в копии сразу выполнить Отключиться от хранилища и подключить её заново под своей учёткой. Выгрузка в .dt привязку к хранилищу не переносит, такую базу подключают с нуля.

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

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

Можно ли подключить к хранилищу расширение конфигурации?
Да. Для расширения есть своё меню хранилища в окне расширения, и оно хранится отдельно от основной конфигурации. Права и пользователи настраиваются в нём независимо.
Сколько разработчиков может работать с одним хранилищем?
Жёсткого лимита нет. Для команды больше трёх-четырёх человек и для удалённой работы используйте сервер хранилища, а не сетевую папку.
Можно ли перенести хранилище на другой сервер?
Да. Остановите работу с хранилищем, скопируйте его каталог целиком на новый сервер и переподключите базы по новому адресу. История и пользователи переносятся вместе с файлами.
Нужна ли отдельная лицензия для сервера хранилища?
Сервер хранилища входит в поставку платформы и отдельной лицензии не требует. Лицензия нужна клиентам, которые запускают Конфигуратор.
Как обновить типовую конфигурацию, подключённую к хранилищу?
Захватите корень конфигурации, выполните обновление через сравнение и объединение в базе разработчика, проверьте результат и поместите всё в хранилище одной версией с понятным комментарием.