В ИР Обработка.ирКонсольКода.Форма.Форма хочу из метода
Процедура КоманднаяПанельВстроенныйЯзыкВычислитьВыражение(Кнопка)
#Если Сервер И Не Сервер Тогда
ПолеВстроенногоЯзыка = Обработки.ирКлсПолеТекстовогоДокументаСКонтекстнойПодсказкой.Создать();
#КонецЕсли
КорневоеЗначение = Неопределено;
ТекущееВыражение = ЭлементыФормы.ВстроенныйЯзык.ВыделенныйТекст;
Если СтрДлина(ТекущееВыражение) = 0 Тогда
ТекущееВыражение = ПолеВстроенногоЯзыка.ПолучитьТекущееОбъектноеВыражение();
КонецЕсли;
КорневоеИмя = ирОбщий.ПервыйФрагментЛкс(ТекущееВыражение);
СтрокаПараметра = Параметры.Найти(Нрег(КорневоеИмя), "НИмя");
ИсследовательОбъектов = ирОбщий.ПолучитьОбъектПоПолномуИмениМетаданныхЛкс("Обработка.ирИсследовательОбъектов");
#Если Сервер И Не Сервер Тогда
ИсследовательОбъектов = Обработки.ирИсследовательОбъектов.Создать();
#КонецЕсли
//Если СтрокаПараметра <> Неопределено Тогда
// ЭлементыФормы.Параметры.ТекущаяСтрока = СтрокаПараметра;
// Если СтрокаПараметра <> Неопределено Тогда
// КорневоеЗначение = СтрокаПараметра.Значение;
// КонецЕсли;
// ИсследовательОбъектов.ИсследоватьОбъект(КорневоеЗначение, , КорневоеИмя, ирОбщий.ПервыйФрагментЛкс(Сред(ТекущееВыражение, СтрДлина(КорневоеИмя) + 2)));
//ИначеЕсли Прав(ТекущееВыражение, 1) <> "(" Тогда
// ИсследовательОбъектов.ВычислитьВыражение(ТекущееВыражение);
//КонецЕсли;
НаСервере = КонтекстВыполнения <> "Клиент";
СтруктураПараметров = Новый Структура("Результат");
АлгоритмВычисления = "";
Для Каждого СтрокаПараметра Из Параметры Цикл
СтруктураПараметров.Вставить(СтрокаПараметра.Имя, СтрокаПараметра.Значение);
АлгоритмВычисления = АлгоритмВычисления + СтрокаПараметра.Имя + " = _АлгоритмОбъект." + СтрокаПараметра.Имя + ";" + Символы.ПС;
КонецЦикла;
АлгоритмВычисления = АлгоритмВычисления + " _АлгоритмОбъект.Результат = " + ТекущееВыражение + ";";
ирОбщий.ВыполнитьАлгоритмВКонтекстеЛкс(АлгоритмВычисления, СтруктураПараметров, НаСервере);
КорневоеЗначение = СтруктураПараметров.Результат;
ИсследовательОбъектов.ИсследоватьОбъект(КорневоеЗначение,, ТекущееВыражение);
КонецПроцедуры
Выделить фрагмент как на снимке. Но команда подхватывает лишнюю строку.
#1, ред. 26 ноября 2020 08:13
Регулярно спотыкаюсь об этот баг.
Вот еще пример
#2, 27 апреля 2021 06:47
bolsun изменил статус на Подтвержденный баг
#3, 27 апреля 2021 18:30
bolsun изменил статус на Закрыто