не могу Подключить Внешнюю Компоненту из-за безопасного режима

1. user875116 15.01.24 21:02 Сейчас в теме
Здравствуйте.

Помогите разобраться где отключить безопасный режим. Всё уже перепробовал.
Хочу внешнюю компоненту подключить с помощью расширения в УТ 11.4 и она ругается.

Хотя когда делаю это через обработку всё работает.

Делаю это на форме Реализации.

&НаКлиенте
Процедура Расш1_ПечатьКодаВместо(Команда)
    Расш1_ПечатьКодаВместоНаСервере();
КонецПроцедуры

&НаСервере
Процедура Расш1_ПечатьКодаВместоНаСервере()

    ТабДок.Очистить();
    
    Макет = РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет_ТонкийКлиент");
    
    Область = Макет.ПолучитьОбласть("Штрихкод");
    
    КартинкаШтрихкода = ПолучитьКартинкуШтрихкода(Штрихкод);
    
    Если КартинкаШтрихкода <> Неопределено Тогда
        Область.Рисунки.КартинкаШтрихкода.Картинка = КартинкаШтрихкода;        
    КонецЕсли; 
    
    ТабДок.Вывести(Область);    
    
КонецПроцедуры

&НаСервере
Функция ПолучитьКартинкуШтрихкода(Штрихкод)
    
    
    
    // В зависимости от типа платформы подключим соответствующую внешнюю компоненту
    ИнформацияОСистеме = Новый СистемнаяИнформация;
    Если ИнформацияОСистеме.ТипПлатформы = ТипПлатформы.Windows_x86 Тогда

        ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаПечатиШтрихкодовWindows32", "КартинкаШтрихкода", ТипВнешнейКомпоненты.Native);

    ИначеЕсли ИнформацияОСистеме.ТипПлатформы = ТипПлатформы.Windows_x86_64 Тогда
        
        УстановитьПривилегированныйРежим(Истина);
        УстановитьОтключениеБезопасногоРежима(Истина);
        ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаПечатиШтрихкодовWindows64", "КартинкаШтрихкода", ТипВнешнейКомпоненты.Native);

    ИначеЕсли ИнформацияОСистеме.ТипПлатформы = ТипПлатформы.Linux_x86 Тогда

        ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаПечатиШтрихкодовLinux32", "КартинкаШтрихкода", ТипВнешнейКомпоненты.Native);        

    Иначе

        ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаПечатиШтрихкодовLinux64", "КартинкаШтрихкода", ТипВнешнейКомпоненты.Native);

    КонецЕсли;

    // Создадим объект внешней компоненты
    Компонент = Новый("AddIn.КартинкаШтрихкода.Barcode");

    // Если нет возможности рисовать
    Если НЕ Компонент.ГрафикаУстановлена Тогда

        // То картинку сформировать не сможем
        Возврат Неопределено;

    КонецЕсли;

    // Если в системе установлен шрифт Tahoma
    Если Компонент.НайтиШрифт("Tahoma") = Истина Тогда

        // Выбираем его как шрифт для формирования картинки
        Компонент.Шрифт = "Tahoma";

    Иначе

        // Шрифт Tahoma в системе отсутствует

        // Обойдем все доступные компоненте шрифты
        Для Сч = 0 По Компонент.КоличествоШрифтов -1 Цикл

            // Получим очередной шрифт, доступный компоненте
            ТекущийШрифт = Компонент.ШрифтПоИндексу(Сч);

            // Если шрифт доступен
            Если ТекущийШрифт <> Неопределено Тогда

                // Они и будет шрифтом для формирования штрихкода
                Компонент.Шрифт = ТекущийШрифт;
                Прервать;

            КонецЕсли;

        КонецЦикла;

    КонецЕсли;

    // Установим размер шрифта
    Компонент.РазмерШрифта = 12;

    // Зададим размер картинки
    Компонент.Ширина = 100;
    Компонент.Высота = 90;

    // Разрешим компоненте самой определять тип кода
    Компонент.АвтоТип = Истина;
    // ИЛИ установим код EAN-13
    // Компонент.ТипКода = 1;
    //
    // Тип смотрим в документации на внешнюю компоненту

    // Если код содержит контрольный символ, обязательно указываем
    Компонент.СодержитКС = СтрДлина(Штрихкод) = 13;

    // Если отображать контрольный символ не нужно
    // Компонент.ВидимостьКС = Ложь;

    // Формируем картинку штрихкода
    Компонент.ЗначениеКода = Штрихкод;

    // Если установленная нами ширина меньше минимально допустимой для этого штрихкода
    Если Компонент.Ширина < Компонент.МинимальнаяШиринаКода Тогда

        // Скорректируем ширину
        Компонент.Ширина = Компонент.МинимальнаяШиринаКода + 10;

    КонецЕсли;

    // Сформируем картинку
    ДвоичныеДанныеКартинки = Компонент.ПолучитьШтрихкод();

    // Если картинка сформировалась
    Если НЕ ДвоичныеДанныеКартинки = Неопределено Тогда

        // Формируем из двоичных данных
        Возврат Новый Картинка(ДвоичныеДанныеКартинки);

    КонецЕсли;

    Возврат Неопределено;

КонецФункции
Показать
По теме из базы знаний
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот