Шаг 19 - Синтаксис формул

1. Текст.

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

Пример: “Текст”,  ‘Текст’

2. Числа.

Числа должны содержать в качестве десятичного разделителя точку. Не допускаются пробелы внутри числа, разделители тысяч и знаки валюты.

Пример:  12345

3. Поля данных.

Синтаксис: {Имя_таблицы.Поле}

При использовании в формуле поле должно быть заключено в фигурные скобки {}, с указанием имени таблицы и, через точку, имени поля:

Пример: {Orders.Costs}

4. Поля формул и параметрические поля.

Синтаксис: {Имя_поля}

Имена этих полей заключаются в фигурные скобки. Перед именем поля формулы автоматически устанавливается знак @, перед именем параметрического поля – знак ?.

Пример: {@SumAccount}, {?DocDate}

5. Операции.

При использовании операций в формулах в нужном месте просто вводится знак операции. До и после знака операции можно вводить пробел, но он не обязателен.

Пример: 1 + 2

6. Функции.

Синтаксис: Имя_функции(параметры)

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

Пример: Sum({Pays.Qv})

7. Скобки.

{} – в фигурные скобки заключаются имена полей;
[] – в квадратные скобки заключаются индексы массивов;
() – в круглые скобки заключаются параметры, а также они позволяют группировать операции и определять порядок их выполнения.

8. Переменные.

В Crystal Reports переменные определяются с помощью ключевого слова, которое начинается с названия типа данных и суффикса Var.

Пример: 	NumberVar x ; 		- переменная x числового типа
	CurrencyVar CCost ; 	- переменная CCost денежного типа

Значения присваиваются переменным с помощью оператора присваивания ":=":

X := 24 ;

Присвоить значение переменной можно непосредственно при объявлении:

StringVar LName := ”Иванов” ;

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

9. Комментарии.

Комментарии в формулах начинаются со знака "//" (двойной слэш) и действуют до конца строки. В одной строке допускается совместное написание выражения и комментария, но комментарий должен быть справа.

//Это пример комментария

Еще одна неприятная особенность: редактор формул не воспринимает набор текста в русском регистре. Приходится писать текстовые фрагменты в Блокноте, а затем копировать через буфер обмена. Формулы с русскими текстовыми фрагментами работают нормально. Если кто знает лучший способ решения этой проблемы, пишите.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Юрий Гвоздев - 14.01.2003