» » Хранилище конфигурации: создание и использование. Работа с хранилищем конфигурации Получить из хранилища 1с

Хранилище конфигурации: создание и использование. Работа с хранилищем конфигурации Получить из хранилища 1с

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

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

Создание хранилища 1С

Так как хранилище- это ничто иное как информационная база, то создать его очень просто. Переходим Конфигурация - Хранилище конфигураций Создать хранилище. В появившемся окне указываем путь, где будет расположена ИБ, а также логин и пароль администратора(данный пользователь не связан с пользователями БД). Нажимаем Ок, в результате чего в указанное место будет выгружена текущая конфигурация.

P.S Сразу же после создания хранилища, создайте еще одного пользователя с административными правами, даже если будете работать только вы. Для чего это делается? Объясняю. Не редки случаи, когда пользователь «зависает», а так как увас есть еще один, то вы сможете зайти и снять свой же зависший сеанс. Пользователь создается в пункте Администрирование хранилища.

Подключение к хранилищу

Собственно хранилище у нас уже есть. Теперь необходимо подключить пользователей к нему. На каждом персональном компьютере разработчика требуется создать пустую базу или загрузить в нее либо *.dt файл либо просто конфигурацию *.cf из основной базы. После этого необходимо перейти в пункт Подключение к хранилищу и ввести имя пользователя и пароль, которые предоставит администратор для каждого пользователя. В результате подключения ваша локальная конфигурация будет полностью заменена конфигурацией из хранилища.

P.S Все данные локальной информационной базы останутся на месте. То есть как бы происходит объединение конфигураций без затрагивания текущих данных БД.

Обновление и захват хранилища

Если вы уже произвели редактирование в локальной базе и в хотели бы перенести изменения, то вам необходимо выгрузить «конфу» в *.cf файл. После вы подключаетесь к хранилищу. Ваша конфигурация затирается. Теперь необходимо произвести захват объектов. Если вы один в базе, то произведем рекурсивный захват(захватываются все подчиненные объекты) и правой кнопкой мыши нажимаем Захват в хранилище по корневому элементу конфигурации, либо каждый объект захватываете отдельно, если вы работаете вместе. Далее переходите в пункт Сравнить хранилище с конфигурацией из файла. Вуаля - все ваши изменения теперь в хранилище.

Способ захвата можно установить в появившемся окне рис.5. Либо рекурсивно(1), либо разрешать другим получать захваченные объекты (2)

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

При этом вы также можете поместить рекурсивно объекты в хранилище и освободить их, либо оставить захваченными.

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

Для групповой разработки конфигурации в системе «1С:Предприятия» 8.3 используется хранилище конфигурации . Доступ разработчиков к хранилищу конфигурации может осуществляться по локальной сети (файлы базы данных располагаются на общем сетевом ресурсе), по протоколу tcp или http . Для последних двух вариантов необходима установка сервера хранилища конфигураций . Сервер хранилища конфигураций в свою очередь представляет собой сетевую службу, по умолчанию «слушающую» порт 1542 и обеспечивающую взаимодействие клиентских приложений (конфигуратора) с базой данных хранилища конфигурации. Одна служба может обслуживать несколько хранилищ конфигураций. Об установке сервера хранилища конфигураций системы «1С:Предприятия» 8.3 (справедливо и для версии 8.2 ) в ОС семейства Windows (в текущем примере — ) и пойдет речь в данной статье.

1. Настройка каталога баз данных хранилища конфигураций

Сервер хранилища конфигураций следует устанавливать на том же компьютере, где будут располагаться файлы баз данных хранилища. Поэтому прежде всего определим центральный каталог сервера, в котором будут храниться файлы всех хранилищ, которых будет обслуживать данный сервер. Пусть в рамках данной статьи это будет каталог C:\1C_BASE\repository\ . Также следует определить учетную запись Windows, из под которой будет происходить запуск соответствующей службы. Можно создать , или использовать существующую учетную запись Windows. В данном примере будем использовать локального пользователя USR1CV8 с паролем UsrPass8 . Необходимо для данного пользователя на центральный каталог сервера хранилища конфигураций.

2. Установка файлов сервера хранилища конфигураций

На момент написания статьи сервер хранилища конфигураций существовал только как 32-разрядное приложение. Поэтому для установки файлов сервера необходим 32-разрядный дистрибутив системы «1С:Предприятия» 8.3 для Windows. Запускаем файл 1CEnterprise 8.msi из дистрибутива поставки 1С. На странице выбора компонент выбираем компоненту «Сервер хранилища конфигураций 1С:Предприятия » (1C:Enterprise configuration repository server), а также запоминаем путь установки компоненты.

3. Регистрация и запуск службы сервера хранилища конфигураций

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

Crserver.exe -instsrvc | -rmsrvc -usr <пользователь> -pwd <пароль> -start | -stop -port <порт> -d <каталог>

