Установлен безопасный режим. Выполнение операции запрещено». Для таких случаев и была написана обработка-обёртка, позволяющая подключать требуемую обработку.
После очередных обновлений платформы и конфигурации система отказалась принимать внешнюю обработку в раздел «Дополнительные отчеты и обработки». При попытке подключения требуемой внешней обработки менеджер ВнешнихОбработок сообщает «Невозможно подключить дополнительную обработку из файла.
Возможно, она не подходит для этой версии программы.Установлен безопасный режим. Выполнение операции запрещено«. А работать с внешней обработкой через меню «Файл» — «Открыть» теперь позволяется только пользователям с административными правами. Режим работы платформы 8.3 файловый, поэтому профили безопасности использовать нельзя. Пришлось выкручиваться и написать обёртку, которая регистрируется в разделе «Дополнительные отчеты и обработки» и вызывает требуемую внешнюю отвергнутую обработку:
&НаСервере
Функция ПодключитьВнешнююОбработку(АдресХранилища)
Возврат ВнешниеОбработки.Подключить(АдресХранилища, , Ложь);
КонецФункции
&НаКлиенте
Процедура ПриОткрытии(Отказ)
// Помещаем обработку во временном хранилище
АдресХранилища = "";
Результат = ПоместитьФайл(АдресХранилища, "C:Нужная Обработка.epf", , Ложь);
ИмяОбработки = ПодключитьВнешнююОбработку(АдресХранилища);
// Откроем форму подключенной внешней обработки
ОткрытьФорму("ВнешняяОбработка."+ ИмяОбработки +".Форма");
ЭтаФорма.Закрыть();
КонецПроцедуры
При желании можно установить привилегированный режим исполнения, но это лучше делать в подключаемой основной обработке.
- изменить в модуле формы путь к вашей обработке (в примере «C:Нужная Обработка.epf»);
- изменить в модуле объекта вид обработки в соответствии с назначением основной обработки («ДополнительнаяОбработка», «ДополнительныйОтчет», etc);
- зарегистрировать обёртку в дополнительных отчетах и обработках (см. прилагаемый снимок экрана).
Для порядка и ясности использования можно отредактировать модуль объекта обработки-обёртки, заменив имена соответствующими вашей обработки:
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке(СтандартныеПодсистемыСервер.ВерсияБиблиотеки());
// Вид должен соответствовать вашей обработки
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
// Наименование также имеет смысл скорректировать в соответствии с назначением вашей обработки
ПараметрыРегистрации.Наименование = "Обёртка для запуска внешней обработки";
ПараметрыРегистрации.Версия = "1.0";
ПараметрыРегистрации.БезопасныйРежим = Ложь; // На ваше усмотрение
ПараметрыРегистрации.Информация = "Для обхода безопасного режима";
НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
НоваяКоманда.Представление = ПараметрыРегистрации.Наименование;
НоваяКоманда.Идентификатор = "ОбёрткаДляЗапускаВнешнейОбработки";
НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
НоваяКоманда.ПоказыватьОповещение = Истина;
Возврат ПараметрыРегистрации;
КонецФункции // СведенияОВнешнейОбработке()
Начинает ругаться на модальное открытие по строке:
ПоместитьФайл(АдресХранилища, «C:Нужная Обработка.epf», , Ложь)
Похоже еще нужно добавить разрешение на работу с временной папкой в СведенияОбработки.
п.с.
переделал, для обхода разрешения HTTP. Вроде работает!
Вы не против, если отдельной статьей выложу пример моего обхода?
Ни капли, может кому-то поможет ))
Прошёл год, а я только столкнулся с данной проблемой. Но вылазит ошибка
{Справочник.ДополнительныеОтчетыИОбработки.Форма.ФормаЭлемента.Форма(1023)}: Не удалось выполнить команду по причине:
Метод объекта не обнаружен (ВыполнитьКоманду).
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
Вообще как должно работать. У меня есть некая административная часть. С формой настроек. Она доступна пользователям. Они настраивают и сохраняют настройки.
А вот другая обработка с
Запускается раз в день, запускает экспортные функции с модуля объекта, в том числе получает и параметры для чтения настроек.
Именно ЭТА обработка и с такой ошибкой. Ваша обработка пока не помогла. Если можете — поясните почему такая ошибка с командой, при запуске с ДОПОЛНИТЕЛЬНЫХ ОБРАБОТОК. Если «файл открыть» то всё ок. Но и моя тоже так работает.
Ошибка «Не удалось выполнить команду по причине: Метод объекта не обнаружен (ВыполнитьКоманду)» может быть связана с тем, что процедура ВыполнитьКоманду не экспортная. По вашему сообщению больше ничего не приходит в голову — мало информации