Вход | Регистрация

1С:Предприятие ::

Метки: 

Вызвать функцию по имени из внешней обработки

Я
   Фигурнов
 
19.03.18 - 08:42
Как правильно реализовать вызов внешней экспортной функции по имени (ОФ)?

"Выполнить" не работает:

во=ВнешниеОбработки.Создать(ПутьИлиИмяФайлаОбработки);
Выполнить("сообщить(типзнч(во))");//Даёт:Внешняя обработка объект: ПриНачалеРаботыСистемы



Выполнить("во+"+".а()");//Даёт ошибку {(1,3)}: Неопознанный оператор

во<<?>>+.а()


 
  Рекламное место пустует
   Mankubus
 
1 - 19.03.18 - 08:45
Выполнить("во"+".а()");
   Фигурнов
 
2 - 19.03.18 - 08:47
То есть можно описать в коде вызова во.а(),
но как сделать вызов, если мы заранее не знаем имя 
функции "а()" и получаем её через параметр

Функция а(ПараметрыВызова) Экспорт
//Выполняем полезные действия


Возврат ПолученноеЗначение;
КонецФункции

   Фигурнов
 
3 - 19.03.18 - 08:49
(1) в коде (0) опечатка, да
тем не менее бе неё 
{(1)}: Метод объекта не обнаружен (а)
во.а()
   Фигурнов
 
4 - 19.03.18 - 08:56
(1) Все верно, перезагрузить конфигуратор надо было
   Lexey_
 
5 - 19.03.18 - 09:09
(2) "но как сделать вызов, если мы заранее не знаем имя 
функции "а()""
заменить "а()" на параметр
   Franchiser
 
6 - 19.03.18 - 09:29
Во.а() просто работает?
   Фигурнов
 
7 - 19.03.18 - 10:01
(5) Как именно?
(6) Да. (0) в варианте (1) работает. Проблема была в том, что исправленный вариант внешней обработки не виделся клиентом 1с до перезапуска конфигуратора, что показалось странным.
   Lexey_
 
8 - 19.03.18 - 10:02
(7) просто замени одно на другое
   Фигурнов
 
9 - 19.03.18 - 10:09
(8) не ясно, что подразумевается под параметром, впрочем задача решена в (1), и, должно быть, красивей не выйдет
   Lexey_
 
10 - 19.03.18 - 10:26
(9) " не ясно, что подразумевается под параметром", ну в (2) же что-то подразумевается: "если мы заранее не знаем имя
функции "а()" и получаем её через параметр"
 
  Рекламное место пустует


Список тем форума
Рекламное место пустует   Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует