Как программно вызвать внешнюю обработку, зарегистрированную в системе?

1. rafaiil 06.04.17 20:53 Сейчас в теме
Всем привет!
Как вызвать из внешней обработки другую внешнюю обработку?
Обе обработки зарегистрированы в системе, т.е. не просто файл epf который где то лежит на диске.
Задача в том,что нужно вызвать форму внешней обработки.

Работаю на 8.3.
Конфигурация УТ 11.1

Спасибо за ответ.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. пользователь 06.04.17 22:37
Сообщение было скрыто модератором.
...
3. wermah 07.04.17 07:00 Сейчас в теме
ВнешняяОбработка = Справочники.ВнешниеОбработки.НайтиПоКоду("000000001");
	ДвоичныеДанные = ВнешняяОбработка.ХранилищеВнешнейОбработки.Получить();
	ТабДокумент = Неопределено;
	ИмяФайла = ПолучитьИмяВременногоФайла("epf");
	    ДвоичныеДанные.Записать(ИмяФайла);
	    Обработка = ВнешниеОбработки.Создать(ИмяФайла);
	    Обработка.СсылкаНаОбъект = ЭтотОбъект.Ссылка;
	   
	    ТабДокумент = Обработка.Печать(ПараметП);
Показать

Примерно так
4. rafaiil 07.04.17 12:58 Сейчас в теме
(3)
ВнешняяОбработка = Справочники.ВнешниеОбработки.НайтиПоКоду("000000001");
ДвоичныеДанные = ВнешняяОбработка.ХранилищеВнешнейОбработки.Получить();
ТабДокумент = Неопределено;
ИмяФайла = ПолучитьИмяВременногоФайла("epf");
ДвоичныеДанные.Записать(ИмяФайла);
Обработка = ВнешниеОбработки.Создать(ИмяФайла);
Обработка.СсылкаНаОбъект = ЭтотОбъект.Ссылка;

ТабДокумент = Обработка.Печать(ПараметП);


получилось вот так:
	ВнешняяОбработка = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию("Информация по заказам");
	ДвоичныеДанные = ВнешняяОбработка.ХранилищеОбработки.Получить();
	ТабДокумент = Неопределено;
	ИмяФайла = ПолучитьИмяВременногоФайла("epf");
	ДвоичныеДанные.Записать(ИмяФайла);
	Обработка = ВнешниеОбработки.Создать(ИмяФайла);
	Обработка.ПолучитьФорму("ВнешняяОбработка.ОперативнаяИнформацияПоЗаказам.Форма").Открыть();


но пока работает только в толстом клиенте
7. ipoloskov 164 07.04.17 17:42 Сейчас в теме
(4) что именно не работает на тонком клиенте?
8. rafaiil 08.04.17 09:53 Сейчас в теме
(7)
получить форму можно только в Толстом клиенте. так говорит справка
10. shnurov 08.04.17 12:42 Сейчас в теме
(4)Двоичные данные нужно получить на сервере, а потом передать на клиент и там файл записать, а потом уже к нему обращаться (хотя можно записать и на сервере, но тогда нужно писать туда откуда потом клиент сможет прочитать).
11. UmBu 51 24.11.18 18:47 Сейчас в теме
(3) Зачем тут ТабДокумент = Неопределено; ?
5. comptr 35 07.04.17 14:39 Сейчас в теме
Подозреваю, что код вызывается по нажатию кнопки внутри процедуры "&НаКлиенте".
Как минимум "Справочники." недоступен там.
ImHunter; +1 Ответить
6. rafaiil 07.04.17 16:20 Сейчас в теме
(5)
нет указано НаСервере.
при нажатии на кнопку идет переброска на другую процедуру
9. comptr 35 08.04.17 11:32 Сейчас в теме
Не тот метод используется.

Глобальный контекст (Global context)
ПолучитьФорму (GetForm)
Синтаксис:
ПолучитьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>, <НавигационнаяСсылка>)

Доступность:

Тонкий клиент, веб-клиент, толстый клиент, мобильное приложение(клиент).
Вызов метода выполняет обращение к серверу.

П = Новый Структура("Ключ", Поставщик);
Форма = ПолучитьФорму("Справочник.Контрагенты.ФормаОбъекта", П);
Форма.Открыть();

Показать
Оставьте свое сообщение

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