Позволяет в явном виде объявить переменную.
Синтаксис
Перем <Имя переменной 1> [Экспорт] [, <Имя переменной 2> [Экспорт], …]Полное описание, параметры и ограничения
Перем (Var)
Перем (Var)
Синтаксис:
Перем <Имя переменной 1> [Экспорт] [, <Имя переменной 2> [Экспорт], …]
Параметры:
<Имя переменной 1>[, <Имя переменной 2>, …]
Задается имя или имена объявляемых переменных.
Экспорт
Необязательное ключевое слово.
Указывает, что данная переменная доступна при обращении к контексту этого модуля из других модулей. Не имеет смысла при объявлении переменных отдельных процедур или функций.
Описание:
Позволяет в явном виде объявить переменную.
Методическая информация
Практические примеры
Перем и присваивание: сохранить промежуточные значения расчёта
Перем объявляет локальные имена. Присваивание записывает значение в переменную; следующее присваивание заменяет прежнее.
Где и как запускать
Полный серверный общий модуль учебной базы. Собственные значения в памяти, без чтения или записи рабочих данных.
Подготовка
Используйте отдельную учебную базу без рабочих данных. Создайте серверный общий модуль УчебныйЯзык с флагом Сервер, без Привилегированный.
Вставьте весь модуль выбранного примера, а не одну процедуру внутрь другой. Из своей серверной команды учебной обработки вызовите УчебныйЯзык.ВыполнитьПример().
Все числа, строки и коллекции созданы в самом примере. Документы, регистры, файловая система и сеть не используются; никаких зависимостей от КА2/УНФ/УТ/БП нет.
Браузер показывает код, но не исполняет BSL. Проверки результата нужно выполнить вручную на платформе 8.5.1.1343 в учебной базе.
Процедура ВыполнитьПример() Экспорт
Перем Цена, Количество, Сумма;
Цена = 100;
Количество = 3;
Сумма = Цена * Количество;
Сообщить(Сумма = 300);
Количество = 4;
Сообщить(Сумма = 300);
Сумма = Цена * Количество;
Сообщить(Сумма = 400);
КонецПроцедурыРазбор по шагам
Объявить три локальные переменные процедуры.
Записать цену и количество, затем вычислить сумму один раз.
Изменить количество: сохранённая сумма не пересчитывается автоматически.
Выполнить присваивание суммы снова и получить новый результат.
Как проверить результат
Три сообщения Истина: 300, ещё 300, затем 400.
Поставьте точку останова после изменения Количество и посмотрите обе независимые переменные.
Ожидаемый результат
На конкретных числах показано, чем присваивание отличается от формулы, постоянно связанной с ячейкой.
На что обратить внимание
Переменная Сумма не является автоматически вычисляемым реквизитом.
Локальные переменные существуют в данном вызове процедуры.
Не переносите объявление переменных модуля в общий модуль без проверки его ограничений.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.