Skip to content

Commit

Permalink
Добавлена функция работы с командной строкой
Browse files Browse the repository at this point in the history
#100 я знаю, что плохо пихать много ишью в один ПР, но девелоп безнадежно устарел и тут все связано)
  • Loading branch information
thvvmas committed Nov 15, 2024
1 parent 1fb42b0 commit 719623f
Show file tree
Hide file tree
Showing 2 changed files with 56 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,8 @@
ПреобразованноеЗначение = Формат(Значение, "ДФ=yyyy-MM-dd");
ИначеЕсли ТипJSON = Перечисления.пбп_ТипыJSON.Число Тогда
ПреобразованноеЗначение = Формат(Значение, "ЧГ=0");
ИначеЕсли ТипJSON = Перечисления.пбп_ТипыJSON.Строка Тогда
ПреобразованноеЗначение = Значение;
Иначе
ПреобразованноеЗначение = "";
КонецЕсли;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -615,6 +615,60 @@

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

#Область КоманднаяСтрока

// Выполняет указанную команду системы интеграционного потока
//
// Параметры:
// ИнтеграционныйПоток - СправочникСсылка.пбп_ИнтеграционныеПотоки - интеграционный поток, хранящий данные команды
// СтруктураАтрибутов - Структура - ключ - наименование атрибута, значение - значение атрибута
// СимволПараметра - Строка - символ инициализации параметра команды (по-умолчанию "/")
// РазделительПараметраЗначения - Строка - символ разделителя между именем и значением параметра (по-умолчанию " ")
// ПараметрыЗапускаКоманды - Структура - см. пбп_ФайловаяСистема.ПараметрыЗапускаПрограммы
// СтруктураИстории - Структура - см. пбп_ИнтеграцииСлужебный.ПолучитьСтруктуруЗаписиИстории
//
// Возвращаемое значение:
// Число, Строка - см. пбп_ФайловаяСистема.ЗапуститьПрограмму
//
Функция ВыполнитьКомандуСистемы(ИнтеграционныйПоток, СтруктураАтрибутов,

Check warning on line 633 in src/cf/CommonModules/пбп_ИнтеграцииСервер/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/cf/CommonModules/пбп_ИнтеграцииСервер/Ext/Module.bsl#L633

Уменьшите количество необязательных параметров c 4 до допустимого 3
СимволПараметра = "/", РазделительПараметраЗначения = " ",
ПараметрыЗапускаКоманды = Неопределено, СтруктураИстории = Неопределено) Экспорт

РеквизитыПотока = пбп_ОбщегоНазначенияСервер.ЗначенияРеквизитовОбъекта(
ИнтеграционныйПоток, "НастройкаИнтеграции.ИнтегрируемаяСистема, НастройкаИнтеграции.СтрокаПодключения, ТочкаВхода");

СтрокаАтрибутов = "";

Для Каждого КлючИЗначение Из СтруктураАтрибутов Цикл
Разделитель = ?(ПустаяСтрока(СтрокаАтрибутов), СимволПараметра, " " + СимволПараметра);
СтрокаАтрибутов = СтрокаАтрибутов + Разделитель + КлючИЗначение.Ключ
+ РазделительПараметраЗначения + """" + КлючИЗначение.Значение + """";
КонецЦикла;

ИтоговаяКоманда = СтрШаблон("%1 %2 %3", РеквизитыПотока.НастройкаИнтеграцииСтрокаПодключения,
РеквизитыПотока.ТочкаВхода, СтрокаАтрибутов);

Если ПараметрыЗапускаКоманды = Неопределено Тогда
ПараметрыЗапускаКоманды = пбп_ФайловаяСистемаПереадресация.ПараметрыЗапускаПрограммы();
ПараметрыЗапускаКоманды.ДождатьсяЗавершения = Истина;
КонецЕсли;

Если СтруктураИстории <> Неопределено Тогда
НачалоВызова = ТекущаяДатаСеанса();
КонецЕсли;

Результат = пбп_ФайловаяСистемаПереадресация.ЗапуститьПрограмму(ИтоговаяКоманда, ПараметрыЗапускаКоманды);

Check warning on line 660 in src/cf/CommonModules/пбп_ИнтеграцииСервер/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/cf/CommonModules/пбп_ИнтеграцииСервер/Ext/Module.bsl#L660

Проверьте запуск внешнего приложения

Если СтруктураИстории <> Неопределено Тогда
СтруктураИстории.ДлительностьВызова = ТекущаяДатаСеанса() - НачалоВызова;
КонецЕсли;

Возврат Результат;

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

#КонецОбласти // КоманднаяСтрока

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

#КонецОбласти // ПрограммныйИнтерфейс
Expand Down

0 comments on commit 719623f

Please sign in to comment.