Здравствуйте.
Помогите разобраться где отключить безопасный режим. Всё уже перепробовал.
Хочу внешнюю компоненту подключить с помощью расширения в УТ 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;
КонецЕсли;
// Сформируем картинку
ДвоичныеДанныеКартинки = Компонент.ПолучитьШтрихкод();
// Если картинка сформировалась
Если НЕ ДвоичныеДанныеКартинки = Неопределено Тогда
// Формируем из двоичных данных
Возврат Новый Картинка(ДвоичныеДанныеКартинки);
КонецЕсли;
Возврат Неопределено;
КонецФункции
Показать