diff --git "a/src/CommonModules/__\320\232\320\276\320\275\320\275\320\265\320\272\321\202\320\276\321\200HTTP/Ext/Module.bsl" "b/src/CommonModules/__\320\232\320\276\320\275\320\275\320\265\320\272\321\202\320\276\321\200HTTP/Ext/Module.bsl" index 74d3b32d..1d9b930d 100644 --- "a/src/CommonModules/__\320\232\320\276\320\275\320\275\320\265\320\272\321\202\320\276\321\200HTTP/Ext/Module.bsl" +++ "b/src/CommonModules/__\320\232\320\276\320\275\320\275\320\265\320\272\321\202\320\276\321\200HTTP/Ext/Module.bsl" @@ -1998,17 +1998,12 @@ КонецФункции Функция ПроксиПоУмолчанию(URL) - + ПроксиПоУмолчанию = Новый ИнтернетПрокси; - // BSLLS:ExecuteExternalCodeInCommonModule-off - ИмяОМПолученияФайловБСП = "ПолучениеФайловИзИнтернета"; - Если Метаданные.ОбщиеМодули.Найти(ИмяОМПолученияФайловБСП) <> Неопределено Тогда - СтруктураURL = РазобратьURL(URL); - Модуль = Вычислить(ИмяОМПолученияФайловБСП); - ПроксиПоУмолчанию = Модуль.ПолучитьПрокси(СтруктураURL.Схема); - КонецЕсли; - // BSLLS:ExecuteExternalCodeInCommonModule-on - + + СтруктураURL = РазобратьURL(URL); + ПроксиПоУмолчанию = __ПолучениеФайловИзИнтернетаСлужебный.ПолучитьПрокси(СтруктураURL.Схема); + Возврат ПроксиПоУмолчанию; КонецФункции diff --git "a/src/CommonModules/__\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" "b/src/CommonModules/__\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" index 6f43ed5d..63bc8e78 100644 --- "a/src/CommonModules/__\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" +++ "b/src/CommonModules/__\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" @@ -850,6 +850,7 @@ // Точка входа, где можно попытаться проверить подключена ли БСП Если Метаданные.ОбщиеМодули.Найти("СтандартныеПодсистемыСервер") <> Неопределено Тогда Попытка + УстановитьБезопасныйРежим(Истина); МодульБСП = Вычислить("СтандартныеПодсистемыСервер"); ВерсияБСП = МодульБСП.ВерсияБиблиотеки(); Исключение diff --git "a/src/CommonModules/__\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Ext/Module.bsl" "b/src/CommonModules/__\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Ext/Module.bsl" index 0f51870b..6438b747 100644 --- "a/src/CommonModules/__\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Ext/Module.bsl" +++ "b/src/CommonModules/__\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Ext/Module.bsl" @@ -481,10 +481,8 @@ НСтр("ru = 'Объект метаданных ""%1"" не существует.'"), Имя); КонецЕсли; - // АПК:488-выкл ВычислитьВБезопасномРежиме не используется, чтобы избежать вызова ОбщийМодуль рекурсивно. УстановитьБезопасныйРежим(Истина); Модуль = Вычислить(Имя); - // АПК:488-вкл Возврат Модуль; КонецФункции diff --git "a/src/CommonModules/__\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\270\320\265\320\244\320\260\320\271\320\273\320\276\320\262\320\230\320\267\320\230\320\275\321\202\320\265\321\200\320\275\320\265\321\202\320\260.xml" "b/src/CommonModules/__\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\270\320\265\320\244\320\260\320\271\320\273\320\276\320\262\320\230\320\267\320\230\320\275\321\202\320\265\321\200\320\275\320\265\321\202\320\260.xml" new file mode 100644 index 00000000..6ddc8c58 --- /dev/null +++ "b/src/CommonModules/__\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\270\320\265\320\244\320\260\320\271\320\273\320\276\320\262\320\230\320\267\320\230\320\275\321\202\320\265\321\200\320\275\320\265\321\202\320\260.xml" @@ -0,0 +1,23 @@ + + + + + __ПолучениеФайловИзИнтернета + + + ru + Получение файлов из Интернета + + + + false + false + true + true + true + false + false + DontUse + + + \ No newline at end of file diff --git "a/src/CommonModules/__\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\270\320\265\320\244\320\260\320\271\320\273\320\276\320\262\320\230\320\267\320\230\320\275\321\202\320\265\321\200\320\275\320\265\321\202\320\260/Ext/Module.bsl" "b/src/CommonModules/__\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\270\320\265\320\244\320\260\320\271\320\273\320\276\320\262\320\230\320\267\320\230\320\275\321\202\320\265\321\200\320\275\320\265\321\202\320\260/Ext/Module.bsl" new file mode 100644 index 00000000..e2106466 --- /dev/null +++ "b/src/CommonModules/__\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\270\320\265\320\244\320\260\320\271\320\273\320\276\320\262\320\230\320\267\320\230\320\275\321\202\320\265\321\200\320\275\320\265\321\202\320\260/Ext/Module.bsl" @@ -0,0 +1,129 @@ +// Библиотека проектных подсистем для упрощения разработки архитектуры на 1С: Предприятие 8, +// включая доработку типовых конфигураций. +// +// Copyright 2017-2024 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/ +// e-mail: ivssmirnov@1bit.com +// Версия: 1.0.0.1 +// +// Требования: платформа 1С версии 8.3.17 и выш + +#Область ПрограммныйИнтерфейс + +// Аналог метода БСП. Возвращает объект ИнтернетПрокси для доступа в Интернет. +// Допустимые протоколы для создания ИнтернетПрокси http, https, ftp и ftps. +// +// Параметры: +// URLИлиПротокол - Строка - url в формате [Протокол://]<Сервер>/<Путь к файлу на сервере>, +// либо идентификатор протокола (http, ftp, ...). +// +// Возвращаемое значение: +// ИнтернетПрокси - описывает параметры прокси-серверов для различных протоколов. +// Если не удалось распознать схему сетевой протокол, +// то будет создать прокси на основании протокола HTTP. +// +Функция ПолучитьПрокси(Знач URLИлиПротокол) Экспорт + + НастройкиПрокси = __ОбщегоНазначенияСлужебный.ХранилищеОбщихНастроекЗагрузить("НастройкаПроксиСервера", ""); + Возврат НовыйИнтернетПрокси(НастройкиПрокси, URLИлиПротокол); + +КонецФункции + +// Аналог метода БСП. Возвращает прокси по настройкам НастройкаПроксиСервера для заданного протокола Протокол. +// +// Параметры: +// НастройкаПроксиСервера - Соответствие из КлючИЗначение: +// * Ключ - Строка - см. ниже список возможных ключей. +// * Значение - Произвольный +// ИспользоватьПрокси - Булево - использовать ли прокси-сервер. +// НеИспользоватьПроксиДляЛокальныхАдресов - использовать ли прокси-сервер для локальных адресов. +// НеИспользоватьПроксиДляАдресов - Массив из Строка +// ИспользоватьСистемныеНастройки - Булево - использовать ли системные настройки прокси-сервера. +// Сервер - Строка - адрес прокси-сервера. +// Порт - Строка - порт прокси-сервера. +// Пользователь - Строка - имя пользователя для авторизации на прокси-сервере. +// Пароль - Строка - пароль пользователя. +// ИспользоватьАутентификациюОС - Булево - признак использования аутентификации средствами операционной системы. +// URLИлиПротокол - Строка - адрес ресурса или протокол, для которого устанавливаются параметры прокси сервера, +// например "https://1c.ru", "http", "https", "ftp", "ftps". +// +// Возвращаемое значение: +// ИнтернетПрокси +// +Функция НовыйИнтернетПрокси(НастройкаПроксиСервера, URLИлиПротокол) Экспорт + + Если НастройкаПроксиСервера = Неопределено Тогда + // Системные установки прокси-сервера. + Возврат Неопределено; + КонецЕсли; + + ИспользоватьПрокси = НастройкаПроксиСервера.Получить("ИспользоватьПрокси"); + Если Не ИспользоватьПрокси Тогда + // Не использовать прокси-сервер. + Возврат Новый ИнтернетПрокси(Ложь); + КонецЕсли; + + ИспользоватьСистемныеНастройки = НастройкаПроксиСервера.Получить("ИспользоватьСистемныеНастройки"); + Если ИспользоватьСистемныеНастройки Тогда + // Системные настройки прокси-сервера. + Возврат Новый ИнтернетПрокси(Истина); + КонецЕсли; + + ИспользоватьАутентификациюОС = НастройкаПроксиСервера.Получить("ИспользоватьАутентификациюОС"); + ИспользоватьАутентификациюОС = ?(ИспользоватьАутентификациюОС = Истина, Истина, Ложь); + + ДополнительныеНастройки = НастройкаПроксиСервера.Получить("ДополнительныеНастройкиПрокси"); + Если ТипЗнч(ДополнительныеНастройки) <> Тип("Соответствие") Тогда + ДополнительныеНастройки = Новый Соответствие; + КонецЕсли; + + // Настройки прокси-сервера, заданные вручную. + Прокси = Новый ИнтернетПрокси; + + Протоколы = СтрРазделить("http,https,ftp,ftps", ",", Ложь); + Для Каждого Протокол Из Протоколы Цикл + АдресСервера = НастройкаПроксиСервера["Сервер"]; + Порт = НастройкаПроксиСервера["Порт"]; + + ПроксиПоПротоколу = ДополнительныеНастройки[Протокол]; + Если ТипЗнч(ПроксиПоПротоколу) = Тип("Структура") Тогда + АдресСервера = ПроксиПоПротоколу.Адрес; + Порт = ПроксиПоПротоколу.Порт; + КонецЕсли; + + Если Не ЗначениеЗаполнено(Порт) Тогда + Порт = Неопределено; + КонецЕсли; + + Прокси.Установить(Протокол, АдресСервера, Порт, + НастройкаПроксиСервера["Пользователь"], НастройкаПроксиСервера["Пароль"], ИспользоватьАутентификациюОС); + КонецЦикла; + + Прокси.НеИспользоватьПроксиДляЛокальныхАдресов = НастройкаПроксиСервера["НеИспользоватьПроксиДляЛокальныхАдресов"]; + + АдресаИсключений = НастройкаПроксиСервера.Получить("НеИспользоватьПроксиДляАдресов"); + Если ТипЗнч(АдресаИсключений) = Тип("Массив") Тогда + Для каждого АдресИсключения Из АдресаИсключений Цикл + Прокси.НеИспользоватьПроксиДляАдресов.Добавить(АдресИсключения); + КонецЦикла; + КонецЕсли; + + Возврат Прокси; + +КонецФункции + +#КонецОбласти diff --git "a/src/CommonModules/__\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\270\320\265\320\244\320\260\320\271\320\273\320\276\320\262\320\230\320\267\320\230\320\275\321\202\320\265\321\200\320\275\320\265\321\202\320\260\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.xml" "b/src/CommonModules/__\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\270\320\265\320\244\320\260\320\271\320\273\320\276\320\262\320\230\320\267\320\230\320\275\321\202\320\265\321\200\320\275\320\265\321\202\320\260\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.xml" new file mode 100644 index 00000000..e2cf02e0 --- /dev/null +++ "b/src/CommonModules/__\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\270\320\265\320\244\320\260\320\271\320\273\320\276\320\262\320\230\320\267\320\230\320\275\321\202\320\265\321\200\320\275\320\265\321\202\320\260\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.xml" @@ -0,0 +1,23 @@ + + + + + __ПолучениеФайловИзИнтернетаСлужебный + + + ru + Получение файлов из Интернета служебный + + + + false + false + true + true + true + false + false + DontUse + + + \ No newline at end of file diff --git "a/src/CommonModules/__\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\270\320\265\320\244\320\260\320\271\320\273\320\276\320\262\320\230\320\267\320\230\320\275\321\202\320\265\321\200\320\275\320\265\321\202\320\260\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Ext/Module.bsl" "b/src/CommonModules/__\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\270\320\265\320\244\320\260\320\271\320\273\320\276\320\262\320\230\320\267\320\230\320\275\321\202\320\265\321\200\320\275\320\265\321\202\320\260\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Ext/Module.bsl" new file mode 100644 index 00000000..6d7db49e --- /dev/null +++ "b/src/CommonModules/__\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\270\320\265\320\244\320\260\320\271\320\273\320\276\320\262\320\230\320\267\320\230\320\275\321\202\320\265\321\200\320\275\320\265\321\202\320\260\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Ext/Module.bsl" @@ -0,0 +1,48 @@ +// Библиотека проектных подсистем для упрощения разработки архитектуры на 1С: Предприятие 8, +// включая доработку типовых конфигураций. +// +// Copyright 2017-2024 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/ +// e-mail: ivssmirnov@1bit.com +// Версия: 1.0.0.1 +// +// Требования: платформа 1С версии 8.3.17 и выш + +#Область СлужебныйПрограммныйИнтерфейс + +#Область ПереадресацияМетодов + +// См. __ПолучениеФайловИзИнтернета.ПолучитьПрокси. +Функция ПолучитьПрокси(Знач URLИлиПротокол) Экспорт + + Модуль = ПолучитьМодуль(); + Возврат Модуль.ПолучитьПрокси(URLИлиПротокол); + +КонецФункции + +#КонецОбласти + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Функция ПолучитьМодуль() + Возврат __ОбщегоНазначенияПовтИсп.ПолучитьОбщийМодуль("ПолучениеФайловИзИнтернета", "__ПолучениеФайловИзИнтернета"); +КонецФункции + +#КонецОбласти + diff --git a/src/Configuration.xml b/src/Configuration.xml index aa17736c..5571f36c 100644 --- a/src/Configuration.xml +++ b/src/Configuration.xml @@ -311,6 +311,8 @@ __Пользователи __ПользователиСлужебный __ПользователиКлиентСервер + __ПолучениеФайловИзИнтернета + __ПолучениеФайловИзИнтернетаСлужебный __ДокументыОбработкаЗаполнения __ДокументыОбработкаПроведения __ДокументыПередЗаписью