Как подключить внешнюю обработку
Приятно, когда ты впереди 1С всей.
Вот у них на ИТС написано, как подключать внешнюю обработку.
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
//Помещаем обработку во временном хранилище
АдресХранилища = «»;
Результат = ПоместитьФайл(АдресХранилища, «C:\ВнешняяОбработка.epf», , Ложь);
ИмяОбработки = ПодключитьВнешнююОбработку(АдресХранилища);
// Откроем форму подключенной внешней обработки
ОткрытьФорму(«ВнешняяОбработка.»+ ИмяОбработки +«.Форма»);
КонецПроцедуры
&НаСервере
Функция ПодключитьВнешнююОбработку(АдресХранилища)
Возврат ВнешниеОбработки.Подключить(АдресХранилища);
КонецФункции
А я сделал проще. И горжусь этим:
&НаКлиенте
Процедура МояКоманда(Команда)
ОткрытьФайлОбработкиИзМакета(«МакетОбработки»);
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьФайлОбработкиИзМакета(ИмяМакета) Экспорт
ИмяОбработки =ПолучитьМакетВнешнейОбработки(ИмяМакета);
ОткрытьФорму(«ВнешняяОбработка.» + ИмяОбработки + «.Форма»);
КонецПроцедуры
&НаСервере
Функция ПолучитьМакетВнешнейОбработки(ИмяМакета) Экспорт
ОО = РеквизитФормыВЗначение(«Объект»);
ФайлДД = ОО.ПолучитьМакет(ИмяМакета);
АдресХранилища = ПоместитьВоВременноеХранилище(ФайлДД);
ОписаниеЗащитыОтОпасныхДействий = Новый ОписаниеЗащитыОтОпасныхДействий;
ОписаниеЗащитыОтОпасныхДействий.ПредупреждатьОбОпасныхДействиях = ложь;
Возврат ВнешниеОбработки.Подключить(АдресХранилища,,ложь, ОписаниеЗащитыОтОпасныхДействий);
КонецФункции
Немного поясню — функция «Поместить файл» в не модальном режиме называется как «Начать помещение файла». Файл обработки у меня и так хранится в двоичном макете. Я сперва хотел его сохранять в файл, подключать из файла и т.п. по классике ИТС, а потом дошло, что можно сделать сразу, сразу получить и подключить на сервере.
Да, и еще сразу отключил безопасный режим, а то игнорировались команды установки привилегированного режима.
>>в не модальном режиме
В асинхронном режиме
да, верно.