Skip to content

Commit

Permalink
Исправление замечаний Сонара
Browse files Browse the repository at this point in the history
  • Loading branch information
yukon39 committed Nov 14, 2024
1 parent 9c959ef commit 95feb68
Show file tree
Hide file tree
Showing 11 changed files with 165 additions and 58 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,16 @@
#Область ОписаниеПеременных

Перем Лог; // Экземпляр логгера
Перем КорневойПутьПроекта;
Перем КорневойПутьПроекта; // Путь к корневой папке проекта

// Параметры команды
Перем ДанныеПодключения;
Перем ПараметрыХранилища;
Перем РежимыРеструктуризации;
Перем РежимРазработчика;
Перем ПутьКФайлуКонфигурации;
Перем ПутьКИсходникам;
Перем ПутьКФайлуВыгрузки;
Перем ДанныеПодключения; // Данные подключения к ИБ
Перем ПараметрыХранилища; // Параметры подключения к хранилищу
Перем РежимыРеструктуризации; // Доступные режимы реструктуризации
Перем РежимРазработчика; // Режим разработчика
Перем ПутьКФайлуКонфигурации; // Путь к файлу конфигурации
Перем ПутьКИсходникам; // Путь к исходным файлам кофнигурации
Перем ПутьКФайлуВыгрузки; // Путь к файлу выгрузки информационной базы

#КонецОбласти

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,22 @@
// oscript-app-template (C) EvilBeaver
//
///////////////////////////////////////////////////////////////////

#Использовать gitrunner

#Область ОписаниеПеременных

Перем Лог; // Экземпляр логгера
Перем КорневойПутьПроекта;

Перем ДанныеПодключения;
Перем ПараметрыХранилища;
Перем РежимыРеструктуризации;
Перем РежимРазработчика;
Перем ПутьКИсходникам;
Перем ПутьКФайлуВыгрузки;
Перем ИнкрементальнаяЗагрузкаGit;
Перем СниматьСПоддержки;
Перем КорневойПутьПроекта; // Путь к корневой папке проекта

Перем ДанныеПодключения; // Данные подключения к ИБ
Перем ПараметрыХранилища; // Параметры подключения к хранилищу
Перем РежимыРеструктуризации; // Доступные режимы реструктуризации
Перем РежимРазработчика; // Режим разработчика
Перем ПутьКИсходникам; // Путь к исходным файлам кофнигурации
Перем ПутьКФайлуВыгрузки; // Путь к файлу выгрузки информационной базы
Перем ИнкрементальнаяЗагрузкаGit; // Использовать инкрементальную загрузку из репозитория git
Перем СниматьСПоддержки; // Снимать конфигурацию с поддержки перед загрузкой

#КонецОбласти

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,21 +9,21 @@
//
///////////////////////////////////////////////////////////////////////////////////////////////////

#Использовать logos
#Использовать v8runner
#Область ОписаниеПеременных

Перем Лог;
Перем МенеджерКонфигуратора;
Перем МенеджерВерсий;
Перем Лог; // Экземпляр логгера
Перем МенеджерКонфигуратора; // Экземпляр менеджера работы с конфигурацией
Перем МенеджерВерсий; // Эксземпляр менеджера работы с версиями

// Параметры команды
Перем ИмяФайлаПоставки;
Перем КаталогИсходников;
Перем НомерСборки;
Перем ЗагружатьВТекущую;
Перем ИмяФайлаПоставки; // Путь к файлу конфигурации поставки
Перем КаталогИсходников; // Каталог с исходниками конфигурации
Перем НомерСборки; // Текущий номер сборки
Перем ЗагружатьВТекущую; // Флаг загрузки в текущую информационную базу

///////////////////////////////////////////////////////////////////////////////////////////////////
// Прикладной интерфейс
#КонецОбласти

#Область ОбработчикиСобытий

Процедура ЗарегистрироватьКоманду(Знач ИмяКоманды, Знач Парсер) Экспорт

Expand All @@ -41,7 +41,8 @@
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--src", "Каталог с исходниками конфигурации");
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--build-number", "Номер сборки");
Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "--current", "Флаг загрузки в указанную базу или -с");
Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "-c", "Флаг загрузки в указанную базу, краткая форма от --current");
Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "-c",
"Флаг загрузки в указанную базу, краткая форма от --current");

Парсер.ДобавитьКоманду(ОписаниеКоманды);

Expand All @@ -53,6 +54,9 @@
// ПараметрыКоманды - Соответствие - Соответствие ключей командной строки и их значений
// ДополнительныеПараметры - Соответствие - дополнительные параметры (необязательно)
//
// Возвращаемое значение:
// Число - Код возврата команды.
//
Функция ВыполнитьКоманду(Знач ПараметрыКоманды, Знач ДополнительныеПараметры = Неопределено) Экспорт

Лог = ДополнительныеПараметры.Лог;
Expand Down Expand Up @@ -86,6 +90,10 @@

