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

Основные характеристики

  • Интерпретатор с предварительной компиляцией — исходный код на встроенном языке компилируется во внутренний байт-код 1С, а потом исполняется виртуальной машиной стекового типа.
  • Скомпилированные модули кешируются.
  • Является предметно-ориентированным языком. Обладает некоторыми возможностями объектно-ориентированных языков: обращение к свойствам и методам объектов. Но программно нельзя создавать новые классы, только визуально.
  • Используется мягкая типизация переменных, тип переменной определяется ее значением.
  • Динамическая типизация переменных — одна переменная может принимать значения разных типов.

Комментарии

В тексте модуля все что идет после двойного слеша «//» является комментарием. При компиляции программного модуля комментарии игнорируются.

Комментарии нужны чтобы сделать код более понятным для программиста. Как правило на уровне процедуры или функции комментарии отвечают на вопрос «Что?» (что делает данная функция). Внутри процедуры на вопрос «Как?» (алгоритм функции). На уровне строки кода на вопрос «Почему?» (почему переменной было присвоено такое-то значение и т.п.)

//это комментарий
а = 2; // это тоже комментарий

Операторы

Это основной блок программного модуля. Между собой разделяются точкой с запятой «;». На одной строке можно расположить несколько операторов. Также один оператор может быть на нескольких строках (тогда в конце первой строки не нужно ставить «;»).

Операторы бывают двух видов:

  • Операторы объявления переменных
  • Исполняемые операторы, которые манипулируют с переменными
Перем Переменная; //это оператор объявления переменной
 
Переменная = 1; // исполняемый оператор
МояПроцедурa(Переменная); // тоже исполняемый оператор

При написании кода можно писать на русском, на английском и даже смешивать.

Перем Переменная;
Переменная = Undefined;

Регистр не имеет значения:

Переменная = 1;
переменная = 1;
перемеННАЯ = 2; //это все одна и та же переменная

Структура модуля

  • раздел описания переменных
  • раздел описания процедур и функций
  • раздел основной программы (исполняется при инициализации модуля).
//раздел описания переменных
Перем а;
Перем б;
 
//раздел описания процедур и функций
Процедура МояПроцедурa()
КонецПроцедуры	
 
Функция МояФyнкция()
	Возврат 1;
КонецФункции
 
//раздел основной основной программы
а = 0;
б = 0;

События

В отличии от других языков программирования в 1С нет метода Main с которого начинается выполнение программы. Модули выполняются в определенных ситуациях, которые заранее известны и называются событиями.

У прикладного решения 1С есть определенный жизненный цикл. При запуске открывается основной раздел. Затем пользователь может открыть какую-то форму списка документов, создать новый документ, открыв его форму и т.п.

Этот жизненный цикл нельзя изменить. Но в него можно вмешаться через события. Примеры событий: При начале работы системы, При открытии формы, При записи и т.п.

Клиент-серверная архитектура

Клиентская часть 1С и сервер 1С могут находиться на разных компьютерах. При компиляции модуля он может быть скомпилирован только на клиенте, только на сервере, или на клиенте и на сервере одновременно. При этом, работа с базой данных возможна только на сервере.Нужно учитывать, что не все объекты доступны на клиенте, и не все объекты можно передавать с клиента на сервер.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями: