Хранилище конфигурации 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 →