КонецФункции // ВыполнитьКоманду

#КонецОбласти

#Область СлужебныеПроцедурыИФункции

Процедура СоздатьФайлПоставки()

Если ЗначениеЗаполнено(КаталогИсходников) Тогда
Expand Down Expand Up @@ -119,3 +127,5 @@
КонецЦикла;

КонецПроцедуры

#КонецОбласти
93 changes: 85 additions & 8 deletions src/Классы/МенеджерIbcmd.os
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,13 @@

КонецПроцедуры

// Создать новую файловую базу из файла выгрузки или пустую.
//
// Параметры:
// КаталогБазы - Строка - Каталог информационной базы
// ПутьКШаблону - Строка - Путь к файлу выгрузки конфигурации.
// ИмяБазыВСписке - Строка - Имя базы для показа в списке баз стартера 1С.
//
Процедура СоздатьФайловуюБазу(Знач КаталогБазы, Знач ПутьКШаблону = "", Знач ИмяБазыВСписке = "") Экспорт

ОбщиеМетоды.ОбеспечитьПустойКаталог(Новый Файл(КаталогБазы));
Expand All @@ -55,6 +62,14 @@

КонецПроцедуры

// Создать информационную базу из исходников
//
// Параметры:
// ВходнойКаталог - Строка - Каталог с исходниками конфигурации
// СписокФайловДляЗагрузки - Строка, Массив из Строка - Файлы для инкрементальной загрузки.
// СниматьСПоддержки - Булево - Снимать конфигурацию с поддержки перед загрузкой.
// ОбновитьФайлВерсий - Булево - Обновлять файл версий метаданных.
//
Процедура СобратьИзИсходниковТекущуюКонфигурацию(Знач ВходнойКаталог,
Знач СписокФайловДляЗагрузки = "", СниматьСПоддержки = Ложь, ОбновитьФайлВерсий = Истина) Экспорт

Expand Down Expand Up @@ -88,7 +103,13 @@
// ПутьКВыгружаемомуФайлуСДанными - Строка - Путь к результату - выгружаемому файлу с данными (*.dt)
//
Процедура ВыгрузитьИнфобазуВФайл(Знач ПутьКВыгружаемомуФайлуСДанными) Экспорт

Лог.Информация("Запускаю выгрузку информационной базы в файл");

УправлениеИБ.ВыгрузитьДанныеИБ(ПутьКВыгружаемомуФайлуСДанными);

Лог.Информация("Выгрузка в файл завершена.");

КонецПроцедуры

// Загружает информационную базу из файла
Expand All @@ -98,59 +119,101 @@
// КоличествоЗаданий - Число - Количество заданий (потоков) загрузки из файла с данными
//
Процедура ЗагрузитьИнфобазуИзФайла(Знач ПутьКЗагружаемомуФайлуСДанными, Знач КоличествоЗаданий = 0) Экспорт

Лог.Информация("Запускаю загрузку информационной базы из файла");

УправлениеИБ.ЗагрузитьДанныеИБ(ПутьКЗагружаемомуФайлуСДанными);

Лог.Информация("Загрузка из файла завершена.");

КонецПроцедуры

// Загружает файл конфигурации в текущую базу данных.
//
// Параметры:
// ПутьКФайлу - Строка - Путь к файлу *.cf
// СниматьСПоддержки - Булево - Перед загрузкой снять текущую конфигурацию ИБ с поддержки.
//
Процедура ЗагрузитьФайлКонфигурации(Знач ПутьКФайлу, Знач СниматьСПоддержки = Истина) Экспорт

ИмяРасширения = "";

Лог.Информация("Загружаем файл конфигурации %1", ПутьКФайлу);

Если СниматьСПоддержки Тогда
УправлениеИБ.СнятьСПоддержки();
КонецЕсли;

УправлениеИБ.ЗагрузитьКонфигурацию(ПутьКФайлу, ИмяРасширения);

Лог.Информация("Загрузка конфигурации из файла cf успешно завершена!");

КонецПроцедуры

// Обновить конфигурацию базы данных
//
// Параметры:
// ДинамическоеОбновление - Булево - Выполнять динамическое обновление.
//
Процедура ОбновитьКонфигурациюБазыДанных(ДинамическоеОбновление = Ложь) Экспорт

Если ДинамическоеОбновление Тогда
РежимДинамическогоОбновления = "disable";
Иначе
РежимДинамическогоОбновления = "auto";
Иначе
РежимДинамическогоОбновления = "disable";
КонецЕсли;
ЗавершатьСеансы = "force";

ЗавершатьСеансы = "force";
ИмяРасширения = "";

Лог.Информация("Запускаю обновление конфигурации БД");

УправлениеИБ.ОбновитьКонфигурациюБазыДанных(ИмяРасширения, РежимДинамическогоОбновления, ЗавершатьСеансы);

