|
Программно открыть форму внешней обработки | ☑ | ||
---|---|---|---|---|
0
Sun125
29.11.17
✎
11:09
|
Пытаюсь из произвольной формы открыть форму внешней обработки:
&НаСервере Процедура ОткрытьНаСервере(ИмяФайла) ОбработкаНоменклатуры = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоРеквизиту("ИмяОбъекта", "ОбработкаНоменклатуры"); ИмяФайла = ПолучитьИмяВременногоФайла("epf"); ОбъектОбработкаНоменклатуры = ОбработкаНоменклатуры.ПолучитьОбъект(); ДвоичныеДанные = ОбъектОбработкаНоменклатуры.ХранилищеОбработки.Получить(); Попытка ДвоичныеДанные.Записать(ИмяФайла); Исключение Сообщение = Новый СообщениеПользователю; Сообщение.Текст = ОписаниеОшибки(); Сообщение.Сообщить(); Возврат; КонецПопытки; ТекОбработка = ВнешниеОбработки.Подключить(ИмяФайла,,Ложь); КонецПроцедуры // ОткрытьНаСервере() &НаКлиенте Процедура ПриОткрытии(Отказ) ИмяФайла = ""; ОткрытьНаСервере(ИмяФайла); КонецПроцедуры При подключении внешней обработки выходит ошибка: Неправильный путь к файлу. Подскажите,пожалуйста, что не так делаю? |
|||
1
ambrozii-fadeevich-s
29.11.17
✎
11:14
|
ВнешниеОбработкиМенеджер.Создать (ExternalDataProcessorsManager.Create)
ВнешниеОбработкиМенеджер (ExternalDataProcessorsManager) Создать (Create) Вариант синтаксиса: По имени файла Синтаксис: Создать(<ПолноеИмяФайла>, <БезопасныйРежим>) Параметры: <ПолноеИмяФайла> (обязательный) Тип: Строка. Полное имя файла внешней обработки. <БезопасныйРежим> (необязательный) Тип: Булево, Строка. Признак создания внешней обработки в безопасном режиме. Если указана строка, то внешняя обработка будет исполняться в безопасном режиме под управлением профиля безопасности с этим именем. Профиль безопасности должен иметь значение SafeModeProfile=Истина. Значение по умолчанию: Истина. Вариант синтаксиса: По имени обработки Синтаксис: Создать(<Имя>) Параметры: <Имя> (обязательный) Тип: Строка. Имя внешней обработки, полученное после подключения. Описание варианта метода: Предварительно обработка должна быть подключена методом Подключить. Возвращаемое значение: Тип: ВнешняяОбработка. Описание: Создает объект внешней обработки по указанному файлу или имени внешней обработки. Доступность: Сервер, толстый клиент, внешнее соединение. Пример: ВнешняяОбработка = ВнешниеОбработки.Создать(ПолноеИмяФайла); ВнешняяОбработка.ПолучитьФорму().Открыть(); |
|||
2
ambrozii-fadeevich-s
29.11.17
✎
11:16
|
Пример в синтаксисе, разумеется, для толстого клиента. На сервере открыть не сработает.
А вот в методе ВнешниеОбработки.Получить Путь - это не имя файла Подключить(<Путь>, <Имя>, <БезопасныйРежим>, <ЗащитаОтОпасныхДействий>) Параметры: <Путь> (обязательный) Тип: Строка. Ссылка на реквизит объекта конфигурации, который содержит данные внешней обработки. Ссылка может быть получена методом ПолучитьНавигационнуюСсылку. |
|||
3
Sun125
29.11.17
✎
20:20
|
Сделал так:
&НаСервере ТекОбработка = ВнешниеОбработки.Создать(ИмяФайла); &НаКлиенте ПараметрыФормы = Новый Структура(); ПараметрыФормы.Вставить("БезопасныйРежим", Ложь); ОткрытьФорму("ВнешняяОбработка.ОбработкаНоменклатуры.Форма",ПараметрыФормы, ЭтаФорма); Теперь обработка открывается, но возникла проблема, автоматически устанавливается БезопасныйРежим, и соответственно обработка не работает. Как передать признак БезопасныйРежим=Ложь? |
|||
4
mehfk
29.11.17
✎
20:25
|
(3) Начни еще раз, прочитав внимательно (1) или, что лучше, СП.
|
|||
5
Sun125
29.11.17
✎
20:26
|
(4) Все спасибо, разобрался)глупый вопрос был, снят
|
|||
6
France
30.11.17
✎
02:59
|
а спросить что за конфа и навести на мысль про доп.отчеты\обработки - уже не комильфо?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |