Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
///////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////
//
// Модуль основан на проекте v83unpack (https://github.com/xDrivenDevelopment/v83unpack)
// и является скорее глубоким рефакторингом под 1Script, нежели самостоятельной разработкой.
Expand Down Expand Up @@ -667,13 +667,15 @@

Перем ТаблицаВерсий;
Перем ТаблицаПользователей;
Перем ТаблицаМеток;

ЧтениеБазыДанных = Новый ЧтениеТаблицФайловойБазыДанных;
ЧтениеБазыДанных.ОткрытьФайл(ФайлХранилища);
Попытка
Таблицы = ЧтениеБазыДанных.ВыгрузитьТаблицыВXML("USERS;VERSIONS");
Таблицы = ЧтениеБазыДанных.ВыгрузитьТаблицыВXML("USERS;VERSIONS;LABELS");
ТаблицаВерсий = ЧтениеБазыДанных.ПрочитатьТаблицуИзXml(Таблицы["VERSIONS"]);
ТаблицаПользователей = ЧтениеБазыДанных.ПрочитатьТаблицуИзXml(Таблицы["USERS"]);
ТаблицаМеток = ЧтениеБазыДанных.ПрочитатьТаблицуИзXml(Таблицы["LABELS"]);
Исключение
ЧтениеБазыДанных.ЗакрытьФайл();
ВызватьИсключение;
Expand All @@ -683,8 +685,9 @@

ТаблицаВерсий = КонвертироватьТаблицуВерсийИзФорматаБД(ТаблицаВерсий);
ТаблицаПользователей = КонвертироватьТаблицуПользователейИзФорматаБД(ТаблицаПользователей);
ТаблицаМеток = КонвертироватьТаблицуМеток(ТаблицаМеток);

ДополнитьТаблицуВерсийИменамиАвторов(ТаблицаВерсий, ТаблицаПользователей);
ДополнитьТаблицуВерсийИменамиАвторов(ТаблицаВерсий, ТаблицаПользователей, ТаблицаМеток);
ТаблицаВерсий.Сортировать("НомерВерсии");

Возврат ТаблицаВерсий;
Expand Down Expand Up @@ -754,6 +757,19 @@
Возврат ТаблицаВерсий;
КонецФункции

Функция КонвертироватьТаблицуМеток(Знач ТаблицаБД)
ТаблицаМеток = НоваяТаблицаМеток();

Для Каждого СтрокаБД Из ТаблицаБД Цикл
НоваяСтрока = ТаблицаМеток.Добавить();
НоваяСтрока.НомерВерсии = Число(СтрокаБД.VERNUM);
НоваяСтрока.Метка = СтрокаБД.NAME;
КонецЦикла;

Возврат ТаблицаМеток;

КонецФункции

Функция КонвертироватьТаблицуПользователейИзФорматаБД(Знач ТаблицаБД)
ТаблицаПользователей = НоваяТаблицаПользователейХранилища();

Expand All @@ -769,6 +785,16 @@

КонецФункции

Функция НоваяТаблицаМеток()

Таблица = Новый ТаблицаЗначений;
Таблица.Колонки.Добавить("НомерВерсии");
Таблица.Колонки.Добавить("Метка");

Возврат Таблица;

КонецФункции

Функция НоваяТаблицаИсторииВерсий()

Таблица = Новый ТаблицаЗначений;
Expand All @@ -795,9 +821,24 @@

КонецФункции

Процедура ДополнитьТаблицуВерсийИменамиАвторов(Знач ТаблицаВерсий, Знач ТаблицаПользователей)
Процедура ДополнитьТаблицуВерсийИменамиАвторов(Знач ТаблицаВерсий, Знач ТаблицаПользователей, Знач ТаблицаМеток)

Для Каждого Строка Из ТаблицаВерсий Цикл
СтрокаМеток = ТаблицаМеток.Найти(Строка.НомерВерсии, "НомерВерсии");
Если Не СтрокаМеток = Неопределено Тогда
Если Врег(Лев(СтрокаМеток.Метка, 15)) = Врег("--GitSyncAuthor") Тогда
ПользовательДляЗамены = СокрЛП(Сред(СтрокаМеток.Метка, 17));
СтрокаПользователя = ТаблицаПользователей.Найти(ПользовательДляЗамены, "Автор");
Если СтрокаПользователя = Неопределено Тогда
Сообщение = "Не удалось найти пользователя для замены <%1> в номере версии <%2>, метка <%3> - ПолучитьТаблицуВерсийИзФайлаХранилища1С";
Лог.Ошибка(СтроковыеФункции.ПодставитьПараметрыВСтроку(Сообщение, ПользовательДляЗамены, Строка.НомерВерсии, СтрокаМеток.Метка));
Иначе
Строка.Автор = СтрокаПользователя.Автор;
Строка.ГУИД_Автора = СтрокаПользователя.ГУИД_Автора;
Продолжить;
КонецЕсли;
КонецЕсли;
КонецЕсли;
строкаПользователя = ТаблицаПользователей.Найти(Строка.ГУИД_Автора, "ГУИД_Автора");
Если строкаПользователя = Неопределено Тогда
Сообщение = "Не удалось найти автора коммита из хранилища 1С по номеру версии <%1>, комментарий <%2>, ГУИД-у <%3> - ПолучитьТаблицуВерсийИзФайлаХранилища1С";
Expand Down