Помещение изменений в хранилище конфигурации 1С 8.3: от захвата объектов до версии с комментарием

· 10 мин

Содержание

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

Типичная ситуация: двое программистов дорабатывают одну БП 3.0, один поправил печатную форму счёта, второй — обработку загрузки банка. Без хранилища они бы перетирали изменения друг друга при выгрузке .cf. С хранилищем каждый захватывает свои объекты, а потом помещает их отдельной версией с понятным комментарием. Порядок действий одинаковый для всех типовых и самописных конфигураций: это механизм платформы 8.3, а не конкретной конфигурации.

Что подготовить до помещения в хранилище

Хранилище не терпит импровизации с правами и копиями баз. Проверьте четыре вещи заранее.

  • 🔑 Пользователь информационной базы с правом входа в Конфигуратор. В типовых конфигурациях это роль «Полные права» или «Администратор системы».
  • 👤 Пользователь хранилища — отдельная учётная запись внутри самого хранилища, не путать с пользователем базы. Его заводит администратор хранилища.
  • 🗂️ Своя информационная база у каждого разработчика. Обычно это копия рабочей базы (файловая или серверная), подключённая к общему хранилищу. Дорабатывать конфигурацию прямо в рабочей базе, подключённой к хранилищу, — путь к случайному обновлению у пользователей.
  • 🌐 Доступ к месту хранения: сетевая папка с правами на запись, адрес сервера хранилища (tcp://…) или HTTP-публикация.

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

Права пользователя хранилища задаются тремя флажками. От них зависит, что человек сможет сделать.

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

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

Запуск Конфигуратора и подключение базы к хранилищу

Откройте базу в режиме Конфигуратор: в окне запуска 1С выберите базу и нажмите «Конфигуратор». Если основная конфигурация не открыта, откройте её: Конфигурация → Открыть конфигурацию.

Дальше два сценария: хранилища ещё нет или оно уже существует.

Хранилища нет: создаём из текущей конфигурации

  1. Выберите Конфигурация → Хранилище конфигурации → Создать хранилище….
  2. Укажите тип и адрес: пустой каталог на диске или в сети, адрес сервера хранилища вида tcp://srv-1c/buh либо HTTP-адрес.
  3. Задайте имя и пароль администратора хранилища. Этот пользователь получит все права.
  4. Подтвердите создание. Платформа поместит в хранилище всю текущую конфигурацию как версию 1 и сразу подключит к нему вашу базу.

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

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

Хранилище есть: подключаемся

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

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

Сетевой доступ и параметры хранилища

Файловое хранилище в сетевой папке подходит для двух-трёх человек в одной локальной сети. Когда разработчиков больше или они работают удалённо, лучше сервер хранилища.

ВариантАдресКогда выбирать
Файловое\\srv\repo\buh или D:\repo\buh1–3 разработчика в одной сети
Сервер хранилищаtcp://srv-1c/buh (порт по умолчанию 1542)Команда, нестабильная сеть, большие конфигурации
HTTP-публикацияhttp://srv-1c/repo/buhУдалённые разработчики через интернет или VPN

Сервер хранилища — это отдельный компонент платформы, устанавливается из того же дистрибутива, что и сервер 1С. Версия платформы у сервера хранилища и у клиентов должна совпадать: при расхождении подключение не состоится. Для HTTP-варианта сервер хранилища публикуют на веб-сервере (IIS или Apache) средствами публикации платформы.

Пользователи и настройки внутри хранилища

Администратор открывает Конфигурация → Хранилище конфигурации → Администрирование…. Там:

  • ➕ заводят пользователей и выставляют им права из таблицы выше;
  • 🔒 запрещают вход уволившимся сотрудникам, не удаляя их: их авторство в истории сохранится;
  • 🧹 запускают оптимизацию данных хранилища, когда оно разрослось.

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

Окно хранилища

Конфигурация → Хранилище конфигурации → Окно хранилища показывает все объекты и кто их захватил. Колонка с пользователем и базой отвечает на вопрос «почему я не могу захватить справочник Номенклатура» быстрее любых переписок в чате.

Как поместить изменения в хранилище конфигурации по шагам

Цикл работы всегда один: получить свежую версию → захватить → изменить → проверить → поместить.

Шаг 1. Получите актуальную версию

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

Шаг 2. Захватите объекты

  1. В дереве конфигурации щёлкните правой кнопкой по объекту.
  2. Выберите Захватить в хранилище.
  3. В диалоге проверьте список. Флажок «Получать захватываемые объекты» оставьте включённым: так вы захватите самую свежую версию объекта.

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

Захватывайте ровно то, что правите. Захваченный «на всякий случай» общий модуль на неделю блокирует работу всей команды.

Шаг 3. Внесите правки и сохраните

Правьте объекты как обычно. Затем сохраните конфигурацию (Ctrl+S) и проверьте модули: Конфигурация → Проверка конфигурации… или хотя бы синтаксический контроль модулей. В хранилище лучше не отправлять код, который не компилируется: следующий, кто получит версию, получит и вашу ошибку.

Если хотите проверить правки в режиме 1С:Предприятие, обновите конфигурацию базы данных (F7) и запустите отладку. На помещение это не влияет: в хранилище уходит конфигурация, а не структура вашей базы.

Шаг 4. Поместите изменения

  1. Выберите Конфигурация → Хранилище конфигурации → Поместить изменения объектов в хранилище…. Для одного объекта то же самое есть в контекстном меню: Поместить в хранилище.
  2. В открывшемся дереве отметьте объекты, которые отправляете. Остальные захваченные можно оставить на потом.
  3. Заполните комментарий: что сделано и зачем. Например: «Счёт на оплату: добавлен QR-код для оплаты, задача 412».
  4. Если продолжаете работу с этими объектами, включите флажок «Оставить объекты захваченными».
  5. Нажмите «Поместить».

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

Шаг 5. Поставьте метку на важную версию

Перед передачей в рабочую базу откройте Конфигурация → Хранилище конфигурации → История хранилища…, выделите версию и установите метку, например «Релиз 2.4 для бухгалтерии». По меткам потом удобно найти, какая версия стояла у пользователей, и откатиться к ней.

Как поместить в хранилище выгрузку .cf, обновление и расширение

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

Вся конфигурация из файла .cf

  1. Захватите корень конфигурации командой «Захватить рекурсивно». Нужно право «Захват объектов», и ни один объект не должен быть захвачен другими пользователями.
  2. Выберите Конфигурация → Загрузить конфигурацию из файла… и укажите .cf.
  3. Выберите Конфигурация → Хранилище конфигурации → Поместить изменения объектов в хранилище…, отметьте всё и напишите комментарий вроде «Загружена конфигурация из файла buh_2024_03.cf».

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

Часть изменений из выгрузки

Если в .cf лежат доработки, сделанные вне хранилища, загружать файл целиком не нужно:

  1. Захватите объекты, которые затрагивает доработка.
  2. Выберите Конфигурация → Сравнить, объединить с конфигурацией из файла….
  3. Снимите флажки со всего лишнего и объедините только нужные объекты.
  4. Поместите изменения в хранилище.

Окно сравнения покажет, какие объекты отличаются. Если при объединении появятся объекты, которые вы не захватили, платформа не даст их изменить — захватите их и повторите.

Обновление типовой конфигурации на поддержке

Обновление поставщика (.cfu или .cf) в базу с хранилищем ставят так же, как загрузку: корень конфигурации захватывают рекурсивно, выполняют Конфигурация → Поддержка → Обновить конфигурацию…, разбирают конфликты в окне сравнения и помещают результат одной версией с комментарием о номере релиза. Обновление ведёт один человек, остальные на это время ничего не захватывают.

Расширения и внешние обработки

  • 🧩 Расширение конфигурации подключается к своему, отдельному хранилищу. Откройте расширение в Конфигураторе (Конфигурация → Расширения конфигурации), и в его меню появятся те же команды хранилища: создать, подключиться, захватить, поместить.
  • 📄 Внешние отчёты и обработки (.erf, .epf) в хранилище конфигурации не помещаются. Их держат в системе контроля версий (Git) или переносят во встроенные объекты конфигурации, если обработка нужна всем.

Автоматическое помещение из командной строки

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

"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER /F "D:\Bases\Dev_Ivanov" ^
  /N "Администратор" /P "" ^
  /ConfigurationRepositoryF "tcp://srv-1c/buh" ^
  /ConfigurationRepositoryN "ivanov" /ConfigurationRepositoryP "пароль" ^
  /ConfigurationRepositoryCommit -comment "Загрузка банка: новый формат выписки" -keepLocked ^
  /Out "D:\Logs\commit.log"
  • /ConfigurationRepositoryCommit помещает захваченные объекты;
  • -comment задаёт комментарий версии;
  • -keepLocked оставляет объекты захваченными;
  • /Out пишет результат в лог — проверяйте его, пакетный режим не показывает окон с ошибками.

Путь к 1cv8.exe подставьте свой, по номеру установленной платформы. Полный список параметров пакетного режима — в справке Конфигуратора по запуску из командной строки.

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

Ошибки при помещении в хранилище и что с ними делать

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

Если правки сделаны без захвата

Бывает, что разработчик неделю правил модуль, не захватив его. Не пытайтесь захватывать сразу — при получении свежей версии правки могут быть перезаписаны.

  1. Выгрузите изменённый модуль или объект в файл: правой кнопкой по модулю — сохранение текста, или выгрузите всю конфигурацию в .cf.
  2. Захватите объект.
  3. Сравните свою выгрузку с текущей версией и перенесите отличия.
  4. Поместите изменения.

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

Можно ли отменить уже помещённую версию?
Удалить версию из середины истории нельзя. Откатиться можно так: захватите объекты, получите из истории нужную старую версию объекта и поместите её как новую с комментарием «Откат изменений версии 57».
Что будет с захваченными объектами, если отключить базу от хранилища?
Захваты останутся в хранилище, а связь вашей базы с ним разорвётся. Перед отключением поместите изменения или отмените захват, иначе объекты будут заблокированы для коллег до вмешательства администратора.
Нужно ли обновлять конфигурацию базы данных перед помещением?
Нет. В хранилище уходит основная конфигурация, а не структура вашей базы. Обновление (F7) нужно только для проверки правок в режиме 1С:Предприятие.
Как перенести изменения из хранилища в рабочую базу?
Выгрузите конфигурацию нужной версии из истории хранилища в .cf и загрузите её в рабочую базу или сравните и объедините. Делайте это вне рабочего времени: обновление конфигурации базы данных может потребовать завершить сеансы пользователей.
Почему после помещения коллега не видит мои правки?
Помещение не рассылает изменения автоматически. Коллега должен выполнить «Получить из хранилища», а затем обновить конфигурацию базы данных у себя.