Skip to content

Commit

Permalink
Merge branch 'feature/vanessa-opensource#487' into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
realMaxA committed Feb 18, 2022
2 parents 7853b11 + 6b05d2b commit 260cf3b
Show file tree
Hide file tree
Showing 4 changed files with 96 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,7 @@
Процедура ЗарегистрироватьКоманду(Знач ИмяКоманды, Знач Парсер) Экспорт

ТекстОписания =
" Выгрузка информационной базы в файл.
|";
" Выгрузка информационной базы в файл.";

ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды,
ТекстОписания);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
///////////////////////////////////////////////////////////////////////////////////////////////////
//
// Выполнение команды/действия в 1С:Предприятие в режиме тонкого/толстого клиента с передачей запускаемых обработок и параметров
//
// TODO добавить фичи для проверки команды
//
// Служебный модуль с набором методов работы с командами приложения
//
// Структура модуля реализована в соответствии с рекомендациями
// oscript-app-template (C) EvilBeaver
//
///////////////////////////////////////////////////////////////////////////////////////////////////

#Использовать logos
#Использовать v8runner

Перем Лог;

///////////////////////////////////////////////////////////////////////////////////////////////////
// Прикладной интерфейс

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

ТекстОписания =
" Загрузка информационной базы из файла.
|";

ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды,
ТекстОписания);

Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "dtpath",
"Путь к файлу с данными информационной базы (*.dt)");

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

КонецПроцедуры // ЗарегистрироватьКоманду

// Выполняет логику команды
//
// Параметры:
// ПараметрыКоманды - Соответствие - Соответствие ключей командной строки и их значений
// ДополнительныеПараметры - Соответствие - дополнительные параметры (необязательно)
//
Функция ВыполнитьКоманду(Знач ПараметрыКоманды, Знач ДополнительныеПараметры = Неопределено) Экспорт

Лог = ДополнительныеПараметры.Лог;

ДанныеПодключения = ПараметрыКоманды["ДанныеПодключения"];

МенеджерКонфигуратора = Новый МенеджерКонфигуратора;
МенеджерКонфигуратора.Инициализация(
ДанныеПодключения.СтрокаПодключения, ДанныеПодключения.Пользователь, ДанныеПодключения.Пароль,
ПараметрыКоманды["--v8version"], ПараметрыКоманды["--uccode"],
ДанныеПодключения.КодЯзыка, ДанныеПодключения.КодЯзыкаСеанса
);

Попытка
МенеджерКонфигуратора.ЗагрузитьИнфобазуИзФайла(
ПараметрыКоманды["dtpath"]);
Исключение
МенеджерКонфигуратора.Деструктор();
ВызватьИсключение ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
КонецПопытки;

МенеджерКонфигуратора.Деструктор();

Возврат МенеджерКомандПриложения.РезультатыКоманд().Успех;
КонецФункции // ВыполнитьКоманду
25 changes: 25 additions & 0 deletions src/Классы/МенеджерКонфигуратора.os
Original file line number Diff line number Diff line change
Expand Up @@ -1220,6 +1220,31 @@

КонецПроцедуры // ВыгрузитьИнфобазуВФайл

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

Лог.Информация("Запускаю загрузку информационной базы из файла");
ТекущаяПроцедура = "ЗагрузитьИнфобазуИзФайла";

Попытка
УправлениеКонфигуратором.ЗагрузитьИнформационнуюБазу(ПутьКЗагружаемомуФайлуСДанными);
Текст = УправлениеКонфигуратором.ВыводКоманды();
Если Не ПустаяСтрока(Текст) Тогда
Лог.Информация(Текст);
КонецЕсли;
Исключение
Лог.Ошибка(УправлениеКонфигуратором.ВыводКоманды());
ВызватьИсключение ТекущаяПроцедура;
КонецПопытки;

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

КонецПроцедуры // ЗагрузитьИнфобазуИзФайла

Функция ВыполнитьСинтаксическийКонтроль(Знач КоллекцияПроверок,
РезультатПроверки,
Знач СтрокаПодключенияХранилище = "",
Expand Down
2 changes: 2 additions & 0 deletions src/Модули/ПараметрыСистемы.os
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@
мВозможныеКоманды.Вставить("ВыгрузитьКонфигурациюВФайл", "unload");
мВозможныеКоманды.Вставить("СоздатьФайлПоставки", "make-dist");
мВозможныеКоманды.Вставить("ВыгрузитьИнфобазуВФайл", "dump");
мВозможныеКоманды.Вставить("ЗагрузитьИнфобазуИзФайла", "restore");
мВозможныеКоманды.Вставить("ПроверкаСинтаксиса", "syntax-check");

мВозможныеКоманды.Вставить("ОбновитьИзХранилища", "loadrepo");
Expand Down Expand Up @@ -137,6 +138,7 @@
КлассыРеализацииКоманд[ВозможныеКоманды().ВыгрузитьКонфигурациюВФайл] = "КомандаВыгрузитьКонфигурациюВФайл";
КлассыРеализацииКоманд[ВозможныеКоманды().СоздатьФайлПоставки] = "КомандаСоздатьФайлПоставки";
КлассыРеализацииКоманд[ВозможныеКоманды().ВыгрузитьИнфобазуВФайл] = "КомандаВыгрузитьИнфобазуВФайл";
КлассыРеализацииКоманд[ВозможныеКоманды().ЗагрузитьИнфобазуИзФайла] = "КомандаЗагрузитьИнфобазуИзФайла";

КлассыРеализацииКоманд[ВозможныеКоманды().ОбновитьИзХранилища] = "КомандаОбновитьИзХранилища";
КлассыРеализацииКоманд[ВозможныеКоманды().СоздатьХранилище] = "КомандаСоздатьХранилище";
Expand Down

0 comments on commit 260cf3b

Please sign in to comment.