Выполнить и Вычислить в 1С
Выполнить
Оператор Выполнить позволяет выполнить любой кусок кода, переданный ему как параметр:
В данном примере переменная «в» будет равна 3.
Код, который передается параметром оператору Выполнить не может содержать объявление переменных и процедуры и функции. По сути весь код и так будет выполняться в процедуре.
В данном примере будет ошибка:
{(1,1)}: Объявления переменных должны быть расположены в начале модуля, процедуры или функции {Обработка.Обработка1.Форма.Форма.Форма(6) }: Выполнить(Код);
Здесь тоже будет ошибка:
{(1,15)}: Ожидается последовательность операторов
{Обработка.Обработка1.Форма.Форма.Форма(6) }: Выполнить(Код);
Параметр оператору Выполнить можно передавать без скобок, можно напрямую, без промежуточной переменной «Код»:
Вычислить
Функция Вычислить используется для вычисления арифметических, логических и операций конкатекации строк:
Код в функции Вычислить не может содержать несколько операторов:
Отличие Выполнить от Вычислить
* Выполнить — это оператор встроенного языка, Вычислить — функция
* В Выполнить можно использовать несколько операторов, в Вычислить только одно выражение
* Выполнить работает как процедура. Вычислить возвращает результат выполнения, работает как функция.
Смотрите также:
Электронный учебник по по программированию в 1С
Рекомендации по изучению программирования 1С с нуля
Программное решение для сдачи и подготовки к экзаменам
Программирование в 1С 8.3 с нуля — краткий самоучитель
Комплексная подготовка программистов 1С:Предприятие 8.2
Сайты с уроками программирования и со справочниками
Youtube-каналы с уроками программирования
Сайты для обучения программированию
Лекции и уроки
Оператор Выполнить позволяет выполнить любой кусок кода, переданный ему как параметр:
Процедура Команда1(Команда) в = Неопределено; Код = "а = 1; б = 2; в = а + б"; Выполнить(Код); Сообщить(в); // 3 КонецПроцедуры
В данном примере переменная «в» будет равна 3.
Код, который передается параметром оператору Выполнить не может содержать объявление переменных и процедуры и функции. По сути весь код и так будет выполняться в процедуре.
Процедура Команда1(Команда) в = Неопределено; Код = "Перем а; а = 1; б = 2;"; Выполнить(Код); //ошибка Сообщить(в); КонецПроцедуры
В данном примере будет ошибка:
{(1,1)}: Объявления переменных должны быть расположены в начале модуля, процедуры или функции {Обработка.Обработка1.Форма.Форма.Форма(6)
Процедура Команда1(Команда) в = Неопределено; Код = "а = 1; б = 2; Процедура Сумма(а, б) в = а + б; КонецПроцедуры"; Выполнить(Код); //ошибка Сообщить(в); КонецПроцедуры
Здесь тоже будет ошибка:
{(1,15)}: Ожидается последовательность операторов
{Обработка.Обработка1.Форма.Форма.Форма(6)
Параметр оператору Выполнить можно передавать без скобок, можно напрямую, без промежуточной переменной «Код»:
Процедура Команда1(Команда) в = Неопределено; Выполнить "а = 1; б = 2; в = а + б;"; Сообщить(в); КонецПроцедуры
Вычислить
Функция Вычислить используется для вычисления арифметических, логических и операций конкатекации строк:
Процедура Команда1(Команда) а = 1; б = 2; Сумма = Вычислить("а+б"); Результат = Вычислить("а>б"); Строка = Вычислить("Строка(а) + Строка(б)"); Сообщить(Сумма); //3 Сообщить(Результат); //Ложь Сообщить(Строка); // "12", это строка, а не число КонецПроцедуры
Код в функции Вычислить не может содержать несколько операторов:
Процедура Команда1(Команда) а = 1; б = 2; Результат = Вычислить("а+б; а>б;"); //ошибка Сообщить(Результат); КонецПроцедуры
Отличие Выполнить от Вычислить
* Выполнить — это оператор встроенного языка, Вычислить — функция
* В Выполнить можно использовать несколько операторов, в Вычислить только одно выражение
* Выполнить работает как процедура. Вычислить возвращает результат выполнения, работает как функция.
Смотрите также:
Электронный учебник по по программированию в 1С
Рекомендации по изучению программирования 1С с нуля
Программное решение для сдачи и подготовки к экзаменам
Программирование в 1С 8.3 с нуля — краткий самоучитель
Комплексная подготовка программистов 1С:Предприятие 8.2
Сайты с уроками программирования и со справочниками
Youtube-каналы с уроками программирования
Сайты для обучения программированию
Лекции и уроки