mirror of
https://github.com/firstBitSportivnaya/PSSL.git
synced 2024-11-24 08:42:27 +02:00
Add functions for sftp linux (#113)
Добавлены функции для работы с SFTP на ОС Linux с помощью командной строки и утилит: curl, sshpass, expect
This commit is contained in:
parent
38c9027ad0
commit
b4b7c46a64
@ -174,12 +174,21 @@
|
||||
ЭлементНаследования = Справочники.пбп_ТипыИнтеграций
|
||||
.ПолучитьПредопределенныйЭлементНаследованияНастроекТипаИнтеграции(РеквизитыОбъекта.ТипИнтеграции);
|
||||
Если ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.Каталог
|
||||
Или ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.FTPРесурсы
|
||||
Или ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.ПочтовыйКлиент Тогда
|
||||
УстановитьВидимостьЭлементовДляТипаФайловыеОбмены();
|
||||
|
||||
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
|
||||
Элементы, "ПользовательскаяФункция", УстанавливаемоеСвойство,
|
||||
Элементы, ПользовательскаяФункция, УстанавливаемоеСвойство,
|
||||
РеквизитыОбъекта.ИспользоватьПользовательскиеФункции);
|
||||
ИначеЕсли ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.FTPРесурсы Тогда
|
||||
Элементы.ТочкаВхода.Заголовок = НСтр("ru = 'Путь к каталогу на сервере'");
|
||||
|
||||
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
|
||||
Элементы, "ТочкаВхода", УстанавливаемоеСвойство, Истина);
|
||||
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
|
||||
Элементы, "ПараметрыВхода", УстанавливаемоеСвойство, Ложь);
|
||||
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
|
||||
Элементы, ПользовательскаяФункция, УстанавливаемоеСвойство,
|
||||
РеквизитыОбъекта.ИспользоватьПользовательскиеФункции);
|
||||
ИначеЕсли ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.COM Тогда
|
||||
Элементы.ТочкаВхода.Заголовок = НСтр("ru = 'Функция / запрос'");
|
||||
|
@ -278,7 +278,7 @@
|
||||
пбп_ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
|
||||
Элементы, СписокНастроекСтрока, УстанавливаемоеСвойство, Ложь);
|
||||
ИначеЕсли ЭлементНаследования = Справочники.пбп_ТипыИнтеграций.FTPРесурсы Тогда
|
||||
Элементы.СтрокаПодключения.Заголовок = НСтр("ru = 'Путь к каталогу'");
|
||||
Элементы.СтрокаПодключения.Заголовок = НСтр("ru = 'Адрес сервера'");
|
||||
|
||||
УстановитьВидимостьЭлементовДляТипаФайловыеОбмены();
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -74,7 +74,7 @@
|
||||
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
|
||||
|
||||
Описание.Имя = "ПроектнаяБиблиотекаПодсистем";
|
||||
Описание.Версия = "1.0.2.5";
|
||||
Описание.Версия = "1.0.2.6";
|
||||
|
||||
// Требуется библиотека стандартных подсистем.
|
||||
Описание.ТребуемыеПодсистемы.Добавить("СтандартныеПодсистемы");
|
||||
|
@ -814,6 +814,52 @@
|
||||
|
||||
#Область МетодыАналогиБСП
|
||||
|
||||
// Аналог метода БСП. Определяет режим эксплуатации информационной базы файловый (Истина) или серверный (Ложь).
|
||||
// При проверке используется СтрокаСоединенияИнформационнойБазы, которую можно указать явно.
|
||||
//
|
||||
// Параметры:
|
||||
// СтрокаСоединенияИнформационнойБазы - Строка - параметр используется, если
|
||||
// нужно проверить строку соединения не текущей информационной базы.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Булево - Истина, если файловая.
|
||||
//
|
||||
Функция ИнформационнаяБазаФайловая(Знач СтрокаСоединенияИнформационнойБазы = "") Экспорт
|
||||
|
||||
Если ПустаяСтрока(СтрокаСоединенияИнформационнойБазы) Тогда
|
||||
СтрокаСоединенияИнформационнойБазы = СтрокаСоединенияИнформационнойБазы();
|
||||
КонецЕсли;
|
||||
Возврат СтрНайти(ВРег(СтрокаСоединенияИнформационнойБазы), "FILE=") = 1;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Аналог метода БСП. Возвращает Истина, если функциональная подсистема существует в конфигурации.
|
||||
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
|
||||
// У функциональной подсистемы снят флажок "Включать в командный интерфейс".
|
||||
// См. также ОбщегоНазначенияПереопределяемый.ПриОпределенииОтключенныхПодсистем
|
||||
// и ОбщегоНазначенияКлиент.ПодсистемаСуществует для вызова из клиентского кода.
|
||||
//
|
||||
// Параметры:
|
||||
// ПолноеИмяПодсистемы - Строка - полное имя объекта метаданных подсистема
|
||||
// без слов "Подсистема." и с учетом регистра символов.
|
||||
// Например: "СтандартныеПодсистемы.ВариантыОтчетов".
|
||||
//
|
||||
// Пример:
|
||||
// Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ВариантыОтчетов") Тогда
|
||||
// МодульВариантыОтчетов = ОбщегоНазначения.ОбщийМодуль("ВариантыОтчетов");
|
||||
// МодульВариантыОтчетов.<Имя метода>();
|
||||
// КонецЕсли;
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Булево - Истина, если подсистема существует.
|
||||
//
|
||||
Функция ПодсистемаСуществует(ПолноеИмяПодсистемы) Экспорт
|
||||
|
||||
ИменаПодсистем = пбп_СтандартныеПодсистемыСлужебныйПовтИсп.ИменаПодсистем();
|
||||
Возврат ИменаПодсистем.Получить(ПолноеИмяПодсистемы) <> Неопределено;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Аналог метода БСП. Возвращает ссылку на общий модуль или модуль менеджера по имени.
|
||||
//
|
||||
// Параметры:
|
||||
@ -1211,10 +1257,6 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
// Аналог метода БСП. Пока заглушка, см. ОбщегоНазначения.ПриНачалеВыполненияРегламентногоЗадания
|
||||
Процедура ПриНачалеВыполненияРегламентногоЗадания(РегламентноеЗадание = Неопределено) Экспорт
|
||||
КонецПроцедуры
|
||||
|
||||
// Аналог метода БСП. Возвращает структуру, содержащую значения реквизитов, прочитанные из информационной базы по ссылке на объект.
|
||||
// Рекомендуется использовать вместо обращения к реквизитам объекта через точку от ссылки на объект
|
||||
// для быстрого чтения отдельных реквизитов объекта из базы данных.
|
||||
@ -1477,6 +1519,25 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Аналог меотда БСП Возвращает код основного языка информационной базы, например "ru".
|
||||
// На котором программно записываются автогенерируемые строки в информационную базу.
|
||||
// Например, при начальном заполнении информационной базы данными из макета, автогенерации комментария
|
||||
// к проводке или определении значения параметра ИмяСобытия метода ЗаписьЖурналаРегистрации.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка
|
||||
//
|
||||
Функция КодОсновногоЯзыка() Экспорт
|
||||
|
||||
Если ПодсистемаСуществует("СтандартныеПодсистемы.Мультиязычность") Тогда
|
||||
МодульМультиязычностьСервер = ОбщийМодуль("МультиязычностьСервер");
|
||||
Возврат МодульМультиязычностьСервер.КодОсновногоЯзыка();
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Метаданные.ОсновнойЯзык.КодЯзыка;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Аналог метода БСП. Возвращает значения реквизитов, прочитанные из информационной базы для нескольких объектов.
|
||||
// Рекомендуется использовать вместо обращения к реквизитам объекта через точку от ссылки на объект
|
||||
// для быстрого чтения отдельных реквизитов объекта из базы данных.
|
||||
@ -1947,6 +2008,44 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
#Область ТекущееОкружение
|
||||
|
||||
// Аналог метода БСП. Возвращает Истина, если текущий сеанс выполняется на сервере, работающем под управлением ОС Windows.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Булево - Истина, если сервер работает под управлением ОС Windows.
|
||||
//
|
||||
Функция ЭтоWindowsСервер() Экспорт
|
||||
|
||||
СистемнаяИнформация = Новый СистемнаяИнформация;
|
||||
Возврат СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Windows_x86
|
||||
Или СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Windows_x86_64;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Аналог метода БСП. Возвращает Истина, если текущий сеанс выполняется на сервере, работающем под управлением ОС Linux.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Булево - Истина, если сервер работает под управлением ОС Linux.
|
||||
//
|
||||
Функция ЭтоLinuxСервер() Экспорт
|
||||
|
||||
СистемнаяИнформация = Новый СистемнаяИнформация;
|
||||
Возврат СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Linux_x86
|
||||
Или СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Linux_x86_64;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти // ТекущееОкружение
|
||||
|
||||
#Область Прочее
|
||||
|
||||
// Аналог метода БСП. Пока заглушка, см. ОбщегоНазначения.ПриНачалеВыполненияРегламентногоЗадания
|
||||
Процедура ПриНачалеВыполненияРегламентногоЗадания(РегламентноеЗадание = Неопределено) Экспорт
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти // Прочее
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ПользовательскиеФункции
|
||||
|
@ -128,6 +128,34 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// См. пбп_ОбщегоНазначенияСервер.ИнформационнаяБазаФайловая.
|
||||
Функция ИнформационнаяБазаФайловая(Знач СтрокаСоединенияИнформационнойБазы = "") Экспорт
|
||||
|
||||
Модуль = ПолучитьМодуль();
|
||||
Возврат Модуль.ИнформационнаяБазаФайловая(СтрокаСоединенияИнформационнойБазы);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#Область ТекущееОкружение
|
||||
|
||||
// См. пбп_ОбщегоНазначенияСервер.ЭтоWindowsСервер.
|
||||
Функция ЭтоWindowsСервер() Экспорт
|
||||
|
||||
Модуль = ПолучитьМодуль();
|
||||
Возврат Модуль.ЭтоWindowsСервер();
|
||||
|
||||
КонецФункции
|
||||
|
||||
// См. пбп_ОбщегоНазначенияСервер.ЭтоLinuxСервер.
|
||||
Функция ЭтоLinuxСервер() Экспорт
|
||||
|
||||
Модуль = ПолучитьМодуль();
|
||||
Возврат Модуль.ЭтоLinuxСервер();
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти // ТекущееОкружение
|
||||
|
||||
#Область СериализацияXML
|
||||
|
||||
// См. пбп_ОбщегоНазначенияСервер.ЗначениеВСтрокуXML.
|
||||
|
@ -107,10 +107,6 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
#Область МетодыАналогиБСП
|
||||
|
||||
// Аналог метода БСП.
|
||||
@ -143,8 +139,52 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
#Область ЗапускВнешнихПриложений
|
||||
|
||||
// Аналог метода БСП. Параметры:
|
||||
// КомандаЗапуска - Строка
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка
|
||||
//
|
||||
Функция БезопаснаяСтрокаКоманды(КомандаЗапуска) Экспорт
|
||||
|
||||
Результат = "";
|
||||
|
||||
Если ТипЗнч(КомандаЗапуска) = Тип("Строка") Тогда
|
||||
|
||||
ПроверитьСодержитНебезопасныеДействия(КомандаЗапуска);
|
||||
Результат = КомандаЗапуска;
|
||||
|
||||
ИначеЕсли ТипЗнч(КомандаЗапуска) = Тип("Массив") Тогда
|
||||
|
||||
Если КомандаЗапуска.Количество() > 0 Тогда
|
||||
ПроверитьСодержитНебезопасныеДействия(КомандаЗапуска[0]);
|
||||
Результат = МассивВСтрокуКоманды(КомандаЗапуска);
|
||||
Иначе
|
||||
ВызватьИсключение пбп_СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Ожидалось, что первый элемент массива %1 будет командой или путем к исполняемому файлу.'"),
|
||||
"КомандаЗапуска");
|
||||
КонецЕсли;
|
||||
|
||||
Иначе
|
||||
ВызватьИсключение пбп_СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Ожидалось, что значение %1 будет типа %2 или %3.'"),
|
||||
"КомандаЗапуска", "Строка", "Массив");
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти // МетодыАналогиБСП
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Функция ПолучитьМодуль()
|
||||
|
||||
#Если Клиент Тогда
|
||||
@ -159,4 +199,114 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
#Область МетодыАналогиБСП
|
||||
|
||||
#Если Не ВебКлиент И Не МобильныйКлиент Тогда
|
||||
|
||||
Функция СтрокаЗапускаКомандыWindows(СтрокаКоманды, ТекущийКаталог, ДождатьсяЗавершения, КодировкаИсполнения) Экспорт
|
||||
|
||||
НаборКоманд = "";
|
||||
|
||||
Если ЗначениеЗаполнено(КодировкаИсполнения) Тогда
|
||||
|
||||
Если КодировкаИсполнения = "OEM" Тогда
|
||||
КодировкаИсполнения = 437;
|
||||
ИначеЕсли КодировкаИсполнения = "CP866" Тогда
|
||||
КодировкаИсполнения = 866;
|
||||
ИначеЕсли КодировкаИсполнения = "UTF8" Тогда
|
||||
КодировкаИсполнения = 65001;
|
||||
КонецЕсли;
|
||||
|
||||
НаборКоманд = "(chcp " + Формат(КодировкаИсполнения, "ЧГ=") + ")";
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ПустаяСтрока(ТекущийКаталог) Тогда
|
||||
НаборКоманд = НаборКоманд + ?(ЗначениеЗаполнено(НаборКоманд), "&&", "") + "(cd /D """ + ТекущийКаталог + """)";
|
||||
КонецЕсли;
|
||||
НаборКоманд = НаборКоманд + ?(ЗначениеЗаполнено(НаборКоманд), "&&", "") + "(" + СокрЛП(СтрокаКоманды) + ")";
|
||||
|
||||
Возврат "cmd /S /C """ + НаборКоманд + """";
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецЕсли
|
||||
|
||||
#Область БезопаснаяСтрокаКоманды
|
||||
|
||||
Функция СодержитНебезопасныеДействия(Знач СтрокаКоманды)
|
||||
|
||||
Возврат СтрНайти(СтрокаКоманды, "${") <> 0
|
||||
Или СтрНайти(СтрокаКоманды, "$(") <> 0
|
||||
Или СтрНайти(СтрокаКоманды, "`") <> 0
|
||||
Или СтрНайти(СтрокаКоманды, "|") <> 0
|
||||
Или СтрНайти(СтрокаКоманды, ";") <> 0
|
||||
Или СтрНайти(СтрокаКоманды, "&") <> 0;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ПроверитьСодержитНебезопасныеДействия(Знач КомандаЗапуска)
|
||||
Если СодержитНебезопасныеДействия(КомандаЗапуска) Тогда
|
||||
ВызватьИсключение пбп_СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не удалось запустить программу.
|
||||
|Недопустимая строка команды
|
||||
|%1
|
||||
|
|
||||
|Строка команды не должна содержать символы: ""${"", ""$("", ""`"", ""|"", "";"", ""&"".'"),
|
||||
КомандаЗапуска);
|
||||
КонецЕсли;
|
||||
КонецПроцедуры
|
||||
|
||||
Функция МассивВСтрокуКоманды(КомандаЗапуска)
|
||||
|
||||
Результат = Новый Массив;
|
||||
НужныКавычки = Ложь;
|
||||
Для Каждого Аргумент Из КомандаЗапуска Цикл
|
||||
|
||||
Если Результат.Количество() > 0 Тогда
|
||||
Результат.Добавить(" ");
|
||||
КонецЕсли;
|
||||
|
||||
НужныКавычки = Аргумент = Неопределено
|
||||
Или ПустаяСтрока(Аргумент)
|
||||
Или СтрНайти(Аргумент, " ")
|
||||
Или СтрНайти(Аргумент, Символы.Таб)
|
||||
Или СтрНайти(Аргумент, "&")
|
||||
Или СтрНайти(Аргумент, "(")
|
||||
Или СтрНайти(Аргумент, ")")
|
||||
Или СтрНайти(Аргумент, "[")
|
||||
Или СтрНайти(Аргумент, "]")
|
||||
Или СтрНайти(Аргумент, "{")
|
||||
Или СтрНайти(Аргумент, "}")
|
||||
Или СтрНайти(Аргумент, "^")
|
||||
Или СтрНайти(Аргумент, "=")
|
||||
Или СтрНайти(Аргумент, ";")
|
||||
Или СтрНайти(Аргумент, "!")
|
||||
Или СтрНайти(Аргумент, "'")
|
||||
Или СтрНайти(Аргумент, "+")
|
||||
Или СтрНайти(Аргумент, ",")
|
||||
Или СтрНайти(Аргумент, "`")
|
||||
Или СтрНайти(Аргумент, "~")
|
||||
Или СтрНайти(Аргумент, "$")
|
||||
Или СтрНайти(Аргумент, "|");
|
||||
|
||||
Если НужныКавычки Тогда
|
||||
Результат.Добавить("""");
|
||||
КонецЕсли;
|
||||
|
||||
Результат.Добавить(СтрЗаменить(Аргумент, """", """"""));
|
||||
|
||||
Если НужныКавычки Тогда
|
||||
Результат.Добавить("""");
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат СтрСоединить(Результат);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти // БезопаснаяСтрокаКоманды
|
||||
|
||||
#КонецОбласти // МетодыАналогиБСП
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -37,4 +37,45 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Аналог метода БСП. Возвращает соответствие имен "функциональных" подсистем и значения Истина.
|
||||
// У "функциональной" подсистемы снят флажок "Включать в командный интерфейс".
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ФиксированноеСоответствие из КлючИЗначение:
|
||||
// * Ключ - Строка
|
||||
// * Значение - Булево
|
||||
//
|
||||
Функция ИменаПодсистем() Экспорт
|
||||
|
||||
Имена = Новый Соответствие;
|
||||
ВставитьИменаПодчиненныхПодсистем(Имена, Метаданные);
|
||||
|
||||
Возврат Новый ФиксированноеСоответствие(Имена);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Процедура ВставитьИменаПодчиненныхПодсистем(Имена, РодительскаяПодсистема, ИмяРодительскойПодсистемы = "")
|
||||
|
||||
Для Каждого ТекущаяПодсистема Из РодительскаяПодсистема.Подсистемы Цикл
|
||||
|
||||
Если ТекущаяПодсистема.ВключатьВКомандныйИнтерфейс Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
ИмяТекущейПодсистемы = ИмяРодительскойПодсистемы + ТекущаяПодсистема.Имя;
|
||||
Имена.Вставить(ИмяТекущейПодсистемы, Истина);
|
||||
|
||||
Если ТекущаяПодсистема.Подсистемы.Количество() = 0 Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
ВставитьИменаПодчиненныхПодсистем(Имена, ТекущаяПодсистема, ИмяТекущейПодсистемы + ".");
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти // СлужебныеПроцедурыИФункции
|
@ -30,6 +30,14 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// См. пбп_СтандартныеПодсистемыПовтИсп.ИменаПодсистем.
|
||||
Функция ИменаПодсистем() Экспорт
|
||||
|
||||
Модуль = ПолучитьМодуль();
|
||||
Возврат Модуль.ИменаПодсистем();
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
23
src/cf/CommonModules/пбп_ФайловаяСистема.xml
Normal file
23
src/cf/CommonModules/пбп_ФайловаяСистема.xml
Normal file
@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.16">
|
||||
<CommonModule uuid="c1c50d3e-2a6a-46c5-bbf5-41918e2ad5bd">
|
||||
<Properties>
|
||||
<Name>пбп_ФайловаяСистема</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Файловая система</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Global>false</Global>
|
||||
<ClientManagedApplication>false</ClientManagedApplication>
|
||||
<Server>true</Server>
|
||||
<ExternalConnection>true</ExternalConnection>
|
||||
<ClientOrdinaryApplication>true</ClientOrdinaryApplication>
|
||||
<ServerCall>false</ServerCall>
|
||||
<Privileged>false</Privileged>
|
||||
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
|
||||
</Properties>
|
||||
</CommonModule>
|
||||
</MetaDataObject>
|
355
src/cf/CommonModules/пбп_ФайловаяСистема/Ext/Module.bsl
Normal file
355
src/cf/CommonModules/пбп_ФайловаяСистема/Ext/Module.bsl
Normal file
@ -0,0 +1,355 @@
|
||||
// Библиотека проектных подсистем для упрощения разработки архитектуры на 1С: Предприятие 8,
|
||||
// включая доработку типовых конфигураций.
|
||||
//
|
||||
// Copyright First BIT company
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
// URL: https://github.com/firstBitSportivnaya/PSSL/
|
||||
//
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Файловая система: аналог модуля БСП
|
||||
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
#Область МетодыАналогиБСП
|
||||
|
||||
// Аналог метода БСП. Удаляет временный файл.
|
||||
//
|
||||
// Выбрасывает исключение, если передано имя не временного файла.
|
||||
//
|
||||
// Если временный файл не может быть удален (например, он занят каким-то процессом),
|
||||
// то в журнал регистрации записывается соответствующее предупреждение, а процедура завершается.
|
||||
//
|
||||
// Для совместного использования с методом ПолучитьИмяВременногоФайла,
|
||||
// после окончания работы с временным файлом.
|
||||
//
|
||||
// Параметры:
|
||||
// Путь - Строка - полный путь к временному файлу.
|
||||
//
|
||||
Процедура УдалитьВременныйФайл(Знач Путь) Экспорт
|
||||
|
||||
Если НЕ ЭтоИмяВременногоФайла(Путь) Тогда
|
||||
ВызватьИсключение пбп_СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Неверное значение параметра %1 в %2:
|
||||
|Файл не является временным ""%3"".'"),
|
||||
"Путь", "ФайловаяСистема.УдалитьВременныйФайл", Путь);
|
||||
КонецЕсли;
|
||||
|
||||
УдалитьВременныеФайлы(Путь);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#Область ЗапускВнешнихПриложений
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Процедуры и функции для работы с внешними приложениями.
|
||||
|
||||
// Аналог метода БСП. Конструктор параметров для ФайловаяСистема.ЗапуститьПрограмму.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура:
|
||||
// * ТекущийКаталог - Строка - задает текущий каталог запускаемого приложения.
|
||||
// * ДождатьсяЗавершения - Булево - Ложь - дожидаться завершения запущенного приложения
|
||||
// перед продолжением работы.
|
||||
// * ПолучитьПотокВывода - Булево - Ложь - результат, направленный в поток stdout,
|
||||
// если не указан ДождатьсяЗавершения - игнорируется.
|
||||
// * ПолучитьПотокОшибок - Булево - Ложь - ошибки, направленные в поток stderr,
|
||||
// если не указан ДождатьсяЗавершения - игнорируется.
|
||||
// * КодировкаПотоков - КодировкаТекста
|
||||
// - Строка - кодировка, используемая для чтения stdout и stderr.
|
||||
// По умолчанию используется для Windows "CP866", для остальных - "UTF-8".
|
||||
// * КодировкаИсполнения - Строка
|
||||
// - Число - кодировка, устанавливаемая в Windows с помощью команды chcp,
|
||||
// возможные значения: "OEM", "CP866", "UTF8" или номер кодовой страницы.
|
||||
// В Linux устанавливается переменной окружения "LANGUAGE" для конкретной команды,
|
||||
// возможные значения можно определить выполнив команду "locale -a", например "ru_RU.UTF-8".
|
||||
// В MacOS игнорируется.
|
||||
//
|
||||
Функция ПараметрыЗапускаПрограммы() Экспорт
|
||||
|
||||
Параметры = Новый Структура;
|
||||
Параметры.Вставить("ТекущийКаталог", "");
|
||||
Параметры.Вставить("ДождатьсяЗавершения", Ложь);
|
||||
Параметры.Вставить("ПолучитьПотокВывода", Ложь);
|
||||
Параметры.Вставить("ПолучитьПотокОшибок", Ложь);
|
||||
Параметры.Вставить("КодировкаПотоков", Неопределено);
|
||||
Параметры.Вставить("КодировкаИсполнения", Неопределено);
|
||||
|
||||
Возврат Параметры;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Запускает внешнюю программу на исполнение (например, *.exe, *bat),
|
||||
// или системную команду (например, ping, tracert или traceroute, обращаться к rac-клиенту),
|
||||
// Позволяет также получать код возврата и значения потоков вывода (stdout) и ошибок (stderr)
|
||||
//
|
||||
// При запуске внешней программы в пакетном режиме поток вывода и поток ошибок может возвращаться на не ожидаемом языке.
|
||||
// Для того чтобы передать внешней программе язык, на котором ожидается результат следует:
|
||||
// - указать язык в параметре запуска этой программы (если такой параметр предусмотрен).
|
||||
// Например, в пакетном режиме платформы 1С:Предприятие предусмотрен ключ "/L en";
|
||||
// - в других случаях явно установить кодировку исполнения пакетной команды.
|
||||
// См. свойство КодировкаИсполнения возвращаемого значения ФайловаяСистема.ПараметрыЗапускаПрограммы.
|
||||
//
|
||||
// Параметры:
|
||||
// КомандаЗапуска - Строка - командная строка для запуска программы.
|
||||
// - Массив - первый элемент массива, путь к исполняемому приложению,
|
||||
// остальные элементы массива - это передаваемые параметры,
|
||||
// массив соответствует тому, который получит вызываемая программа в argv.
|
||||
// ПараметрыЗапускаПрограммы - см. ФайловаяСистема.ПараметрыЗапускаПрограммы
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура:
|
||||
// * КодВозврата - Число - код возврата программы;
|
||||
// * ПотокВывода - Строка - результат работы программы, направленный в поток stdout;
|
||||
// * ПотокОшибок - Строка - ошибки исполнения программы, направленные в поток stderr.
|
||||
//
|
||||
// Пример:
|
||||
// // Простой запуск
|
||||
// ФайловаяСистема.ЗапуститьПрограмму("calc");
|
||||
//
|
||||
// // Запуск с ожиданием завершения
|
||||
// ПараметрыЗапускаПрограммы = ФайловаяСистема.ПараметрыЗапускаПрограммы();
|
||||
// ПараметрыЗапускаПрограммы.ДождатьсяЗавершения = Истина;
|
||||
// ФайловаяСистема.ЗапуститьПрограмму("C:\Program Files\1cv8\common\1cestart.exe",
|
||||
// ПараметрыЗапускаПрограммы);
|
||||
//
|
||||
// // Запуск с ожиданием завершения и получением потока вывода
|
||||
// ПараметрыЗапускаПрограммы = ФайловаяСистема.ПараметрыЗапускаПрограммы();
|
||||
// ПараметрыЗапускаПрограммы.ДождатьсяЗавершения = Истина;
|
||||
// ПараметрыЗапускаПрограммы.ПолучитьПотокВывода = Истина;
|
||||
// Результат = ФайловаяСистема("ping 127.0.0.1 -n 5", ПараметрыЗапускаПрограммы);
|
||||
// ОбщегоНазначений.СообщитьПользователю(Результат.ПотокВывода);
|
||||
//
|
||||
// // Запуск с ожиданием завершения и получением потока вывода и с конкатенацией команды запуска
|
||||
// ПараметрыЗапускаПрограммы = ФайловаяСистема.ПараметрыЗапускаПрограммы();
|
||||
// ПараметрыЗапускаПрограммы.ДождатьсяЗавершения = Истина;
|
||||
// ПараметрыЗапускаПрограммы.ПолучитьПотокВывода = Истина;
|
||||
// КомандаЗапуска = Новый Массив;
|
||||
// КомандаЗапуска.Добавить("ping");
|
||||
// КомандаЗапуска.Добавить("127.0.0.1");
|
||||
// КомандаЗапуска.Добавить("-n");
|
||||
// КомандаЗапуска.Добавить(5);
|
||||
// Результат = ФайловаяСистема.ЗапуститьПрограмму(КомандаЗапуска, ПараметрыЗапускаПрограммы);
|
||||
// ОбщегоНазначений.СообщитьПользователю(Результат.ПотокВывода);
|
||||
//
|
||||
Функция ЗапуститьПрограмму(Знач КомандаЗапуска, ПараметрыЗапускаПрограммы = Неопределено) Экспорт
|
||||
|
||||
// АПК:534-выкл методы безопасного запуска обеспечиваются этой функцией
|
||||
|
||||
СтрокаКоманды = пбп_ОбщегоНазначенияСлужебныйКлиентСервер.БезопаснаяСтрокаКоманды(КомандаЗапуска);
|
||||
|
||||
Если ПараметрыЗапускаПрограммы = Неопределено Тогда
|
||||
ПараметрыЗапускаПрограммы = ПараметрыЗапускаПрограммы();
|
||||
КонецЕсли;
|
||||
|
||||
ТекущийКаталог = ПараметрыЗапускаПрограммы.ТекущийКаталог;
|
||||
ДождатьсяЗавершения = ПараметрыЗапускаПрограммы.ДождатьсяЗавершения;
|
||||
ПолучитьПотокВывода = ПараметрыЗапускаПрограммы.ПолучитьПотокВывода;
|
||||
ПолучитьПотокОшибок = ПараметрыЗапускаПрограммы.ПолучитьПотокОшибок;
|
||||
КодировкаПотоков = ПараметрыЗапускаПрограммы.КодировкаПотоков;
|
||||
КодировкаИсполнения = ПараметрыЗапускаПрограммы.КодировкаИсполнения;
|
||||
|
||||
ПроверитьТекущийКаталог(СтрокаКоманды, ТекущийКаталог);
|
||||
|
||||
Если ДождатьсяЗавершения Тогда
|
||||
Если ПолучитьПотокВывода Тогда
|
||||
// BSLLS:MissingTemporaryFileDeletion-off
|
||||
ИмяФайлаПотокаВывода = ПолучитьИмяВременногоФайла("stdout.tmp");
|
||||
// BSLLS:MissingTemporaryFileDeletion-on
|
||||
СтрокаКоманды = СтрокаКоманды + " > """ + ИмяФайлаПотокаВывода + """";
|
||||
КонецЕсли;
|
||||
|
||||
Если ПолучитьПотокОшибок Тогда
|
||||
// BSLLS:MissingTemporaryFileDeletion-off
|
||||
ИмяФайлаПотокаОшибок = ПолучитьИмяВременногоФайла("stderr.tmp");
|
||||
// BSLLS:MissingTemporaryFileDeletion-on
|
||||
СтрокаКоманды = СтрокаКоманды + " 2>""" + ИмяФайлаПотокаОшибок + """";
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если КодировкаПотоков = Неопределено Тогда
|
||||
КодировкаПотоков = КодировкаСтандартныхПотоков();
|
||||
КонецЕсли;
|
||||
|
||||
// Для cmd не всегда активна текущая кодовая страница, поэтому всегда задаем по-умолчанию.
|
||||
Если КодировкаИсполнения = Неопределено И пбп_ОбщегоНазначенияСлужебный.ЭтоWindowsСервер() Тогда
|
||||
КодировкаИсполнения = "CP866";
|
||||
КонецЕсли;
|
||||
|
||||
КодВозврата = Неопределено;
|
||||
|
||||
Если пбп_ОбщегоНазначенияСлужебный.ЭтоWindowsСервер() Тогда
|
||||
|
||||
СтрокаКоманды = пбп_ОбщегоНазначенияСлужебныйКлиентСервер.СтрокаЗапускаКомандыWindows(
|
||||
СтрокаКоманды, ТекущийКаталог, ДождатьсяЗавершения, КодировкаИсполнения);
|
||||
|
||||
Если пбп_ОбщегоНазначенияСлужебный.ИнформационнаяБазаФайловая() Тогда
|
||||
// В файловой информационной базе показывать окно консоли не следует и в серверном контексте.
|
||||
Оболочка = Новый COMОбъект("Wscript.Shell");
|
||||
КодВозврата = Оболочка.Run(СтрокаКоманды, 0, ДождатьсяЗавершения);
|
||||
Оболочка = Неопределено;
|
||||
Иначе
|
||||
// BSLLS:ExternalAppStarting-off
|
||||
ЗапуститьПриложение(СтрокаКоманды, , ДождатьсяЗавершения, КодВозврата);
|
||||
// BSLLS:ExternalAppStarting-on
|
||||
КонецЕсли;
|
||||
|
||||
Иначе
|
||||
|
||||
Если пбп_ОбщегоНазначенияСлужебный.ЭтоLinuxСервер() И ЗначениеЗаполнено(КодировкаИсполнения) Тогда
|
||||
СтрокаКоманды = "LANGUAGE=" + КодировкаИсполнения + " " + СтрокаКоманды;
|
||||
КонецЕсли;
|
||||
|
||||
// BSLLS:ExternalAppStarting-off
|
||||
ЗапуститьПриложение(СтрокаКоманды, ТекущийКаталог, ДождатьсяЗавершения, КодВозврата);
|
||||
// BSLLS:ExternalAppStarting-on
|
||||
КонецЕсли;
|
||||
|
||||
ПотокВывода = "";
|
||||
ПотокОшибок = "";
|
||||
|
||||
Если ДождатьсяЗавершения Тогда
|
||||
Если ПолучитьПотокВывода Тогда
|
||||
ПотокВывода = ПрочитатьФайлЕслиСуществует(ИмяФайлаПотокаВывода, КодировкаПотоков);
|
||||
УдалитьВременныйФайл(ИмяФайлаПотокаВывода);
|
||||
КонецЕсли;
|
||||
|
||||
Если ПолучитьПотокОшибок Тогда
|
||||
ПотокОшибок = ПрочитатьФайлЕслиСуществует(ИмяФайлаПотокаОшибок, КодировкаПотоков);
|
||||
УдалитьВременныйФайл(ИмяФайлаПотокаОшибок);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Результат = Новый Структура;
|
||||
Результат.Вставить("КодВозврата", КодВозврата);
|
||||
Результат.Вставить("ПотокВывода", ПотокВывода);
|
||||
Результат.Вставить("ПотокОшибок", ПотокОшибок);
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
// АПК:534-вкл
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти // МетодыАналогиБСП
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
// Аналог метода БСП.
|
||||
Процедура УдалитьВременныеФайлы(Знач Путь)
|
||||
|
||||
Попытка
|
||||
УдалитьФайлы(Путь);
|
||||
Исключение
|
||||
пбп_ЖурналРегистрацииСлужебный.ДобавитьСообщениеДляЖурналаРегистрации(
|
||||
НСтр("ru = 'Стандартные подсистемы'", пбп_ОбщегоНазначенияСервер.КодОсновногоЯзыка()),
|
||||
УровеньЖурналаРегистрации.Ошибка, , ,
|
||||
пбп_СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не удалось удалить временный файл ""%1"" по причине:
|
||||
|%2'"),
|
||||
Путь,
|
||||
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())));
|
||||
КонецПопытки;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Аналог метода БСП.
|
||||
Функция ЭтоИмяВременногоФайла(Путь)
|
||||
|
||||
// Ожидается, что Путь получен методом ПолучитьИмяВременногоФайла().
|
||||
// Перед проверкой разворачиваем слэши в одну сторону.
|
||||
Возврат СтрНачинаетсяС(СтрЗаменить(Путь, "/", "\"), СтрЗаменить(КаталогВременныхФайлов(), "/", "\"));
|
||||
|
||||
КонецФункции
|
||||
|
||||
#Область ЗапуститьПрограмму
|
||||
|
||||
// Аналог метода БСП.
|
||||
Процедура ПроверитьТекущийКаталог(СтрокаКоманды, ТекущийКаталог)
|
||||
|
||||
Если Не ПустаяСтрока(ТекущийКаталог) Тогда
|
||||
|
||||
ФайлИнфо = Новый Файл(ТекущийКаталог);
|
||||
|
||||
Если Не ФайлИнфо.Существует() Тогда
|
||||
ВызватьИсключение пбп_СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не удалось запустить программу
|
||||
|%1
|
||||
|по причине:
|
||||
|Не существует каталог %2
|
||||
|%3'"),
|
||||
СтрокаКоманды, "ТекущийКаталог", ТекущийКаталог);
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ФайлИнфо.ЭтоКаталог() Тогда
|
||||
ВызватьИсключение пбп_СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не удалось запустить программу
|
||||
|%1
|
||||
|по причине:
|
||||
|%2 не является каталогом
|
||||
|%3'"),
|
||||
СтрокаКоманды, "ТекущийКаталог", ТекущийКаталог);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Аналог метода БСП.
|
||||
Функция ПрочитатьФайлЕслиСуществует(Путь, Кодировка)
|
||||
|
||||
Результат = Неопределено;
|
||||
ФайлИнфо = Новый Файл(Путь);
|
||||
|
||||
Если ФайлИнфо.Существует() Тогда
|
||||
|
||||
ЧтениеПотокаОшибок = Новый ЧтениеТекста(Путь, Кодировка);
|
||||
Результат = ЧтениеПотокаОшибок.Прочитать();
|
||||
ЧтениеПотокаОшибок.Закрыть();
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если Результат = Неопределено Тогда
|
||||
Результат = "";
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// // Аналог метода БСП. Возвращает кодировку стандартных поток вывода и ошибок, используемую в текущей ОС.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// КодировкаТекста
|
||||
//
|
||||
Функция КодировкаСтандартныхПотоков()
|
||||
|
||||
Если пбп_ОбщегоНазначенияСлужебный.ЭтоWindowsСервер() Тогда
|
||||
Кодировка = "CP866";
|
||||
Иначе
|
||||
Кодировка = "UTF-8";
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Кодировка;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
23
src/cf/CommonModules/пбп_ФайловаяСистемаПереадресация.xml
Normal file
23
src/cf/CommonModules/пбп_ФайловаяСистемаПереадресация.xml
Normal file
@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.16">
|
||||
<CommonModule uuid="403f9103-b5f2-4022-9064-8ff8ebd8e1c8">
|
||||
<Properties>
|
||||
<Name>пбп_ФайловаяСистемаПереадресация</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Файловая система переадресация</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Global>false</Global>
|
||||
<ClientManagedApplication>false</ClientManagedApplication>
|
||||
<Server>true</Server>
|
||||
<ExternalConnection>true</ExternalConnection>
|
||||
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
|
||||
<ServerCall>false</ServerCall>
|
||||
<Privileged>false</Privileged>
|
||||
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
|
||||
</Properties>
|
||||
</CommonModule>
|
||||
</MetaDataObject>
|
@ -0,0 +1,57 @@
|
||||
// Библиотека проектных подсистем для упрощения разработки архитектуры на 1С: Предприятие 8,
|
||||
// включая доработку типовых конфигураций.
|
||||
//
|
||||
// Copyright First BIT company
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
// URL: https://github.com/firstBitSportivnaya/PSSL/
|
||||
//
|
||||
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
// См. пбп_ФайловаяСистема.УдалитьВременныйФайл.
|
||||
Процедура УдалитьВременныйФайл(Знач Путь) Экспорт
|
||||
|
||||
Модуль = ПолучитьМодуль();
|
||||
Модуль.УдалитьВременныйФайл(Путь);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// См. пбп_ФайловаяСистема.ПараметрыЗапускаПрограммы.
|
||||
Процедура ПараметрыЗапускаПрограммы() Экспорт
|
||||
|
||||
Модуль = ПолучитьМодуль();
|
||||
Модуль.ПараметрыЗапускаПрограммы();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// См. пбп_ФайловаяСистема.ЗапуститьПрограмму.
|
||||
Процедура ЗапуститьПрограмму(Знач КомандаЗапуска, ПараметрыЗапускаПрограммы = Неопределено) Экспорт
|
||||
|
||||
Модуль = ПолучитьМодуль();
|
||||
// BSLLS:ExternalAppStarting-off
|
||||
Модуль.ЗапуститьПрограмму(КомандаЗапуска, ПараметрыЗапускаПрограммы);
|
||||
// BSLLS:ExternalAppStarting-on
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Функция ПолучитьМодуль()
|
||||
Возврат пбп_ОбщегоНазначенияПовтИсп.ПереадресацияОбщегоМодуля("ФайловаяСистема", "пбп_ФайловаяСистема");
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
@ -57,7 +57,7 @@
|
||||
<xr:Item xsi:type="xr:MDObjectRef">Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</xr:Item>
|
||||
</DefaultRoles>
|
||||
<Vendor>Первый БИТ</Vendor>
|
||||
<Version>1.0.2.5</Version>
|
||||
<Version>1.0.2.6</Version>
|
||||
<UpdateCatalogAddress/>
|
||||
<IncludeHelpInContents>false</IncludeHelpInContents>
|
||||
<UseManagedFormInOrdinaryApplication>false</UseManagedFormInOrdinaryApplication>
|
||||
@ -318,6 +318,8 @@
|
||||
<CommonModule>пбп_СтроковыеФункцииКлиентСервер</CommonModule>
|
||||
<CommonModule>пбп_СтроковыеФункцииСлужебныйКлиентСервер</CommonModule>
|
||||
<CommonModule>пбп_СхемыЗапросов</CommonModule>
|
||||
<CommonModule>пбп_ФайловаяСистема</CommonModule>
|
||||
<CommonModule>пбп_ФайловаяСистемаПереадресация</CommonModule>
|
||||
<EventSubscription>пбп_ДокументыОбработкаЗаполнения</EventSubscription>
|
||||
<EventSubscription>пбп_ДокументыОбработкаПроведения</EventSubscription>
|
||||
<EventSubscription>пбп_ДокументыОбработкаПроверкиЗаполнения</EventSubscription>
|
||||
|
@ -56,6 +56,8 @@
|
||||
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_СхемыЗапросов</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">DefinedType.пбп_Пользователи</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">DefinedType.пбп_УчетныеЗаписиЭлектроннойПочты</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_ФайловаяСистема</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_ФайловаяСистемаПереадресация</xr:Item>
|
||||
</Content>
|
||||
</Properties>
|
||||
<ChildObjects/>
|
||||
|
Loading…
Reference in New Issue
Block a user