В конфигураторе не хватает функционала выгрузки произвольной версии хранилища сразу в XML файлы. А иногда бывает удобно. Данный batch скрипт решает эту задачу.
@echo off
chcp 65001
:: скрипт для выгрузки произвольной версии хранилища в XML.
:: использует служебную базу (сам создает ее)
:: поправить только настройки
:: ---------- начало настроек ------
:: урл хранилища
set url_hran=tcp://repository/DEV/
:: версия хранилища, которую надо сохранить в xml
set hran_version=14089
:: имя пользователя хранилища
set SrvUserName=ReadOnly
:: пароль пользователя хранилища
set SrvUserPwd=
:: каталог, где будет создана новая папка с XML
set path_xml=C:\Users\SKraynev\Documents\xml
:: полный номер версии 1С:Предприятия - например 8.3.15.1830
set Version=8.3.18.1999
:: путь к 1С
set path_1c=C:\Program Files\1cv8\%Version%\bin\1cv8.exe
:: каталог с логами
set logcat=C:\Users\SKraynev\Documents\логи
:: файловая база, через которую проводим манипуляции
set base1c=C:\Users\SKraynev\Documents\1c-bases\Выгрузка_XML_служебная
:: ---------- конец настроек ------
echo -------------- создание базы и каталогов -------------
if NOT exist "%base1c%" "%path_1c%" CREATEINFOBASE File="%base1c%" /L ru /Out "%logcat%/1_создание_базы.txt"
if NOT exist "%path_xml%" mkdir "%path_xml%"
if NOT exist "%logcat%" mkdir "%logcat%"
echo -------------- выгрузка CF из хранилища -------------
"%path_1c%" DESIGNER /DisableStartupDialogs /DisableUnrecoverableErrorMessage /F"%base1c%" /Out "%logcat%/2_выгрузка_версии_хранилища.txt" /ConfigurationRepositoryF "%url_hran%" /ConfigurationRepositoryN "%SrvUserName%" /ConfigurationRepositoryP "%SrvUserPwd%" /ConfigurationRepositoryDumpCfg "%logcat%/temp.cf" -v "%hran_version%"
echo -------------- накат версии в служебную базу -------------
"%path_1c%" DESIGNER /DisableStartupDialogs /DisableUnrecoverableErrorMessage /F"%base1c%" /Out "%logcat%/3_накат_на_служебную_базу.txt" /LoadCfg "%logcat%/temp.cf" /UpdateDBCfg
echo -------------- очистка папки xml -------------
set new_xml=%path_xml%\%hran_version%
if exist "%new_xml%" rmdir /s /q "%new_xml%"
echo -------------- выгрузка xml -------------
"%path_1c%" DESIGNER /DisableStartupDialogs /DisableUnrecoverableErrorMessage /F"%base1c%" /Out "%logcat%/4_выгрузка_xml.txt" /DumpConfigToFiles "%new_xml%" -Format Hierarchical
echo -------------- результат в %new_xml% -------------
Для чего может быть полезна выгрузка в XML:
- посмотреть разницу между двумя версиями разных хранилищ
- посмотреть разницу между версиями интерфейсов (конфигуратор не умеет)
- посмотреть идентификаторы объектов
- выгрузить cf для конфигураций на поддержке