RDT1C/CommonModules/ирДополнительныеОтчетыИОбработкиБСП/Ext/Module.bsl
Администратор a002d980fa История данных
*Исправлена ошибка при очистке истории по всем типам
    Конструктор запроса
        *Исправлено игнорирование "ПЕРВЫЕ N" при сборке запроса в не первых частях объединения
    Общее
        *Восстановлена совместимость с версиями платформы ниже 8.2.15
        +В формах таблицы значений, строки таблицы, списка значений, массива в режиме ТолькоПросмотр по двойному щелчку на ячейке ссылки теперь открывается форма объекта по ссылке
        *Исправлена некричитная ошибка выполнения обработчика ожидания после завершения групповых обработок на сервере
        +В форме выбора редактируемых типов добавлена возможность выбирать сразу значение через десериализацию
    Консоль заданий
        *После удаления заданий теперь сохраняется позиция в списке заданий
    Исследователь объектов
        +Добавлена поддержка сериализации объектов и значений XDTO
        +Добавлено подменю "Из строки" для десериализации объекта из форматов XML, JSON, Внутр
    Функции режима отладки
        +В функции Ис() добавлена поддержка сериализации объектов и значений XDTO
2019-07-09 06:34:47 +03:00

108 lines
7.9 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

&Вместо("ПодключитьВнешнююОбработку")
Функция ирПодключитьВнешнююОбработку(Ссылка)
// ИР. Начало оригинального кода
СтандартнаяОбработка = Истина;
Результат = Неопределено;
ИнтеграцияСТехнологиейСервиса.ПриПодключенииВнешнейОбработки(Ссылка, СтандартнаяОбработка, Результат);
Если Не СтандартнаяОбработка Тогда
Возврат Результат;
КонецЕсли;
// Проверка корректности переданных параметров.
Если ТипЗнч(Ссылка) <> Тип("СправочникСсылка.ДополнительныеОтчетыИОбработки")
Или Ссылка = Справочники.ДополнительныеОтчетыИОбработки.ПустаяСсылка() Тогда
Возврат Неопределено;
КонецЕсли;
// ИР. Перенесено ниже
//// Подключение
//#Если ТолстыйКлиентОбычноеПриложение Тогда
// ИмяОбработки = ПолучитьИмяВременногоФайла();
// ХранилищеОбработки = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "ХранилищеОбработки");
// ДвоичныеДанные = ХранилищеОбработки.Получить();
// ДвоичныеДанные.Записать(ИмяОбработки);
// Возврат ИмяОбработки;
//#КонецЕсли
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПрофилиБезопасности") Тогда
МодульРаботаВБезопасномРежиме = ОбщегоНазначения.ОбщийМодуль("РаботаВБезопасномРежиме");
ИспользуютсяПрофилиБезопасности = МодульРаботаВБезопасномРежиме.ИспользуютсяПрофилиБезопасности();
Иначе
ИспользуютсяПрофилиБезопасности = Ложь;
КонецЕсли;
Вид = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "Вид");
Если Вид = Перечисления.ВидыДополнительныхОтчетовИОбработок.Отчет
Или Вид = Перечисления.ВидыДополнительныхОтчетовИОбработок.ДополнительныйОтчет Тогда
Менеджер = ВнешниеОтчеты;
Иначе
Менеджер = ВнешниеОбработки;
КонецЕсли;
ПараметрыЗапуска = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Ссылка, "БезопасныйРежим, ХранилищеОбработки");
// ИР. Перенесено ниже
//АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(ПараметрыЗапуска.ХранилищеОбработки.Получить());
Если ИспользуютсяПрофилиБезопасности Тогда
МодульРаботаВБезопасномРежимеСлужебный = ОбщегоНазначения.ОбщийМодуль("РаботаВБезопасномРежимеСлужебный");
БезопасныйРежим = МодульРаботаВБезопасномРежимеСлужебный.РежимПодключенияВнешнегоМодуля(Ссылка);
Если БезопасныйРежим = Неопределено Тогда
БезопасныйРежим = Истина;
КонецЕсли;
Иначе
БезопасныйРежим = ПолучитьФункциональнуюОпцию("СтандартныеПодсистемыВМоделиСервиса") Или ПараметрыЗапуска.БезопасныйРежим;
Если БезопасныйРежим Тогда
ЗапросРазрешений = Новый Запрос(
"ВЫБРАТЬ ПЕРВЫЕ 1
| ДополнительныеОтчетыИОбработкиРазрешения.НомерСтроки,
| ДополнительныеОтчетыИОбработкиРазрешения.ВидРазрешения
|ИЗ
| Справочник.ДополнительныеОтчетыИОбработки.Разрешения КАК ДополнительныеОтчетыИОбработкиРазрешения
|ГДЕ
| ДополнительныеОтчетыИОбработкиРазрешения.Ссылка = &Ссылка");
ЗапросРазрешений.УстановитьПараметр("Ссылка", Ссылка);
ЕстьРазрешений = Не ЗапросРазрешений.Выполнить().Пустой();
РежимСовместимости = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "РежимСовместимостиРазрешений");
Если РежимСовместимости = Перечисления.РежимыСовместимостиРазрешенийДополнительныхОтчетовИОбработок.Версия_2_2_2
И ЕстьРазрешений Тогда
БезопасныйРежим = Ложь;
КонецЕсли;
КонецЕсли;
КонецЕсли;
ЗаписатьПримечание(Ссылка, НСтр("ru = 'Подключение, БезопасныйРежим = """ + БезопасныйРежим + """.'"));
// ИР.Конец оригинального кода
ИмяОбработки = "";
ирСервер.ПриПодключенииВнешнейОбработки(Ссылка, Истина, ИмяОбработки);
Если ЗначениеЗаполнено(ИмяОбработки) Тогда
Возврат ИмяОбработки;
КонецЕсли;
// ИР. Перенесенный оригинальный код
#Если ТолстыйКлиентОбычноеПриложение Тогда
ИмяОбработки = ПолучитьИмяВременногоФайла();
ХранилищеОбработки = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "ХранилищеОбработки");
ДвоичныеДанные = ХранилищеОбработки.Получить();
ДвоичныеДанные.Записать(ИмяОбработки);
Возврат ИмяОбработки;
#КонецЕсли
// ИР. Перенесенный оригинальный код
АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(ПараметрыЗапуска.ХранилищеОбработки.Получить());
// ИР. Начало оригинального кода
Если ОбщегоНазначения.ЕстьЗащитаОтОпасныхДействий() Тогда
ИмяОбработки = Менеджер.Подключить(АдресВоВременномХранилище, , БезопасныйРежим,
ОбщегоНазначения.ОписаниеЗащитыБезПредупреждений());
Иначе
ИмяОбработки = Менеджер.Подключить(АдресВоВременномХранилище, , БезопасныйРежим);
КонецЕсли;
Возврат ИмяОбработки;
// ИР.Конец оригинального кода
КонецФункции
Функция ирПроверкаПодключенияРасширенияМодуля() Экспорт
КонецФункции