/mcCompare.bsl

сравнение двух версий одного объекта метаданных из двух информационных баз

Primary Language1C Enterprise

Сравнение двух версий объекта метаданных

При возникновении потребности в сравнении объекта метаданных из двух информационных баз, требуется выполнить ряд тривиальных действий: выгрузить метаданное в файлы из двух баз и сравнить тексты модулей из двух получившихся каталогов. Скрипт на OneScript служит для ускорения этой задачи.

Попеременно выргужает указанный объект метаданных из обоих информационных баз в файлы и запускает средство сравнения для полученных данных WinMergeU

В качестве параметра нужно указать имя метаданного для выгрузки. Например: Документ.уатПутевойЛист

Предполагаются следующие имена:

  • currentSet.json - файл с постоянными настройками запуска
  • ibs - каталог json-файлов с настройками каждой информационной базы
  • left, right - названия сравниваемых сторон

currentSet.json

{
    "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                                                   

wm.png

Использованы плагины onescript: json, logos, v8runner

todo: опционально включать фильтр файлов при запуске WinMerge: *.bsl *.xml