Имя: Пароль:
1C
 
Как проверить что объект содержит экспортную функцию?
,
0 RomaH
 
naïve
08.04.20
11:20
Собственно УФ передаю в общий модуль
надо проверить/вызвать экспортную функцию этой формы, у некоторых форм этой функции может не быть
1 RomanYS
 
08.04.20
11:21
"Попытка" не предлагать?
2 RomaH
 
naïve
08.04.20
11:23
(1) не
попытка - будет выполнение функции
если в самой функции ошибка - она вывалится по ошибке и уйдет в "стандартную обработку" - как будто функции нет

т.е. если функция есть, но в ней ошибка - мне эту ошибку надо показать пользователю
3 mikecool
 
08.04.20
11:40
в типовых вроде только проверку наличия подсистем выполняют...
про наличие функций - не знаю как
4 RomanYS
 
08.04.20
11:56
(2) У ошибки есть описание, го можно обработать
5 palsergeich
 
08.04.20
12:11
(0) Нет такой возможности из коробки
6 Ненавижу 1С
 
гуру
08.04.20
12:14
у формы в параметрах можно добавить свой элемент для тех у кого эта функция есть
проверять наличие элемента
7 TormozIT
 
гуру
08.04.20
12:45
ирОбщий:

Функция МетодРеализованЛкс(Объект, ИмяМетода) Экспорт
    
    Если Объект = Неопределено Тогда
        Возврат Ложь;
    КонецЕсли;
    Выражение = "Объект." + ИмяМетода + "(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)";
    Попытка
        Выполнить(Выражение);
    Исключение
        Инфо = ИнформацияОбОшибке();
        Описание = Инфо.Описание;
    КонецПопытки;
    Результат = Найти(НРег(Описание), "(" + НРег(ИмяМетода) + ")") = 0;
    Возврат Результат;
    
КонецФункции
8 mikecool
 
08.04.20
13:06
(7) нормально!
9 ManyakRus
 
08.04.20
13:13
в как узнать не выполняя этот метод ?
чтоб метод не сделал чего-нибудь лишнего...
10 mikecool
 
08.04.20
13:14
(9) выгрузить модули, поискать по файлам
11 TormozIT
 
гуру
08.04.20
13:16
(9) Так в (7) же показал.
12 TormozIT
 
гуру
08.04.20
13:17
Вероятность, что (7) приведет к выполнению метода крайне мала. При желании вы ее можете еще уменьшить на порядки, добавив запятых.
13 RomanYS
 
08.04.20
13:18
(9) в (7) почти гарантировано будет ошибка по числу параметров. Метод не выплнится
14 ManyakRus
 
08.04.20
13:33
(12) с запятыми можно попробовать :)
надеюсь он напишет по русски про это в ошибке :)
15 TormozIT
 
гуру
08.04.20
13:38
Удивительно что в платформе до сих пор нет такой функции.
16 palsergeich
 
08.04.20
13:54
(15) ИМХО и не надо в текущей стадии развития платформы.
17 RomanYS
 
08.04.20
13:56
(15) А зачем? Они и без этого умудрились БСП наваять, которую можно по частям внедрять.