8.2. Можно ли в "Выполнить" запихнуть функцию или альтернативное решение?
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.81] |
|
|
Правила раздела:
8.2. Можно ли в "Выполнить" запихнуть функцию или альтернативное решение?
|
Сообщ.
#1
,
|
|
|
|
![]() ![]() СтрокаТ = " |Функция ПолучитьОдин() | Возврат 1; |КонецФункции |Сообщить(""Один=""+ПолучитьОдин()); |"; Выполнить(СтрокаТ); Даёт ошибку: {(2,1)}: Ожидается последовательность операторов <<?>>Функция ПолучитьОдин() Есть ли способ объявить произвольную функцию? |
|
Сообщ.
#2
,
|
|
|
|
Цитата lastlogic @ Есть ли способ объявить произвольную функцию? Хм.. Интересный вариант. Не пробовал, но, думаю, не получится. Можно попробовать засунуть функцию во внешнюю обработку и обращаться к внешней обработке. |
|
Сообщ.
#3
,
|
|
|
|
Пока сделал как правой рукой левое ухо чесать:
![]() ![]() Перем ФункцииОбщегоМодуля; Функция ПолучитьЗначениеВстроеннойФункции(ИмяФункции, Параметр1 = Неопределено, Параметр2 = Неопределено, Параметр3 = Неопределено, Параметр4 = Неопределено) Перем Результат; Стр = ФункцииОбщегоМодуля.НайтиПоЗначению(ИмяФункции); Если Стр = Неопределено Тогда ВызватьИсключение("Неопределена встроенная функция """+ИмяФункции+""""); Иначе Выполнить(Стр.Представление); КонецЕсли; Возврат Результат; КонецФункции ФункцииОбщегоМодуля = Новый СписокЗначений; ФункцииОбщегоМодуля.Добавить("ПолучитьОдин", "Результат = 1"); Сообщить("Проверить работу функции="+ПолучитьЗначениеВстроеннойФункции("ПолучитьОдин")); |
|
Сообщ.
#4
,
|
|
|
|
По-моему в вычислить() можно было нечто подобное завести... Могу и ошибаться
|
|
Сообщ.
#5
,
|
|
|
|
Цитата Outlander @ По-моему в вычислить() можно было нечто подобное завести Вычислить изначально треба выражение, пробовал... ЗЫ: Немного не по теме, но вот например в джава скрипте есть кроме объявления function abc(Prm){} можно впиндюрить abc = function(Prm){} может и одинэсники замутили что-то подобное? |