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. Комментарии.
Комментарии в формулах начинаются со знака "//" (двойной слэш) и действуют до конца строки. В одной строке допускается совместное написание выражения и комментария, но комментарий должен быть справа.
//Это пример комментария
Еще одна неприятная особенность: редактор формул не воспринимает набор текста в русском регистре. Приходится писать текстовые фрагменты в Блокноте, а затем копировать через буфер обмена. Формулы с русскими текстовыми фрагментами работают нормально. Если кто знает лучший способ решения этой проблемы, пишите.