Контакты

История хранилища конфигурации 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.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С выпускает множество программных продуктов и постоянно совершенствует их внутреннюю структуру. Но количество разнообразных ошибок, с которыми приходится сталкиваться программистам и администраторам 1С, показывает, что в этой области работа никогда не остановится. Некоторые из этих ошибок незначительны и встречаются редко, но бывают «классические» недостатки, знакомые каждому опытному специалисту. К ним последним относится известная ошибка «Неверный формат хранилища данных» и желательно уметь ее решать.


Решение ошибки формата хранилища данных

Чтобы встретиться с этой ошибкой, совсем не обязательно допускать серьезные логические погрешности в коде или удалять основной модуль. Часто после обновления конфигурации, открытии обработки, отключения электричества или перезагрузки компьютера при запуске 1С возникает этот неприятный сюрприз. Если перезагрузка не помогла, не паникуйте – у распространенной ошибки есть простые решения, которые могут помочь. Разбирать их будем по степени усложнения:


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

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

Нояб 08, 2017 32638

Может возникнуть ситуация, когда 1С 8.3 не запускается и появляется ошибка - «Неверный формат хранилища данных» с указанием пути к файлу file c users config runtimecachestorage. Но, не стоит паниковать, ошибка неверного формата данных хранилища не такая редкая как может показаться на первый взгляд. Поэтому в данной статье давайте узнаем как исправить ошибку в 1С 8.3.

Причины появление ошибки "Неверный формат хранилища данных" в 1С 8.3

Как правило, ошибка появляется из-за не корректного завершения работы программы 1С 8.3, либо неожиданного выключения компьютера. И для исправления ошибки неверного формата данных не нужно ничего сделать с базой данных, в большинстве случаев достаточно очистить временные файлы 1С, или очистить кэш 1С.

Что такое кэш 1С 8.3?

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

Как очистить 1С 8.3?

Файлы кэша хранятся в папке AppData, в профиле пользователя, под которым запускается программа 1С 8.3. Проще всего её открыть через команду Пуск \ Выполнить \ %userprofile%\AppData

Здесь нам нужно удалить все содержимое следующих папок:

AppData\Local\1C\

AppData\Roaming\1C\1cv8\

AppData\Roaming\1C\1cv82\

После выполнения операций удаления вновь запускам программу 1С Предприятие 8.3 и радуемся жизни.

Очистка кэша 1С может помочь при появлении различных проблем с запуском 1С Предприятия 8.3, даже когда при запуске, она сразу закрывается. Так что, очистка кэша может еще ни раз пригодиться на практике.



Понравилась статья? Поделитесь ей