Лог.Информация("Обновление конфигурации БД завершено.");

КонецПроцедуры

// ОбновитьРасширение
// Обновить конфигурацию базы данных для расширения
//
// Параметры:
// ИмяРасширения - Строка - <описание параметра>
// ИмяРасширения - Строка - имя расширения
//
Процедура ОбновитьРасширение(Знач ИмяРасширения) Экспорт

РежимДинамическогоОбновления = "disable";
ЗавершатьСеансы = "force";

Лог.Информация("Запускаю обновление конфигурации БД для расширения %1", ИмяРасширения);

УправлениеИБ.ОбновитьКонфигурациюБазыДанных(ИмяРасширения, РежимДинамическогоОбновления, ЗавершатьСеансы);

Лог.Информация("Обновление конфигурации БД для расширения %1 завершено.", ИмяРасширения);

КонецПроцедуры

// Вывести в консоль список всех расширений информационной базы.
//
Процедура ПоказатьСписокВсехРасширенийКонфигурации() Экспорт

СписокРасширений = УправлениеИБ.СписокРасширений();
Лог.Информация("Список расширений конфигурации:%2%1", СписокРасширений, Символы.ПС);

КонецПроцедуры

// Выгружает файл конфигурации из ИБ
//
// Параметры:
// ПутьКНужномуФайлуКонфигурации - Строка - Путь к выгружаемому файлу конфигурации (*.cf)
//
Процедура ВыгрузитьКонфигурациюВФайл(Знач ПутьКНужномуФайлуКонфигурации) Экспорт

Лог.Информация("Запускаю выгрузку конфигурации в файл");

УправлениеИБ.ВыгрузитьКонфигурациюВФайл(ПутьКНужномуФайлуКонфигурации);

Лог.Информация("Выгрузка в файл завершена.");

КонецПроцедуры

// Разбор текущей конфигураций на исходники штатной выгрузкой 1С
Expand All @@ -159,7 +222,8 @@
// КаталогВыгрузки - Строка - Путь к каталогу выгрузки
// ФайлВерсии - Строка - Путь к файлу версии
// ТолькоИзмененные - Булево - Выгружать только измененные файлы для ускорения выгрузки
// ИспользоватьПереименования - Булево - Переименовывать файлы в удобные имена и раскладывать по папкам согласно иерархии метаданных
// ИспользоватьПереименования - Булево - Переименовывать файлы в удобные имена и раскладывать
// по папкам согласно иерархии метаданных
//
Процедура РазобратьНаИсходникиТекущуюКонфигурацию(КаталогВыгрузки, Знач ФайлВерсии = "",
Знач ТолькоИзмененные = Истина,
Expand Down Expand Up @@ -209,7 +273,8 @@
// ФайлКонфигурации - Строка - Путь к источнику - выгружаемому файлу конфигурации (*.cf)
// ВыходнойКаталог - Строка - Путь к каталогу выгрузки
// ФайлВерсии - Строка - Путь к файлу версии
// ИспользоватьПереименования - Булево - Переименовывать файлы в удобные имена и раскладывать по папкам согласно иерархии метаданных
// ИспользоватьПереименования - Булево - Переименовывать файлы в удобные имена и раскладывать
// по папкам согласно иерархии метаданных
//
Процедура ВыгрузитьКонфигурациюВИсходники(Знач ФайлКонфигурации, Знач ВыходнойКаталог,
Знач ФайлВерсии = "", Знач ИспользоватьПереименования = Ложь) Экспорт
Expand All @@ -219,14 +284,25 @@

КонецПроцедуры

// Собирает из исходников расширение с указанным имененм
//
// Параметры:
// Каталог - Строка - путь каталогу с иходниками расширения
// ИмяРасширения - Строка - Имя расширения
// Обновить - Булево - Признак обновления расширения в базе, имеет смысл только на пустой базе или первой загрузке.
//
Процедура СобратьИзИсходниковРасширение(Каталог, ИмяРасширения, Обновить = Ложь) Экспорт

Лог.Информация("Выполняю сборку/загрузку расширения %1 из каталога %2", ИмяРасширения, Каталог);

УправлениеИБ.ЗагрузитьКонфигурациюИзФайлов(Каталог, ИмяРасширения);

Если Обновить Тогда
УправлениеИБ.ОбновитьКонфигурациюБазыДанных(ИмяРасширения);
КонецЕсли;

Лог.Информация("Сборка/загрузка расширения %1 завершена", ИмяРасширения);

КонецПроцедуры

// Выгружает файл расширения из ИБ
Expand Down Expand Up @@ -305,7 +381,8 @@
КонецЕсли;

Возврат ИзмененияКонфигурации;
КонецФункции
КонецФункции

#КонецОбласти

#Область ОбработчикиСобытий
Expand Down
Loading

0 comments on commit 95feb68

Please sign in to comment.