1
0
mirror of https://github.com/firstBitSportivnaya/PSSL.git synced 2024-11-24 08:42:27 +02:00

Fixed bug with looping (#68)

Исправлена ошибка с зацикливанием вызова при существовании БСП
This commit is contained in:
DenisUshakov 2024-05-08 12:54:09 +03:00 committed by GitHub
parent f17690e9fb
commit f5b9f0d42e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
12 changed files with 57 additions and 39 deletions

View File

@ -38,7 +38,7 @@
#Область СлужебныеПроцедурыИФункции
Функция ПолучитьМодуль()
Возврат __ОбщегоНазначенияПовтИсп.ОбщийМодуль("ЖурналРегистрации", "__ЖурналРегистрации");
Возврат __ОбщегоНазначенияПовтИсп.ПереадресацияОбщегоМодуля("ЖурналРегистрации", "__ЖурналРегистрации");
КонецФункции
#КонецОбласти

View File

@ -27,10 +27,10 @@
КонецФункции
// См. __ОбщегоНазначенияСервер.ОбщийМодуль
Функция ОбщийМодуль(ИмяМодуляБСП, ИмяМодуляВстроенного) Экспорт
// См. __ОбщегоНазначенияСервер.ПереадресацияОбщегоМодуля
Функция ПереадресацияОбщегоМодуля(ИмяМодуляБСП, ИмяМодуляВстроенного) Экспорт
Возврат __ОбщегоНазначенияПовтИсп.ОбщийМодуль(ИмяМодуляБСП, ИмяМодуляВстроенного);
Возврат __ОбщегоНазначенияПовтИсп.ПереадресацияОбщегоМодуля(ИмяМодуляБСП, ИмяМодуляВстроенного);
КонецФункции

View File

@ -27,7 +27,7 @@
// Аналог метода БСП. Возвращает ссылку на общий модуль или модуль менеджера по имени.
//
// См. ОбщегоНазначения.ОбщийМодуль
// См. __ОбщегоНазначенияСервер.ОбщийМодуль
//
// Параметры:
// Имя - Строка - имя общего модуля.
@ -40,15 +40,11 @@
// РегистрСведенийМенеджер.
//
// Пример:
// Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОбновлениеКонфигурации") Тогда
// МодульОбновлениеКонфигурации = ОбщегоНазначения.ОбщийМодуль("ОбновлениеКонфигурации");
// МодульОбновлениеКонфигурации = __ОбщегоНазначенияСлужебный.ОбщийМодуль("ОбновлениеКонфигурации");
// МодульОбновлениеКонфигурации.<Имя метода>();
// КонецЕсли;
//
// Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПолнотекстовыйПоиск") Тогда
// МодульПолнотекстовыйПоискСервер = ОбщегоНазначения.ОбщийМодуль("ПолнотекстовыйПоискСервер");
// МодульПолнотекстовыйПоискСервер = __ОбщегоНазначенияСлужебный.ОбщийМодуль("ПолнотекстовыйПоискСервер");
// МодульПолнотекстовыйПоискСервер.<Имя метода>();
// КонецЕсли;
//
Функция ОбщийМодуль(ИмяМодуляБСП, ИмяМодуляВстроенного = "") Экспорт

View File

@ -105,10 +105,11 @@
КонецФункции
// См. __ОбщегоНазначенияСервер.ОбщийМодуль.
Функция ОбщийМодуль(ИмяМодуляБСП, ИмяМодуляВстроенного) Экспорт
// См. __ОбщегоНазначенияСервер.ПереадресацияОбщегоМодуля.
//
Функция ПереадресацияОбщегоМодуля(ИмяМодуляБСП, ИмяМодуляВстроенного) Экспорт
Возврат __ОбщегоНазначенияСервер.ОбщийМодуль(ИмяМодуляБСП, ИмяМодуляВстроенного);
Возврат __ОбщегоНазначенияСервер.ПереадресацияОбщегоМодуля(ИмяМодуляБСП, ИмяМодуляВстроенного);
КонецФункции

View File

@ -773,6 +773,31 @@
КонецФункции
// Возвращает ссылку на общий модуль или модуль менеджера по имени. Если подключена БСП,
// происходит переадресация на общий модуль из БСП, иначе используются встроенные модули ПБП.
//
// Параметры:
// ИмяМодуляБСП - Строка - Имя Общего модуля из Библиотеки стандартных подсистем
// ИмяМодуляВстроенного - Строка - Имя Общего модуля из Проектной библиотеки подсистем
//
// Возвращаемое значение:
// ОбщийМодуль
// МодульМенеджераОбъекта
//
Функция ПереадресацияОбщегоМодуля(ИмяМодуляБСП, ИмяМодуляВстроенного = "") Экспорт
Имя = ИмяМодуляВстроенного;
Если __ОбщегоНазначенияПовтИсп.СуществуетБиблиотекаСтандартныхПодсистем()
И Метаданные.ОбщиеМодули.Найти(ИмяМодуляБСП) <> Неопределено Тогда
Имя = ИмяМодуляБСП;
КонецЕсли;
Модуль = ОбщийМодуль(Имя);
Возврат Модуль;
КонецФункции
#Область МетодыАналогиБСП
// Аналог метода БСП. Возвращает ссылку на общий модуль или модуль менеджера по имени.
@ -785,23 +810,13 @@
// МодульМенеджераОбъекта
//
// Пример:
// Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОбновлениеКонфигурации") Тогда
// МодульОбновлениеКонфигурации = ОбщегоНазначения.ОбщийМодуль("ОбновлениеКонфигурации");
// МодульОбновлениеКонфигурации = __ОбщегоНазначенияСервер.ОбщийМодуль("ОбновлениеКонфигурации");
// МодульОбновлениеКонфигурации.<Имя метода>();
// КонецЕсли;
//
// Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПолнотекстовыйПоиск") Тогда
// МодульПолнотекстовыйПоискСервер = ОбщегоНазначения.ОбщийМодуль("ПолнотекстовыйПоискСервер");
// МодульПолнотекстовыйПоискСервер = __ОбщегоНазначенияСервер.ОбщийМодуль("ПолнотекстовыйПоискСервер");
// МодульПолнотекстовыйПоискСервер.<Имя метода>();
// КонецЕсли;
//
Функция ОбщийМодуль(ИмяМодуляБСП, ИмяМодуляВстроенного = "") Экспорт
Имя = ИмяМодуляВстроенного;
Если __ОбщегоНазначенияПовтИсп.СуществуетБиблиотекаСтандартныхПодсистем()
И Метаданные.ОбщиеМодули.Найти(ИмяМодуляБСП) <> Неопределено Тогда
Имя = ИмяМодуляБСП;
КонецЕсли;
Функция ОбщийМодуль(Имя) Экспорт
Если Метаданные.ОбщиеМодули.Найти(Имя) <> Неопределено Тогда
УстановитьБезопасныйРежим(Истина);
@ -815,7 +830,7 @@
Если ТипЗнч(Модуль) <> Тип("ОбщийМодуль") Тогда
ВызватьИсключение __СтроковыеФункцииСлужебныйКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Общий модуль ""%1"" не существует.'"),
?(ПустаяСтрока(Имя), ИмяМодуляБСП, Имя));
Имя);
КонецЕсли;
Возврат Модуль;

