Данное изложение на примерах демонстрирует работу с хранилищем конфигураций из пакетного режима*.
*Самый простой вызов командной строки для пакетного режима в Windows - сочетание клавиш Win+R.
Работа с хранилищем конфигураций из командной строки
22.04.14
Разработка - Групповая разработка (Git, хранилище)
Данное изложение на примерах демонстрирует работу с хранилищем конфигураций из пакетного режима
например:
1cv8.exe designer /F "D:\1cBase\morpho" /N "Admin" /P "abc" /ConfigurationRepositoryF "D:\Storage\morpho" /ConfigurationRepositoryN "AdminStorage" /ConfigurationRepositoryP "qwerty" /ConfigurationRepositoryAddUser -User Lex -Rights Administration
где
1cv8.exe designer /F "D:\1cBase\morpho" /N "Admin" /P "abc"
- путь к запуску 1С (вместо 1cv8.exe поставьте полный путь) и параметры подключения к ИБ конфигуратором. Она будет неизменной.
2-ая часть -
/ConfigurationRepositoryF "D:\Storage\morpho" /ConfigurationRepositoryN "AdminStorage" /ConfigurationRepositoryP "qwerty"
- параметры подключения к хранилищу конфигурации.
заканчивает строку используемое действие.
В качестве примера используется конфигурация на платформе 8.3.4.465. Взял 2 информационных базы для разбора примеров.
1.Создаём хранилище конфигураций:
/ConfigurationRepositoryCreate
1cv8.exe designer /F "D:\1cBase\morpho" /N "Admin" /P "abc" /ConfigurationRepositoryF "D:\Storage\morpho" /ConfigurationRepositoryN "AdminStorage" /ConfigurationRepositoryP "qwerty" /ConfigurationRepositoryCreate
Если конфигурация на поддержке, то следует использовать суффикс с указанием действий с этой поддержкой, например:
...-AllowConfigurationChanges -ChangesAllowedRule ObjectIsEditableSupportEnabled -ChangesNotRecommendedRule ObjectIsEditableSupportEnabled
Возможно, что вся строка уже целиком не помещается в командную строку Windows. Но её вызов можно употребить либо в .bat-файле либо в вызвав из 1С через ЗапуститьПриложение().
Пользователь, добавляемый при создании, всегда будет администратором.
При таком вызове конфигурация будет подключена к хранилищу и останется подключённой (и только в этом случае, о чём ниже). Чтобы не подключаться - добавьте ещё -NoBind.
2.Добавление ещё одного пользователя
/ConfigurationRepositoryAddUser
1cv8.exe designer /F "D:\1cBase\morpho" /N "Admin" /P "abc" /ConfigurationRepositoryF "D:\Storage\morpho" /ConfigurationRepositoryN "AdminStorage" /ConfigurationRepositoryP "qwerty" /ConfigurationRepositoryAddUser -User "DirectorStorage" -Pwd "qwerty" -Rights Administration
Если в момент добавления пользователя будет открыт конфигуратор с подключением к хранилищу - соответственно, подключения не произойдёт и пользователь добавлен не будет. Например, откройте 2-ую конфигурация, подключитесь вновь созданным пользователем DirectorStorage и выполните:
C:\1Cv\8.3.4.465\bin\1cv8.exe designer /F "D:\1cBase\morpho_res" /N "Admin" /P "abc" /ConfigurationRepositoryAddUser -User "ManagerStorage" -Pwd "qwerty" -Rights Administration
Пользователь ManagerStorage добавлен не будет.
3.Отключиться от хранилища
/ConfigurationRepositoryUnbindCfg
Подключитесь 2-ой конфигурацией, откройте Конфигурация - Хранилище конфигурации - Администрирование хранилища - [Подключения]
(Должны быть 2 подключения. Если не так, то подключитесь 1-ой конфигурацией другим пользователем - AdminStorage и закройте 1-ый конфигуратор).
Выполните:
1cv8.exe designer /F "D:\1cBase\morpho" /N "Admin" /P "abc" /ConfigurationRepositoryUnbindCfg -force
и обновите список:
(Здесь суффикс -force указывает, что можно игнорировать всё захваченное).
4.Обновление конфигурации из хранилища.
/ConfigurationRepositoryUpdateCfg
Откройте 1-ую конфигурацию без подключения к хранилищу и внесите любые изменения (ну, например, добавьте константу). Закройте и выполните:
1cv8.exe designer /F "D:\1cBase\morpho" /N "Admin" /P "abc" /ConfigurationRepositoryF "D:\Storage\morpho" /ConfigurationRepositoryN "AdminStorage" /ConfigurationRepositoryP "qwerty" /ConfigurationRepositoryUpdateCfg -force
Догадались, что -force - это средство от лишних сложностей и вопросов?
5.Снять конфигурацию в файл:
/ConfigurationRepositoryDumpCfg
[без комментариев...]
1cv8.exe designer /F "D:\1cBase\morpho" /N "Admin" /P "abc" /ConfigurationRepositoryF "D:\Storage\morpho" /ConfigurationRepositoryN "AdminStorage" /ConfigurationRepositoryP "qwerty" /ConfigurationRepositoryDumpCfg "d:\temp\xxx.cf"
6.Снять отчёт по версиям хранилища:
/ConfigurationRepositoryReport
1cv8.exe designer /F "D:\1cBase\morpho" /N "Admin" /P "abc" /ConfigurationRepositoryF "D:\Storage\morpho" /ConfigurationRepositoryN "AdminStorage" /ConfigurationRepositoryP "qwerty" /ConfigurationRepositoryReport "d:\temp\ver.mxl"
Плохо, что отчёт снимается в moxel-е. Что с ним дальше делать?
Можно ли подключиться к хранилищу? Нет. Кроме случая создания хранилища по /ConfigurationRepositoryCreate. Только тогда конфигурация подключается к хранилищу и остаётся подключенной. Сравните: создайте новое хранилище (пункт 1), добавьте пользователя (пункт 2), зайдите во 2-ую конфигурацию, подключитесь 2-ым пользователем, перейдите в администрировании в подключения - подключения произведены к обоим информационным базам разными пользователями.
К сожалению, подключится через пакетный режим нельзя. Для этого существует только интерактивный режим. Когда-нибудь и это придумают...