Параметры запуска сервера хранилища конфигураций crserver.exe сходны с :

Параметры запуска сервера хранилища конфигураций «1С:Предприятия»
Параметр Описание
-port <порт> Рабочий порт сервера хранилища. По умолчанию используется порт 1542 .
-d <каталог> Корневой каталог для хранилищ конфигурации. По умолчанию используется каталог %APPDATA%\1C\1Cv8\ .
-instsrvc Регистрация сервера хранилища как сервиса.
-rmsrvc Удаление регистрации сервера хранилища как сервиса.
-usr <имя>
-pwd <пароль>
Имя пользователя, от имени которого будет зарегистрирован сервис. Этот пользователь должен обладать правом Вход в систему как сервис (Log on as a service). Кроме этого, он должен обладать правами на чтение каталога исполняемых файлов соответствующей версии системы «1С:Предприятие» и полными правами на корневой каталог хранилища конфигурации (каталог %APPDATA%\1C\1Cv8\ или тот каталог, который указан в параметре —d ) и пароль для данного пользователя.
-start Запуск сервиса сервера хранилища.
-stop Остановка сервиса сервера хранилища.

Зарегистрируем новый сервис с помощью программы Windows PowerShell , запустить которую можно выполнив команду powershell (для этого необходимо нажать комбинацию клавиш Win + R, в появившемся окне «Выполнить » (Run) ввести имя команды в поле «Открыть » (Open) и нажать «ОК ») или кликнув по соответствующему ярлыку в панели задач.

В открывшейся консоли Windows PowerShell, для удобства ввода дальнейших команд перейдем в каталог bin каталога с установленными файлами «1С:Предприятия» выполнив команду

Cd "C:\Program Files (x86)\1cv8\8.3.5.1088\bin"

Затем, в рамках данного примера, выполним команду

.\crserver.exe -instsrvc -d C:\1C_BASE\repository -usr .\USR1CV8 -pwd UsrPass8

и запустим службу выполнив

.\crserver.exe -start

Перейдем в оснастку службы (запустить которую можно выполнив команду services.msc ) и убедимся что служба с именем 1C:Enterprise 8 Configuration Repository Server зарегистрирована и запущена.

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

Как я уже говорил ранее, один сервер может обслуживать несколько хранилищ конфигурации. Файлы баз данных каждого из хранилищ должны располагаться в отдельном каталоге центрального каталога сервера хранилища конфигураций. Таким образом для создания нового хранилища, создадим в каталоге C:\1C_BASE\repository\ папку Accounting в которой будет располагаться файлы нового хранилища конфигурации.

Тогда для создания и подключения к данному хранилищу необходимо будет использовать строку tcp://WIN2012/accounting , где WIN2012 — сетевое имя компьютера, на котором установлена служба, либо строку tcp://192.168.0.10/accounting , где 192.168.0.10 , соответственно, IP-адрес данного компьютера. Подробно про создание нового хранилища можно прочитать в статье « ».

К созданному таким образом хранилищу также возможно будет подключаться и в обход сервера, например по пути C:\1C_BASE\repository\Accounting на текущем компьютере или по пути \\WIN2012\repository\Accounting если настроить общий доступ к каталогу C:\1C_BASE\repository на данном сервере.

Помогла ли Вам данная статья?

Для групповой разработки конфигурации в системе «1С:Предприятия» 8 используется специальный механизм — хранилище конфигурации . Хранилище конфигурации — это файловая база данных, в которую средствами конфигуратора помещается конфигурация, и которая хранит в себе информацию о редактируемых в данный момент объектах, а также историю изменения этих объектов. Доступ разработчиков к хранилищу конфигурации осуществляется либо в рамках локальной сети, либо по удаленному доступу с использованием веб-сервера. Изначально, конфигурация рассматривается как набор объектов, закрытых для изменения. Чтобы произвести изменения в объекте, его следует захватить, а одновременно объект может быть захвачен только одним пользователем. После работы с захваченными объектами, результат их модификации помещается в хранилище, после чего эти объекты становятся доступными всем участникам групповой разработки. Таким образом, осуществляется контроль доступа к одним и тем же объектам конфигурации, а также обеспечивается синхронизация работы группы разработчиков по модификации конфигурации. Ниже подробно рассмотрим процесс создания нового хранилища конфигурации в системе 1С:Предприятие 8.3 (в более старых версиях, 8.2 и 8.1 алгоритм создания хранилища аналогичен).

1. Создание нового хранилища

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

Запустив конфигуратор, выбираем в меню пункт «Конфигурация » — «Открыть конфигурацию » или же нажимаем соответствующую иконку на панели действий.

Когда конфигурация загрузится, там же в меню выбираем «Конфигурация » — «Хранилище конфигурации » — «Создать хранилище… »

Затем в окне создания хранилища необходимо указать расположение нового хранилища, это может быть:

  • Каталог на текущем компьютере, например: C:\1C_BASE\repository\Accounting
  • Сетевой ресурс, например: \\WIN2012\repository\Accounting
  • Адрес хранилища на (если он установлен), например: tcp://WIN2012/accounting

    Tcp://192.168.0.10/accounting

  • Адрес хранилища на сервере хранилищ, например: http://WIN2012R2/repository/repository.1ccr/Accounting

    Https://сайт/repository/repository.1ccr/Accounting

Указав расположение файлов создаваемого хранилища, нажимаем «Далее ».

Далее необходимо указать имя пользователя и пароль администратора хранилища. Чтобы сэкономить время, и сразу подключить данную информационную базу к хранилищу, укажем вместо этого учетные данные того пользователя, под которым будет подключена текущая база данных. А администратора хранилища создадим позднее. Введя имя пользователя и пароль, нажимаем «ОК ».

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

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

2. Добавление пользователей в хранилище

Теперь добавим нового пользователя хранилища конфигурации. Пусть это будет администратор хранилища, учетные данные которого предлагалось ввести на предыдущем шаге. Для добавления пользователя в хранилище, в конфигураторе выбираем «Конфигурация » — «Администрирование хранилища… »

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

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

Здесь, мы можем установить / или снять следующие права пользователей:

  • Административные функции – пользователь имеет права создания, удаления и отключения пользователей, отмены захвата, может изменять режим совместимости хранилища и выполнять процедуру оптимизации.
  • Изменение состава версий – пользователь имеет права выполнения отката и сокращения истории версий.
  • Захват объектов – пользователям с данным правом доступны захват и внесение изменений в конфигурацию хранилища. Если право не установлено, то объекты хранилища можно только просмотреть.

Определив необходимые права пользователя, нажимаем «ОК» .

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

3. Подключение к хранилищу конфигурации

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

Затем в этом же меню выбираем «Конфигурация » — «Хранилище конфигурации » — «Подключиться к хранилищу… »

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

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

Помогла ли Вам данная статья?

К сожалению, при работе с программой зачастую встречаются ошибки, не имеющие единственного общего способа устранения. К ним можно отнести ошибку 1С 8.3 (8.2) — «Неверный формат хранилища данных». Дело в том, что причин может быть множество, соответственно и способов устранения.

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

Данный способ является самым распространенным исходя из многочисленных сообщений на формах тех, кто победил ошибку «Неверный формат хранилища данных» в 1С. В том случае, когда программа работает корректно на одном компьютере, а на другом выдаёт ошибку, данный способ для вас. Очистить кэш самостоятельно очень просто, но если у вас все-таки возникли трудности, то всё необходимое можете узнать в .

Исправление структуры БД

Если очистка кэша не привела к желаемому результату, тогда необходимо произвести тестирование и исправление ошибок.

Если информационная база является клиент – серверной, тогда откройте ее в режиме конфигуратора и в меню «Администрирование» выберите пункт «Тестирование и исправление…».

Для файловой базы воспользуйтесь утилитой ChDBFl.exe, которая является аналогом тестирования и исправления в конфигураторе.

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

Перезапуск сервера 1С

На клиент–серверных базах иногда встречается ошибка такого плана:

Попробуйте остановить сервер 1С:

net stop «1C:Enterprise 8 Server Agent (x64)»

Удалить все файлы с расширением *.dat из папки, на которую ссылается ошибка:

del «C:\Program Files\1cv82\srvinfo\reg_1541\snccntx\*.dat»

Запустить службу заново:

net start «1C:Enterprise 8 Server Agent (x64)»

Перенос данных

Данный способ следует использовать только в самом безвыходном положении. Он не безопасный и возможны потери данных.

Первым делом вам необходимо создать чистую базу с конфигурацией того же релиза с такой же структурой. Далее при помощи стандартной обработки «Выгрузка Загрузка данных XML» перенести все данные в пустую рабочую базу (скачать - для 8.2 или для 1С 8.3 или на ИТС).

Обязательно убедитесь в том, что структура и все реквизиты из «битой» базы есть в чистой!

Восстановление внешних обработок

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

Теперь главное «взять себя в руки» и, ни при каких обстоятельствах не запускать 1С! Если вы всё же запустили, и ниже описанный метод не сработал, то попробуйте найти пользователя, который ранее открывал вашу обработку. В таком случае восстановительные работы будут производиться в его каталоге пользователя.

Ваша обработка должна находиться во временном каталоге TMP с именем подобным маске «v8_*.tmp». При запуске платформы данные файлы удаляются. Если вы все-таки запустили 1С и файлов не обнаружили и не нашли другого пользователя, у которого может быть ваша обработка, воспользуйтесь программой восстановления удаленных файлов с жесткого диска.

