Руководство разработчика

Переменные

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

Пример:

а = 25/5         // а   – переменная числового типа
б = "Инфо"       // б   – переменная строкового типа
д_1 = 01.01.2015 // д_1 – переменная типа дата

Для определения переменной объектного типа используется ключевое слово СОЗДАТЬ. Универсальный конструктор СОЗДАТЬ заполняет поля объекта значениями по умолчанию. Также могут использоваться специальные функции-конструкторы, для каждого объектного типа – свои.

Пример:

СОЗДАТЬ(Оп, ТИП_ОПЕРАЦИЯ) // Оп – переменная типа "Операция", 
                          // используется универсальный конструктор
Сч = СЧЕТ_СЧИТАТЬ("50")   // Сч – переменная типа "Счет",
                          // используется специальный конструктор

Узнать тип какой-либо переменной можно при помощи функции ТИП_ПЕРЕМ.

Общие переменные

Общие переменные используются для обмена данными между библиотеками функций и формульной частью бланка. Определения общих переменных располагаются в библиотеках и начинаются с ключевого слова ПЕРЕМ. Общая переменная создается при подключении библиотеки и существует до конца работы с бланком. После создания к общей переменной можно обращаться из формульной части и из любой функции любой подключенной библиотеки. Поэтому не допускается одновременно использовать библиотеки, содержащие определения общих переменных с одинаковыми именами.

Определения общих переменных бывают двух видов:

  1. С принудительным заданием начального значения при каждом пересчете бланка.
  2. Сохраняющие значение вне зависимости от пересчета бланка.

Соответствующие строки определений в библиотеке будут выглядеть следующим образом:

ПЕРЕМ <имя переменной> = <начальное значение>
ПЕРЕМ <тип переменной> : <имя переменной>
<начальное значение>
выражение, задающее тип общей переменной;
<тип переменной>
ключевое слово описания типов.

Для общих индексных переменных допускаются следующие виды объявления:

ПЕРЕМ <имя переменной>!
ПЕРЕМ <имя переменной>[]

Замечания:

  1. В библиотеке после ключевого слова ПЕРЕМ можно делать определение только одной общей переменной.
  2. Определение общей переменной должно занимать только одну строку.
  3. Для индексных переменных тип элемента и индекса не задаются.

Пример:

// ---------------------------- Библиотека MyLIB --------------------------------
// Общие переменные 1-го типа
ПЕРЕМ Номер = 1
ПЕРЕМ Дата = 20.04.2015
ПЕРЕМ База = БД_ОТКРЫТЬ("TEST")
ПЕРЕМ Номер_2 = Номер + 1

// Общие переменные 2-го типа
ПЕРЕМ ТИП_ЛОГИКА : Признак
ПЕРЕМ ТИП_ЧИСЛО : КоличПересч
ПЕРЕМ ТИП_ОПЕРАЦИЯ : Оп

// Общие индексные переменные
ПЕРЕМ даты!
ПЕРЕМ суммы[] // то же самое, что суммы!
//----------------------- Формульная часть бланка ---------------------------------
ИСПОЛЬЗОВАТЬ ("MyLIB") // подключаем библиотеку и создаем общие переменные
Кол = База.ВСЕГО       // обращаемся к общей базе данных
Номер = Номер + 1
КоличПересч = КоличПересч + 1

Отличие общих переменных 1-го и 2-го типа в том, что переменная Номер по окончании каждого пересчета бланка будет равна 2, а значение переменной КоличПересч будет возрастать на единицу с каждым пересчетом. Заметим, что хотя значение переменной Номер в конце пересчета становится равным 2, но значение переменной Номер_2 не становится равным 3, т.к. на момент задания ее начального значения Номер=1.

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


См. также: