Открыть сервис

Хранилище конфигурации 1С

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

Назначение и принцип работы

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

Основой работы является клиент-серверная архитектура. Серверная часть хранилища (файл или база данных) содержит историю всех изменений. Клиентская часть встроена в платформу «1С:Предприятие» (режим «Конфигуратор»). Разработчик получает из хранилища актуальную версию конфигурации, вносит изменения, а затем отправляет (фиксирует) их обратно. При фиксации система автоматически проверяет конфликты — ситуации, когда один и тот же объект был изменён двумя разработчиками. Если конфликт обнаружен, разработчик должен вручную разрешить его, выбрав нужный вариант.

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

Механизм хранилища конфигурации был впервые реализован в платформе «1С:Предприятие 8.0» (выпуск 2003 года). До этого коллективная разработка в версии 7.7 была возможна только через ручное копирование и слияние файлов конфигурации (.cf). С появлением хранилища процесс стал более формализованным и безопасным.

В версии 8.1 (2006 год) хранилище получило поддержку работы через HTTP-протокол, что позволило использовать его для удалённой разработки. В версии 8.3 (2013 год) была добавлена возможность работы с хранилищем через веб-интерфейс, а также улучшена система разрешения конфликтов. В современных версиях платформы (8.3.20 и выше) хранилище поддерживает работу с большими проектами, включая конфигурации с десятками тысяч объектов.

Типы хранилищ

Хранилище конфигурации может быть организовано двумя способами:

  • Файловое хранилище — данные хранятся в отдельном файле с расширением .1cd. Этот вариант прост в настройке, но не поддерживает работу по протоколу HTTP и требует прямого доступа к файловой системе. Обычно используется для небольших проектов или локальной разработки.
  • Серверное хранилище — данные хранятся в базе данных (например, Microsoft SQL Server или PostgreSQL) на сервере «1С:Предприятие». Поддерживает работу через HTTP/HTTPS, обеспечивает централизованное управление доступом и более высокую производительность при большом количестве разработчиков.

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

Основные операции

Работа с хранилищем конфигурации включает несколько ключевых действий:

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

Технические характеристики

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

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

Применение

Хранилище конфигурации используется в следующих сценариях:

  • Коллективная разработка типовых и отраслевых решений — несколько разработчиков одновременно работают над разными частями конфигурации (модулями, отчётами, формами). Хранилище гарантирует, что изменения не будут потеряны или перезаписаны.
  • Разработка с контролем качества — фиксация изменений с комментариями позволяет отслеживать, кто и когда внёс то или иное изменение. Это упрощает аудит и поиск ошибок.
  • Поддержка нескольких версий — хранилище позволяет хранить несколько веток разработки (например, основная версия и версия для тестирования). Это реализуется через механизм «веток» в серверном хранилище.
  • Интеграция с системами управления версиями — хранилище конфигурации может быть интегрировано с внешними системами, такими как Git или SVN, через сторонние утилиты или специальные расширения платформы.

Ограничения и особенности

Хранилище конфигурации имеет ряд ограничений:

  • Не поддерживает параллельное редактирование одного и того же объекта без разрешения конфликта. Разработчик должен захватить объект, что блокирует его для других.
  • Не является полноценной системой управления версиями (VCS) в классическом понимании. В нём отсутствуют такие функции, как ветвление (кроме серверного хранилища), слияние веток, тегирование.
  • Не предназначено для хранения данных (записей информационной базы), только для метаданных (структуры конфигурации).

Альтернативы

Существуют сторонние решения, расширяющие возможности хранилища конфигурации. Например, система «EDT» (1C:Enterprise Development Tools) — среда разработки на основе Eclipse, которая поддерживает работу с Git и предоставляет более гибкие инструменты для коллективной разработки, включая автоматическое слияние. Однако EDT не заменяет полностью хранилище, а дополняет его, особенно для крупных проектов.

Также используются утилиты для автоматизации работы с хранилищем, такие как «Vanessa Automation» (инструмент для автоматизированного тестирования и развёртывания) и «OneScript» (скриптовый язык для автоматизации операций с хранилищем).

Безопасность

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

Источники

  • Радченко М.Г., Хрусталёва Е.Ю. «1С:Предприятие 8.3. Практическое пособие разработчика». — М.: 1С-Паблишинг, 2021.
  • Официальная документация платформы «1С:Предприятие 8.3» (раздел «Хранилище конфигурации»).
  • Гончаров Д.И. «Коллективная разработка конфигураций 1С:Предприятие 8». — СПб.: БХВ-Петербург, 2017.
  • Материалы конференций INFOSTART EVENT (2018–2023) по теме «Средства коллективной разработки 1С».

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →