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

Рассмотрим настройки и работу с хранилищем конфигурации подробнее.

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

Так же в этой БД хранится информации о том, кем захвачен тот и или иной объект. Захват объекта — это метка, устанавливаемая разработчиком. Установленный захват позволяет избежать коллизий при групповой разработке. Пока объект захвачен, никто не может его редактировать.

Захватить можно как объект целиком (рекурсивно), так и отдельно объект или формы.

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

Как создать хранилище 1С

Создать хранилище достаточно просто, для этого необходимо выбрать в меню «Конфигурация — Хранилище конфигурации» пункт «Создать хранилище». В появившемся меню достаточно указать путь к будущему расположению хранилища и логин/пароль пользователя-администратора:

При создании сделайте обязательно резервную учетную запись с административными правами — очень часто это выручает.

Как подключиться к хранилищу 1С

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

Получите 267 видеоуроков по 1С бесплатно:

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

Администрирование хранилища конфигурации 1С

Для администрирования хранилища 1С необходимо выбрать в меню конфигурации следующий пункт — «Конфигурация — Хранилище конфигурации — Администрирование»:

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

Как просмотреть историю хранилища 1С

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

В истории хранилища 1С можно увидеть, когда, кем и что было изменено.

Разработка с хранилищем 1С 8.3

Работу с хранилищем условно можно разделить на основные действия:

  • конфигурации из хранилища конфигурации 1С;
  • обновить статусы хранилища 1С;
  • захват в хранилище;
  • помещение в хранилище.

Остановимся подробнее на каждом действии:

Обновить статусы хранилища 1С

Производит получение последних статусов объектов (захвачен или нет).

Вызывается: «Конфигурация — Хранилище конфигурации — Обновить статусы».

Обновление конфигурации из хранилища конфигурации 1С

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

Вызывается: «Конфигурация — Хранилище конфигурации — Обновить конфигурацию из хранилища».

Захват в хранилище конфигурации 1С

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

Произвести захват можно, вызвав правой кнопкой контекстное меню у объекта метаданных:

В открывшемся окне можно установить некоторые настройки:

  • Выполнять рекурсивно — позволяет захватить все подчиненные объекты — формы и т.д.
  • Разрешать получать захваченные — позволяет получать другим пользователям промежуточные версии объекта

Помещение в хранилище 1С

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

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

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

Как добавить новый объект в хранилище 1С

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

Для этого и предназначено хранилище конфигурации.

  • если в конфигурации более одного разработчика
  • несколько баз, но решение единое и требуется их синхронизация
  • просто требуется сохранять историю разработки даже одного программиста

Значит вам надо разворачивать хранилище конфигураций.

Быстрый переход

Как это делается поэтапно:

  1. Зайти в « » и создать хранилище
  2. Указать его расположение (папку на которую есть права на запись)
  3. Задать имя Администратора и его пароль
  4. Далее, конфигурация подключится к созданному хранилищу
  5. Следующий шаг: добавление пользователей в хранилище — каждая база разработки привязывается к отдельному пользователю. Эти пользователи никак не связаны с пользователями информационной базы. Зайдите в «Администрирование хранилища»
  6. Добавляете и задаете пароль:
  7. Устанавливаете его права, достаточно прав на «Захват хранилища»
  8. Создаете новую базу из копии (или используете уже существующую), изменения должны быть сохранены, поскольку при первом подключении конфигурация синхронизируется с данными хранилища
  9. Указываете данные ранее созданного пользователя
  10. Вот и всё: подключение к хранилищ успешно завершено

Работа с хранилищем

При каждом старте запуске конфигурации требуется:

  • подключиться к хранилищу указав пароль, либо прописать его в параметрах запуска 1с «ConfigurationRepositoryP»(Пользователь: «ConfigurationRepositoryN», хранилище: «ConfigurationRepositoryF»)
  • либо отказаться от подключения, но не отвязывать хранилища — в этом случае вы сможете править только ранее «Захваченные» объекты, остальные только на просомтр

Для начала работы с объектом его требуется «Захватить» объект — установить монопольный доступ на его разработку. До этого все объекты доступны только на чтение (подобно «Поставке» до снятия с поддержке).

Это можно произвести двумя способами :


После окончания у вас два основных варианта :

  • отменить захват, при этом у вас объект восстановится их хранилища (этим отменяются также внесенные правки)
  • поместить измененный объект

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


Это основные команды для работы с хранилищем.

Особенности работы

Отбор захваченных объектов

  • можно отобрать все захваченные
  • захваченные определенным пользователем


В целом, хранилище работает очень стабильно:

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

Для резервного копирования достаточно настроить сохранение

1Cv8ddb.1CD и ПОЛНОСТЬЮ папку data, расположенную в той же папке, что и файл 1Cv8ddb.1CD

Если http-Сервер не отвечает или сбрасывает соединение, то может возникнуть ошибка «Неклассифицированная ошибка работы с хранилищем конфигурации»:

При «Ошибке сетевого доступа к серверу» попробуйте перезапустить службу хранилища и выполнить команду «Хранилище конфигурации/Закрыть хранилище/Открыть хранилище».

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

Уменьшилось удобство при повторном подключении

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

Раньше, настройки: адрес хранилища и пользователь сохранялись, оставалось только внести пароль — это было гораздо быстрее.

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

В 8.3. появился режим совместимости на вкладке «Прочее» в администрировании хранилища: этим можно включить новый формат хранения.

Особенности хранения

«Хранилище» до 8.3.3 это обычная файловая база, в виде файла 1Cv8ddb.1CD, в которой дополнительно хранится информация о захватах.

Внутренние таблицы не могут быть больше 4 ГБ иначе может быть ошибка: «Ошибка операции с хранилищем конфигурации. по причине: Превышен максимально допустимый размер внутреннего файла», но такое встречается только при очень интенсивной работе с хранилищем (много версий макетов и других емких объектов).

С версии 8.3.3 появилась папка «data»:
Скорее всего для более универсальной работы с системами версионного контроля.

В случае проблем с рассинхронизацией можно почистить каталог «Cache» в папке хранилища.

Механизм оптимизации

Находится на вкладке «Прочие»

Производится упаковка файлов метаданных в папку pack

  • Количества неупакованных файлов больше 5000.
  • Количества архивов более 50.

Создаем хранилище
Выбираем в меню "Конфигурация"->"Хранилище конфигурации"->"Создать хранилище..."

Указываем путь к каталогу хранилища. (Каталог должен быть доступен для всех разработчиков!)

После того как хранилище создано, заходим в пункт меню "Конфигурация"->"Хранилище конфигурации"->"Администрирование" для того чтобы создать пользователей для разработчиков


В открывшемся окне создаем пользователей.

Подключаем конфигурации разработчиков к хранилищу конфигурации
выбираем пункт меню "Конфигурация"->"Хранилище конфигурации"->"Подключиться к хранилищу..."

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

Ждём, пока произойдет сравнение конфигурации с хранилищем.
Если всё прошло успешно, то справа от объектов конфигурации в дереве объектов должна появиться пиктограмма замка.

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


указать настройки захвата

Выполнять рекурсивно - указывает, что помимо тех объектов, которые перечислены в списке, следует также захватить и все их подчиненные объекты, которые могут быть загружены независимо (подчиненные объекты, которые не могут быть загружены независимо от родительского объекта, всегда будут получены вместе с родительским объектом).
Например, если при захвате справочника не выполнять загрузку рекурсивно, то из подчиненных объектов будут захвачены только реквизиты и табличные части справочника.
Если же выполнить захват рекурсивно, то также будут захвачены и те объекты, подчиненные справочнику, которые могут быть захвачены отдельно от него: формы и макеты.

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

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

Если требуется отменить сделанные изменения и освободить объект от захвата, то выбираем в контекстном меню объекта пункт "Отменить захват"

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

Так же можно просмотреть историю версий и сравнить захваченный и измененный объект с объектом в хранилище.

После того, как работа в копиях завершена(или завершен какой-то промежуточный этап), можно обновить конфигурацию основной базы для этого нужно выбрать пункт в меню "Конфигурация"->"Хранилище конфигурации"->"Обновить конфигурацию из хранилища" или "Конфигурация"->"Хранилище конфигурации"->"Сравнить/объединить конфигурацию с хранилищем".

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

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

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

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

Стандартные хранилища настроек

Итак, по умолчанию, в конфигурации имеются следующие хранилища настроек:

  • ХранилищеВариантовОтчетов — для доступа к настройкам вариантов отчетов.
  • ХранилищеПользовательскихНастроекОтчетов — для доступа к пользовательским настройкам отчетов.
  • ХранилищеНастроекДанныхФорм — для доступа к пользовательским настройкам данных форм.
  • ХранилищеОбщихНастроек — для доступа к общим настройкам.
  • ХранилищеСистемныхНастроек — для доступа к системным настройкам.
  • ХранилищеПользовательскихНастроекДинамическихСписков — для доступа к пользовательским настройкам динамических списков.

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

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

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

Запись и получение настройки:

ХранилищеОбщихНастроек.Сохранить(НазваниеОбъекта, НазваниеНастройки, ЗначениеНастройки, ОписаниеНастройки, ИмяПользователя); ЗначениеНастройки = ХранилищеОбщихНастроек.Загрузить(НазваниеОбъекта, НазваниеНастройки, ОписаниеНастройки, ИмяПользователя);

Удаление лишней/ненужной настройки:

ХранилищеОбщихНастроек.Удалить(НазваниеОбъекта, НазваниеНастройки, ИмяПользователя);

Получение списка настроек:

СписокЗначенийНастроек = ХранилищеОбщихНастроек.ПолучитьСписок(ИмяОбъекта, ИмяПользователя);

Параметры «НазваниеОбъекта», «НазваниеНастройки» и «ИмяПользователя» должны строковой тип.

В базе данных, все настройки хранятся в отдельно таблице.

Хранилища настроек создаваемые программистом

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

  • необходимо перемещение настроек между базами данных;
  • необходим ссылочный контроль при хранении настроек;
  • требуется особая структура настроек 1С.

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

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

В остальном же, принципы работы с созданным хранилищем практически не отличается от работы со стандартными хранилищами настроек.

Доступ к созданному хранилищу можно получить таким образом:

ХранилищаНастроек.НазваниеХранилища.Загрузить();

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

Управляемые формы имеют два свойства:

  • Автоматическое сохранение данных — если выбрано значение «Использовать», то данные будут сохраняться автоматически в стандартное хранилище настроек данных форм;
  • Сохранение данных в настройках — если выбрано значение «Использовать список», то в окне реквизитов формы появится столбец «Сохранение», с помощью которого можно указать какие реквизиты формы должны сохраняться, а также появиться возможность выбрать хранилище настроек для этих данных.

На этом все, надеюсь данная статья Вам помогла.

Основные этапы запуска удаленного хранилища конфигураций 1С 8 на сервере, на котором планируется установить сервер удаленного хранилища 1С 8 :

1. Установка 1С предприятия.
При установке платформы необходимо отметить следующие компоненты:

  • Сервер 1С:Предприятия 8.1
  • Адаптер web-сервисов 1С:Предприятия 8.1 (он понадобится для обеспечения доступа к серверу хранилища из интернета)
  • Сервер хранилища конфигурации.

1.1 Устанавливаем сервер хранилища как сервис, для этого нужно выполнить следующую команду:
"C:\Program Files\1cv81\bin\crserver.exe" -instsrvc -d "D:\WebRepo\"
- в ключе -d нужно указать путь к папке где будут храниться ваши хранилища.
2. Настройка поддержки WEB-сервисов.
В рамках данной статьи рассмотрим веб-сервер IIS 6.0(используется для Windows Server 2003).

Таблица соответствия версий IIS и ОС семейства Windows

Для настройки поддержки web-сервисов необходимо сделать следующее:

  • Необходимо зарегистрировать менеджер веб-сервисов: Start---Run "C:\Program Files\1cv81\bin\wsinst.exe" -iis.
  • В C:\Inetpub\wwwroot создаем каталог с именем appstorage1C
  • Создание прав на использование веб-сайтов. Открытие IIS / Веб-узлы / Веб-узел по умолчанию (правой кнопкой мыши) Свойства
  • Создание приложения IIS на основе виртуального каталога. Открытие IIS / Веб-узлы / Веб-узел по умолчанию / appstorage1C (правой кнопкой мыши) Свойства / Каталог / кнопка Создать
  • Проверка правильности указания пользователя для работы с IIS и флага анонимности. Открытие IIS / Веб-узлы / Веб-узел по умолчанию / appstorage1C (правой кнопкой мыши) Свойства / Безопасность каталога
  • Настройка отображения расширений.1cws и.1crs (+ .1ccr) на wsisapi.dll. Открытие IIS / Веб-узлы / Веб-узел по умолчанию / appstorage1C (правой кнопкой мыши) Свойства / Каталог / кнопка Настройка.

Обязательно указываем путь к исполняемому файлу в кавычках если имеется пробел в данном пути!!!

  • Добавление MIME типов 1C:Предприятия в настройки HTTP заголовков виртуальной директории Web-сервисов (расширения.1cws и.1crs (+ .1ccr), Mime тип text/xml). Открытие IIS / Веб-узлы / Веб-узел по умолчанию / appstorage1C (правой кнопкой мыши) Свойства / Заголовки HTTP
  • Разрешение запускать wsisapi.dll на IIS. (если не создано - в расширениях Web-сервисов IIS добавить wsisapi.dll как расширение Web-сервисов и разрешить ему запуск). Проверить имеется ли в наличии и при отсутствии создать:
  • Настройка прав пользователей на каталог исполняемого файла "C:\Program Files\1cv81\bin" 2-х учетных записей IIS

Для корректной работы нужно сделать "Port Forwarding / Port Triggering" портов 8080(+ 80) и 443 на сервер хранилища.

На данном рисунке представлены настройки роутера D-link. В данном случае 192.168.15.2 - сервер хранилища конфигурации.

3. Публикация конфигурационного файла веб-сервиса.
Нашему веб-сервису для корректной работы с сервером хранилища конфигураций необходим конфигурационный файл. Его нужно поместить в виртуальный каталог, который мы создали ранее, а выглядеть он должен вот так:

Это файл в формате XML с расширением 1ccr, с единственным узлом и атрибутом connectString - в этом атрибуте необходимо указать адрес нашего сервера хранилища конфигурации в сети. В нашем случае мы не разделяли сервер хранилища и IIS, поэтому указываем имя компьютера, на котором мы проделываем все эти действия. Назовем наш файл repository.1ccr.

4. Создание хранилища.
При запуске агента сервера хранилища конфигураций будет создан каталог"D:\WebRepo\" - это каталог хранилищ конфигураций. Если не указывать путь при регистрации сервера(как в пункте 1.1), то хранилище по умолчанию будет создано в каталоге %APPDATA%\1C\1Cv81\ maincr.
Для создания уделенного хранилища, необходимо из режима "Конфигуратор"(Конфигурация / Хранилище конфигурации / Создать хранилище...) создать новое хранилище, только указать в качестве каталога адрес нашего сервера:
<Имя виртуального каталога>/<Имя конфигурационного файла>/<имя хранилища>
Вот пример: http://78.45.99.183/appstorage1C/repository.1ccr/MyRepo. Но мы рекомендуем создавать хранилище соответствующей конфигурации непосредственно на сервере, на котором располагается сервер хранилищ конфигураций, так как это будет быстрее.

5.Подключение к хранилищу.
Подключаемся к хранилищу стандартными средствами, только в качестве каталога указываем адрес нашего сервера
http://78.45.99.183/appstorage1C/repository.1ccr/MyRepo





Close