mirror of
https://github.com/tormozit/RDT1C.git
synced 2025-12-16 12:44:11 +00:00
117 lines
8.9 KiB
Plaintext
117 lines
8.9 KiB
Plaintext
|
||
&Вместо("ПодключитьВнешнююОбработку")
|
||
Функция ирПодключитьВнешнююОбработку(Ссылка)
|
||
|
||
// ИР. Начало оригинального кода
|
||
|
||
СтандартнаяОбработка = Истина;
|
||
Результат = Неопределено;
|
||
Если Метаданные.ОбщиеМодули.Найти("ИнтеграцияСТехнологиейСервиса") <> Неопределено Тогда
|
||
МодульИнтеграцияПодсистемБСП = ОбщегоНазначения.ОбщийМодуль("ИнтеграцияСТехнологиейСервиса"); // БСП 2.4
|
||
ИначеЕсли Метаданные.ОбщиеМодули.Найти("ИнтеграцияПодсистемБСП") <> Неопределено Тогда
|
||
МодульИнтеграцияПодсистемБСП = ОбщегоНазначения.ОбщийМодуль("ИнтеграцияПодсистемБСП"); // БСП 3.1
|
||
Иначе
|
||
МодульИнтеграцияПодсистемБСП = Неопределено;
|
||
КонецЕсли;
|
||
Если МодульИнтеграцияПодсистемБСП <> Неопределено Тогда
|
||
МодульИнтеграцияПодсистемБСП.ПриПодключенииВнешнейОбработки(Ссылка, СтандартнаяОбработка, Результат);
|
||
КонецЕсли;
|
||
Если Не СтандартнаяОбработка Тогда
|
||
Возврат Результат;
|
||
КонецЕсли;
|
||
// Проверка корректности переданных параметров.
|
||
Если ТипЗнч(Ссылка) <> Тип("СправочникСсылка.ДополнительныеОтчетыИОбработки")
|
||
Или Ссылка = Справочники.ДополнительныеОтчетыИОбработки.ПустаяСсылка() Тогда
|
||
Возврат Неопределено;
|
||
КонецЕсли;
|
||
|
||
// ИР. Перенесено ниже
|
||
//// Подключение
|
||
//#Если ТолстыйКлиентОбычноеПриложение Тогда
|
||
// ИмяОбработки = ПолучитьИмяВременногоФайла();
|
||
// ХранилищеОбработки = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "ХранилищеОбработки");
|
||
// ДвоичныеДанные = ХранилищеОбработки.Получить();
|
||
// ДвоичныеДанные.Записать(ИмяОбработки);
|
||
// Возврат ИмяОбработки;
|
||
//#КонецЕсли
|
||
|
||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПрофилиБезопасности") Тогда
|
||
МодульРаботаВБезопасномРежиме = ОбщегоНазначения.ОбщийМодуль("РаботаВБезопасномРежиме");
|
||
ИспользуютсяПрофилиБезопасности = МодульРаботаВБезопасномРежиме.ИспользуютсяПрофилиБезопасности();
|
||
Иначе
|
||
ИспользуютсяПрофилиБезопасности = Ложь;
|
||
КонецЕсли;
|
||
Вид = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "Вид");
|
||
Если Вид = Перечисления.ВидыДополнительныхОтчетовИОбработок.Отчет
|
||
Или Вид = Перечисления.ВидыДополнительныхОтчетовИОбработок.ДополнительныйОтчет Тогда
|
||
Менеджер = ВнешниеОтчеты;
|
||
Иначе
|
||
Менеджер = ВнешниеОбработки;
|
||
КонецЕсли;
|
||
ПараметрыЗапуска = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Ссылка, "БезопасныйРежим, ХранилищеОбработки");
|
||
|
||
// ИР. Перенесено ниже
|
||
//АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(ПараметрыЗапуска.ХранилищеОбработки.Получить());
|
||
|
||
Если ИспользуютсяПрофилиБезопасности Тогда
|
||
МодульРаботаВБезопасномРежимеСлужебный = ОбщегоНазначения.ОбщийМодуль("РаботаВБезопасномРежимеСлужебный");
|
||
БезопасныйРежим = МодульРаботаВБезопасномРежимеСлужебный.РежимПодключенияВнешнегоМодуля(Ссылка);
|
||
Если БезопасныйРежим = Неопределено Тогда
|
||
БезопасныйРежим = Истина;
|
||
КонецЕсли;
|
||
Иначе
|
||
БезопасныйРежим = ПолучитьФункциональнуюОпцию("СтандартныеПодсистемыВМоделиСервиса") Или ПараметрыЗапуска.БезопасныйРежим;
|
||
Если БезопасныйРежим Тогда
|
||
ЗапросРазрешений = Новый Запрос(
|
||
"ВЫБРАТЬ ПЕРВЫЕ 1
|
||
| ДополнительныеОтчетыИОбработкиРазрешения.НомерСтроки,
|
||
| ДополнительныеОтчетыИОбработкиРазрешения.ВидРазрешения
|
||
|ИЗ
|
||
| Справочник.ДополнительныеОтчетыИОбработки.Разрешения КАК ДополнительныеОтчетыИОбработкиРазрешения
|
||
|ГДЕ
|
||
| ДополнительныеОтчетыИОбработкиРазрешения.Ссылка = &Ссылка");
|
||
ЗапросРазрешений.УстановитьПараметр("Ссылка", Ссылка);
|
||
ЕстьРазрешений = Не ЗапросРазрешений.Выполнить().Пустой();
|
||
РежимСовместимости = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "РежимСовместимостиРазрешений");
|
||
Если РежимСовместимости = Перечисления.РежимыСовместимостиРазрешенийДополнительныхОтчетовИОбработок.Версия_2_2_2
|
||
И ЕстьРазрешений Тогда
|
||
БезопасныйРежим = Ложь;
|
||
КонецЕсли;
|
||
КонецЕсли;
|
||
КонецЕсли;
|
||
ЗаписатьПримечание(Ссылка, НСтр("ru = 'Подключение, БезопасныйРежим = """ + БезопасныйРежим + """.'"));
|
||
|
||
// ИР.Конец оригинального кода
|
||
|
||
ИмяОбработки = "";
|
||
ирСервер.ПриПодключенииВнешнейОбработки(Ссылка, Истина, ИмяОбработки);
|
||
Если ЗначениеЗаполнено(ИмяОбработки) Тогда
|
||
Возврат ИмяОбработки;
|
||
КонецЕсли;
|
||
|
||
// ИР. Перенесенный оригинальный код
|
||
#Если ТолстыйКлиентОбычноеПриложение Тогда
|
||
ИмяОбработки = ПолучитьИмяВременногоФайла();
|
||
ХранилищеОбработки = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "ХранилищеОбработки");
|
||
ДвоичныеДанные = ХранилищеОбработки.Получить();
|
||
ДвоичныеДанные.Записать(ИмяОбработки);
|
||
Возврат ИмяОбработки;
|
||
#КонецЕсли
|
||
|
||
// ИР. Перенесенный оригинальный код
|
||
АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(ПараметрыЗапуска.ХранилищеОбработки.Получить());
|
||
|
||
// ИР. Начало оригинального кода
|
||
Если ОбщегоНазначения.ЕстьЗащитаОтОпасныхДействий() Тогда
|
||
ИмяОбработки = Менеджер.Подключить(АдресВоВременномХранилище, , БезопасныйРежим,
|
||
ОбщегоНазначения.ОписаниеЗащитыБезПредупреждений());
|
||
Иначе
|
||
ИмяОбработки = Менеджер.Подключить(АдресВоВременномХранилище, , БезопасныйРежим);
|
||
КонецЕсли;
|
||
Возврат ИмяОбработки;
|
||
// ИР.Конец оригинального кода
|
||
|
||
КонецФункции
|
||
|
||
Функция ирПроверкаПодключенияРасширенияМодуля() Экспорт
|
||
КонецФункции |