Скопируйте все найденные по маске «v8_*.tmp» из папки TMP в безопасное место. Теперь можно запускать 1С. Попробуйте определить, какой файл является именно вашей обработкой по его размеру, и измените его расширение с.tmp на.epf. Если вам сложно определить, какой именно файл является вашим, то переименуйте все и поочередно запускайте их в 1С. Но чаще всего получается найти нужный файл достаточно быстро, особенно если отсортировать его по дате.

Если описанный выше способ вам не помог, то есть еще один. Для этого вы должны примерно помнить содержимое обработки (код) и иметь ее старую версию.

Ищите вашу обработку по текстам модулей. Распакуйте старую версию обработки при помощи утилиты V8Unpack.exe . Скопируйте и замените все необходимые тексты модулей и запакуйте при помощи этой утилиты обратно.

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

Профессор: - Как называется хранилище для воды?

Студент: - Презервуар?

Профессор: - Правильно, только без "п".

Студент: - Резерватив?...

Хранилище конфигурации - это полезный функционал 1С 8 для групповой разработки прикладных решений, для версионирования прикладного решения а так же документирования изменений прикладного решения в процессе разработки.
После изучения теоретических материалов выложенных в сети я сделал первый практический шаг в освоении, с которым и хочу с Вами поделится:

Релиз платформы 1С : 8.1.15.14
ОС : WinXP Pro SP3

1 . Установим службу Сервера хранилищ конфигурации 8.1 используя команду:
"D:\Program Files\1Cv81\bin\crserver.exe" -instsrvc -d "D:\1c_repository\"
Каталог D:\1c_repository\ был создан предварительно, для размещения в нем конфигураций хранилища.

В отличие от рекомендаций, широко опубликованных в сети, между ключом «-d» и его параметром (путем к корневому каталогу, в котором хранятся каталоги с отдельными хранилищами конфигурации) ОБЯЗАТЕЛЬНО ДОЛЖЕН БЫТЬ ПРОБЕЛ.
2 . Настраиваем и стартуем службу.



3 . Создадим конфигурацию в каталоге хранилища D:\1c_repository\ .

Созданная конфигурация у меня чистая(пустая) и я предполагаю что с ней будут работать программисты удаленно с своих компьютеров.

4 . В конфигураторе созданной базы создаем Хранилище.

Указываем путь к файловому каталогу конфигурации.

Заводим учетную запись Администратора Хранилища.

И подключаемся к Хранилищу.

5 . Создадим учетную запись для первого удаленного разработчика.


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


В данном примере я подключаюсь к хранилищу с этого же компьютера, поэтому путь указан напрямую к каталогу. Для подключения к Хранилищу по локальной сети необходимо использовать протокол tcp, тогда строка расположения каталога будет иметь следующий вид: "tcp//192.168.0.18/МДБ". Так же, есть возможность использовать протокол http(я не рассматривал).

При успешном подключении будет:

Переключившись на конфигурацию Хранилища с залогиненым Администратором в администрировании Хранилища можно видеть что пользователь подключился к Хранилищу.

Что значит "пользователь подключился к Хранилищу"? Как я понимаю в нашем примере пользователь prada развернул у себя в каталоге ТестХранилищеМожноУдалить копию базы из МБП каталога, которые взаимосвязаны как база разработчика - база хранилища. Т.е. в базе разработчика prada может разрабатывать конфигурацию и после выгрузить свои изменения в хранилище. Получается что все удаленные разработчики работают с базой хранилища через свои базы разработчика. Попробуем поработать с хранилищем.

7 . Разработчик prada захватывает объект конфигурации для добавления своих изменений. В примере я захватываю всю конфигурацию, но есть возможность захватить отдельные объекты, что очень удобно.



В дереве конфигурации появится значок указывающий на захваченный объект.

У Администратора(и как я понимаю у других пользователей) значок в дереве конфигурации будет следующий:

Кроме того, у администратора есть возможность отменить захват объекта в меню Администрирование хранилища(не тестировалось).

8 . Разработчик prada создает константу и справочник.

У Администратора пока никаких изменений нет.

В меню работы с Хранилищем есть полезная функция "Сравнить/объединить конфигурацию с хранилищем"

В нашем примере, prada добавил константу и справочник.

9 . Разработчик prada помещает свои изменения в Хранилище МДБ.

При помещении изменений есть возможность указать комментарий к вносимым изменениям.


У разработчика prada значки в дереве конфигурации изменятся на:

а у Администратора(и других) на:

10 . История Хранилища. Хранилище хранит историю внесенных изменений.

11 . После завершения работы prada отменяет захват объектов хранилища.


Всё. На этом первый практический урок завершен.

  1. Групповая разработка прикладных решений от 1С -