При возникновении потребности в сравнении объекта метаданных из двух информационных баз, требуется выполнить ряд тривиальных действий: выгрузить метаданное в файлы из двух баз и сравнить тексты модулей из двух получившихся каталогов. Скрипт на OneScript служит для ускорения этой задачи.
Попеременно выргужает указанный объект метаданных из обоих информационных баз в файлы и запускает средство сравнения для полученных данных WinMergeU
В качестве параметра нужно указать имя метаданного для выгрузки. Например: Документ.уатПутевойЛист
Предполагаются следующие имена:
- currentSet.json - файл с постоянными настройками запуска
- ibs - каталог json-файлов с настройками каждой информационной базы
- left, right - названия сравниваемых сторон
{
"path1C": { путь к запускаемому файлу платформы 1С },
"leftIB" : { имя json файла с настройками ИБ из каталога ibs без расширения для левой стороны },
"rightIB": { имя json файла с настройками ИБ из каталога ibs без расширения для правой стороны },
"diffTool": { Командная строка запуска средства сравнения WinMerge строки {LEFT} и {RIGHT} будут заменены описанием информационной базы}
}
{
"description": { наименование информационной базы },
"connString": { строка соединения с информационной базой },
"suuser": { имя пользователя ИБ },
"passwd": { пароль пользователя ИБ }
}
E:\1S\proj\mdComparation>oscript compare.bsl Документ.ахСписаниеБезнадежнойЗадолженности
ИНФОРМАЦИЯ - Сравнение двух версий метаданных: "compare.bsl" Имя метаданного: Документ.ахСписаниеБезнадежн
ойЗадолженности
ИНФОРМАЦИЯ - Выгружается МД из левой ИБ
ИНФОРМАЦИЯ - Выполняется выгрузка в файлы из left ИБ File=D:\bases\STORAGE\strgeKUCY;
ИНФОРМАЦИЯ - Выгружается МД из правой ИБ
ИНФОРМАЦИЯ - Выполняется выгрузка в файлы из right ИБ Srvr=obr-app-13;Ref=mc_bnu_oru;
ИНФОРМАЦИЯ - Запускается средство сравнения - WinMergeU
Использованы плагины onescript: json, logos, v8runner
todo: опционально включать фильтр файлов при запуске WinMerge: *.bsl *.xml