View File

@ -155,7 +155,7 @@
#Область СлужебныеПроцедурыИФункции
Функция ПолучитьМодуль()
Возврат __ОбщегоНазначенияПовтИсп.ОбщийМодуль("ОбщегоНазначения", "__ОбщегоНазначенияСервер");
Возврат __ОбщегоНазначенияПовтИсп.ПереадресацияОбщегоМодуля("ОбщегоНазначения", "__ОбщегоНазначенияСервер");
КонецФункции
#КонецОбласти

View File

@ -152,7 +152,7 @@
"ОбщегоНазначенияКлиентСервер",
"__ОбщегоНазначенияКлиентСервер");
#Иначе
Возврат __ОбщегоНазначенияВызовСервера.ОбщийМодуль(
Возврат __ОбщегоНазначенияВызовСервера.ПереадресацияОбщегоМодуля(
"ОбщегоНазначенияКлиентСервер",
"__ОбщегоНазначенияКлиентСервер");
#КонецЕсли

View File

@ -37,7 +37,9 @@
#Область СлужебныеПроцедурыИФункции
Функция ПолучитьМодуль()
Возврат __ОбщегоНазначенияПовтИсп.ОбщийМодуль("ПолучениеФайловИзИнтернета", "__ПолучениеФайловИзИнтернета");
Возврат __ОбщегоНазначенияПовтИсп.ПереадресацияОбщегоМодуля(
"ПолучениеФайловИзИнтернета",
"__ПолучениеФайловИзИнтернета");
КонецФункции
#КонецОбласти

View File

@ -37,7 +37,7 @@
#Область СлужебныеПроцедурыИФункции
Функция ПолучитьМодуль()
Возврат __ОбщегоНазначенияПовтИсп.ОбщийМодуль("Пользователи", "__Пользователи");
Возврат __ОбщегоНазначенияПовтИсп.ПереадресацияОбщегоМодуля("Пользователи", "__Пользователи");
КонецФункции
#КонецОбласти

View File

@ -53,7 +53,9 @@
#Область СлужебныеПроцедурыИФункции
Функция ПолучитьМодуль()
Возврат __ОбщегоНазначенияПовтИсп.ОбщийМодуль("РегламентныеЗаданияСервер", "__РегламентныеЗаданияСервер");
Возврат __ОбщегоНазначенияПовтИсп.ПереадресацияОбщегоМодуля(
"РегламентныеЗаданияСервер",
"__РегламентныеЗаданияСервер");
КонецФункции
#КонецОбласти

View File

@ -37,7 +37,9 @@
#Область СлужебныеПроцедурыИФункции
Функция ПолучитьМодуль()
Возврат __ОбщегоНазначенияПовтИсп.ОбщийМодуль("СтандартныеПодсистемыПовтИсп", "__СтандартныеПодсистемыПовтИсп");
Возврат __ОбщегоНазначенияПовтИсп.ПереадресацияОбщегоМодуля(
"СтандартныеПодсистемыПовтИсп",
"__СтандартныеПодсистемыПовтИсп");
КонецФункции
#КонецОбласти

View File

@ -60,7 +60,7 @@
"СтроковыеФункцииКлиентСервер",
"__СтроковыеФункцииКлиентСервер");
#Иначе
Возврат __ОбщегоНазначенияВызовСервера.ОбщийМодуль(
Возврат __ОбщегоНазначенияВызовСервера.ПереадресацияОбщегоМодуля(
"СтроковыеФункцииКлиентСервер",
"__СтроковыеФункцииКлиентСервер");
#КонецЕсли