2.2.6. Изменение свойств отчета
RPTwin позволяет изменять свойства как уже созданного отчета, так и новых отчетов. Свойства существующего отчета редактируются в диалогах Current Layout и Page Layout. Так, рассматриваемые ниже свойства Show Text Borders, Add Names to New Data Fields, Snap Objects To Grid, Show Grid, Measurement Units, Number Formats и Enable Case Sensitive Sort для уже созданного отчета можно изменить в диалоге Current Layout (меню Options/Current Layout).
Те же самые свойства для вновь создаваемых отчетов редактируются в диалоге Preferences (рис. 2.2.9).
Опция Default Data Format позволяет задать форматирование полей отчета по умолчанию. Отдельно задается формат для полей разных типов: Datetime, Date, Time, Number, Money. Форматирование каждого поля в уже созданном отчете можно изменить в диалоге Data Field Properties (см. рис. 2.2.4).
По умолчанию RPTwin создает многоколонный отчет, разбивая его по ширине, в случае необходимости - на несколько страниц. Если включить опцию Fit All Columns on One Page, то колонки будут сжаты так, чтобы уместить отчет по ширине на одной странице.
В группе Margins устанавливается ширина поля отчета в сантиметрах или дюймах (Units).
Если опция Show Text Borders включена, все текстовые поля отчета заключаются в рамки.
При включенной опции Add Names to New Data Fields новые поля вносятся в отчет вместе с текстовым полем - именем колонки в файле данных.
Snap Objects To Grid позволяет жестко связать поля с координатной сеткой.
Show Grid - показывает координатную сетку.
В группе Number Formats задается формат числовых полей - разделители, символ валюты и др.
Опция Enable Case Sensitive Sort позволяет учитывать при сортировке различия в регистре.
2.2.7. Создание формул RPTwin
RPTwin позволяет преобразовать в формулу любое поле данных. Для этого в диалоге Data Field Properties (см. рис. 2.2.4) следует щелкнуть по кнопке Formula Editor. Возникает диалог Formula Editor (рис. 2.2.10).
Рис. 2.2.10. Диалог Formula Editor
По умолчанию в верхнем поле диалога (Formula) отображается имя теКуЩего поля данных отчета. В это поле следует внести текст создаваемой (Ьормулы. В левом списке диалога DataSet Columns содержится список колонок файла данных отчета, в правом (Functions) - список функций gpTwin. В нижнем списке (Operators) содержится список операторов. Для внесения колонки, функции или оператора в текст формулы следует дважды щелкнуть по соответствующей строчке списка. Группа кнопок Edit облегчает редактирование текста формулы. Текст формулы должен удовлетворять требованиям синтаксиса формул RPTwin. Если формула содержит ошибку, то при закрытии диалога Formula Editor (кнопка OK) возникнет диалог RPTwin с сообщением об ошибке.
Рассмотрим синтаксические правила формул RPTwin.
Имена колонок. Имена колонок не должны начинаться с цифры и не должны содержать специальных символов (пробел, символ оператора и т. д.). Имя колонки в примере на рис. 2.2.10 содержит пробел, что является ошибкой. Для использования имен колонок, содержащих специальные символы, их следует заключить в фигурные скобки. Имена полей, не содержащие специальных символов, можно использовать без скобок. Имя "Arrow Dest. Type" - неверное, имена "{Arrow Dest. Type}" и "Name" -не содержат ошибки. Если имя колонки содержит пробелы в начале или конце строки, эти пробелы должны быть заключены в фигурные скобки -"{Name}" (два пробела в начале имени) или "{Name }" (два пробела в конце имени).
Операторы. RPTwin поддерживает три типа операторов:
арифметические: сложение (+), вычитание (-), умножение (*), деление (/);
текстовый оператор конкатенации (&);
" операторы сравнения, использующиеся в предикате конструкции If (<=, <, =, >=, >);
■логические операторы (is in, contains, and, or, not, is null, is not null).
Арифметические операторы используются в обычном смысле. В арифметических выражениях могут быть использованы круглые скобки, при этом сначала выполняются действия в скобках.
Оператор конкатенации позволяет сложить значения текстовых полей. При создании формул, оперирующих с текстом, следует учитывать, что строковые константы заключаются в двойные кавычки. Так, если значение поля Arrow Dest. - "Брак", а поля Arrow Name - "Output", то результатом выполнения формулы "{Arrow Dest.}&" "&{ Arrow Name}" будет "Брак Output".
Типы данных. При выполнении действий над данными необходимо соблюдать правила соответствия типов. Если создать формулу ""Arrow" + 1.0", то RPTwin выдаст сообщение об ошибке несоответствия типов - текст не может быть сложен с числом. RPTwin различает пять типов данных:
Number;
Text; • Date;
Time;
Datetime.
Если возвращаемое значение формулы строка, то в некоторых случаях при несоответствии типов RPTwin не выдает ошибки, а конвертирует операнды в соответствующий тип. Например, выражение "3&5" будет выполнено без ошибки. Число 3 конвертируется в строку "3", 5 - в "5", результатом выполнения формулы будет строка "35".