Перем

Встроенный язык · Var

Позволяет в явном виде объявить переменную.

Синтаксис

Перем <Имя переменной 1> [Экспорт] [, <Имя переменной 2> [Экспорт], …]
Полное описание, параметры и ограничения

Перем (Var)

Перем (Var)

Синтаксис:

Перем <Имя переменной 1> [Экспорт] [, <Имя переменной 2> [Экспорт], …]

Параметры:

<Имя переменной 1>[, <Имя переменной 2>, …]
Задается имя или имена объявляемых переменных.

Экспорт
Необязательное ключевое слово.
Указывает, что данная переменная доступна при обращении к контексту этого модуля из других модулей. Не имеет смысла при объявлении переменных отдельных процедур или функций.

Описание:
Позволяет в явном виде объявить переменную.

Методическая информация

Практические примеры

Перем и присваивание: сохранить промежуточные значения расчёта

Перем объявляет локальные имена. Присваивание записывает значение в переменную; следующее присваивание заменяет прежнее.

Где и как запускать

Полный серверный общий модуль учебной базы. Собственные значения в памяти, без чтения или записи рабочих данных.

Подготовка

  1. Используйте отдельную учебную базу без рабочих данных. Создайте серверный общий модуль УчебныйЯзык с флагом Сервер, без Привилегированный.

  2. Вставьте весь модуль выбранного примера, а не одну процедуру внутрь другой. Из своей серверной команды учебной обработки вызовите УчебныйЯзык.ВыполнитьПример().

  3. Все числа, строки и коллекции созданы в самом примере. Документы, регистры, файловая система и сеть не используются; никаких зависимостей от КА2/УНФ/УТ/БП нет.

  4. Браузер показывает код, но не исполняет BSL. Проверки результата нужно выполнить вручную на платформе 8.5.1.1343 в учебной базе.

Процедура ВыполнитьПример() Экспорт
    Перем Цена, Количество, Сумма;
    Цена = 100;
    Количество = 3;
    Сумма = Цена * Количество;
    Сообщить(Сумма = 300);
    Количество = 4;
    Сообщить(Сумма = 300);
    Сумма = Цена * Количество;
    Сообщить(Сумма = 400);
КонецПроцедуры

Разбор по шагам

  1. Объявить три локальные переменные процедуры.

  2. Записать цену и количество, затем вычислить сумму один раз.

  3. Изменить количество: сохранённая сумма не пересчитывается автоматически.

  4. Выполнить присваивание суммы снова и получить новый результат.

Как проверить результат

  1. Три сообщения Истина: 300, ещё 300, затем 400.

  2. Поставьте точку останова после изменения Количество и посмотрите обе независимые переменные.

Ожидаемый результат

На конкретных числах показано, чем присваивание отличается от формулы, постоянно связанной с ячейкой.

На что обратить внимание

  1. Переменная Сумма не является автоматически вычисляемым реквизитом.

  2. Локальные переменные существуют в данном вызове процедуры.

  3. Не переносите объявление переменных модуля в общий модуль без проверки его ограничений.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.