Зарезервированные слова

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

Синтаксис и применение Зарезервированные слова в платформе 1С:Предприятие. Описание и примеры кода.

Полное описание, параметры и ограничения

Зарезервированные слова

Приведенные далее ключевые слова являются зарезервированными и не могут использоваться в качестве создаваемых имен переменных, реквизитов объектов конфигурации и объявляемых процедур и функций. В данном варианте языка каждое из ключевых слов имеет два представления — русское и английское.

Русское имя

Английское имя

Если

If

Тогда

Then

ИначеЕсли

ElsIf

Иначе

Else

КонецЕсли

EndIf

Для

For

Каждого

Each

Из

In

По

To

Пока

While

Цикл

Do

КонецЦикла

EndDo

Ждать

Await

Процедура

Procedure

Функция

Function

КонецПроцедуры

EndProcedure

КонецФункции

EndFunction

Перем

Var

Перейти

Goto

Возврат

Return

Продолжить

Continue

Прервать

Break

И

And

Или

Or

Не

Not

Попытка

Try

Исключение

Except

ВызватьИсключение

Raise

КонецПопытки

EndTry

Новый

New

Выполнить

Execute

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

Имена: регистр не создаёт вторую переменную

Считаем заказ и намеренно обращаемся к одним идентификаторам разными регистрами. Отдельно показываем, что строковые данные не превращаются автоматически в верхний регистр.

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

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

Подготовка

  1. В отдельной учебной базе 8.5.1.1343 создайте общий модуль УчебныйЯзык: Сервер=Истина, Глобальный=Ложь, ВызовСервера=Ложь, Привилегированный=Ложь. Клиентские и внешнее соединение отключены; ПовторноеИспользованиеВозвращаемыхЗначений=НеИспользовать.

  2. Вставьте весь приведённый текст в этот общий модуль. ВыполнитьПример — экспортная точка входа; остальные процедуры и функции располагаются рядом, а не внутри неё.

  3. В своей внешней учебной обработке создайте управляемую форму, команду Выполнить и кнопку. Клиентский обработчик Выполнить(Команда) вызывает свою процедуру ВыполнитьНаСервере(); она имеет директиву &НаСервереБезКонтекста и одну строку УчебныйЯзык.ВыполнитьПример();. Это серверный вызов общего модуля, а не разрешение клиенту прямо обращаться к серверной библиотеке.

  4. Все товары, количества и строки придуманы в этом модуле. Запись документов, подключение к чужой базе, файлы, сеть и печать не используются. В рабочие общие модули текст не вставляйте.

  5. HTML только показывает BSL. Код в 1С не запускался; перечисленные результаты и отрицательные опыты проверяйте самостоятельно в собственном стенде.

Процедура ВыполнитьПример() Экспорт
    ЦенаЗаКнигу = 250;
    цЕНАзаКНИГУ = цЕнАзАкНиГу + 50;
    Количество_2 = 3;
    _ЛимитЗаказа = 1000;
    Сумма_Заказа = Рассчитать_Книги(ЦЕНАЗАКНИГУ, количество_2);
    Сообщить(ЦенаЗаКнигу = 300);
    Сообщить(Сумма_Заказа = 900);
    Сообщить(сумма_заказа <= _лимитзаказа);
    Название = "Азбука";
    Сообщить(НАЗВАНИЕ);
    Сообщить(ВРег(Название) = "АЗБУКА");
    Сообщить(Название = "Азбука");
КонецПроцедуры

Функция Рассчитать_Книги(Знач Цена_1, Знач Количество_1)
    Возврат цена_1 * КОЛИЧЕСТВО_1;
КонецФункции

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

  1. Имя начинается с буквы или подчёркивания; цифра допустима дальше. Поэтому Количество_2, _ЛимитЗаказа и Рассчитать_Книги — осмысленные допустимые имена.

  2. Первое присваивание задаёт цену 250. Следующее, хотя написано другим регистром, обращается к той же переменной и повышает цену до 300.

  3. Передать цену и количество в свою функцию; имена параметров тоже распознаются без учёта регистра. Итог 300×3=900 укладывается в лимит 1000.

  4. Название и НАЗВАНИЕ — один идентификатор. Само сохранённое строковое значение всё ещё Азбука.

  5. ВРег возвращает отдельную строку АЗБУКА; без присваивания она не меняет исходное значение. Регистр идентификаторов и регистр данных — разные вопросы.

  6. Если, If, Процедура и другие зарезервированные слова нельзя выбирать именами. Непосредственно доступные свойства текущего контекста тоже не следует перекрывать; список допустимых имён зависит от места модуля.

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

  1. Пять логических проверок Истина и строка Азбука. Цена не 250, а 300; сумма 900.

  2. Поменяйте второе присваивание на НоваяЦена = ЦенаЗаКнигу + 50: это уже другое имя, исходная цена останется 250, сумма заказа 750. Обновите проверки новой версии.

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

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

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

  1. Не используйте 2Количество, имя с пробелом или дефисом: это не допустимые варианты такого идентификатора.

  2. Цена и ЦЕНА не могут обозначать две независимые величины в одном контексте. Для старой и новой цены нужны разные содержательные имена.

  3. Одинаковое написание в разных модулях не доказывает общий контекст. Этот пример специально находится в одном серверном общем модуле.

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

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

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

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

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