Описание встроенного языка системы 1С Предприятие

         

Выражение и фильтр индекса


При работе с индексами во время исполнения 1С:Предприятия XBase-объекты производят вычисление выражения индекса и фильтра. Выражение индекса и фильтра — это строковые выражения, составленные на специальном языке объектов XBase.

Выражение индекса используется для вычисления значения ключа для каж­дой записи базы данных. Результатом вычисления выражение должно быть значение одного из следующих типов: числовое, строковое, дата или булево. Выражение фильтра должно возвращать результат типа булево. Если значение выражения фильтра для конкретной записи базы данных равно истине, инфор­мация об этой записи будет включена в индексный файл, в противном случае индексный файл не будет содержать информацию об этой записи и позициони­рование на эту запись XBase-объекта с данным текущим индексом произво­диться не будет.

Атрибуты (кроме "Ключ"), константы и функции могут быть использованы как части выражений. Части выражения могут объединяться с помощью других функций или операторов. Простейшим выражением может быть имя атрибута: "FULL_NAME". В таком случае тип выражения будет соответствовать типу ат­рибута.

Константы могут иметь числовой, строковый и булевый тип. Строковые константы заключаются в одиночные кавычки ('Строковая константа'). При необходимости включить в состав строковой константы символа двойной ка­вычки, его следует предварять обратной косой чертой, например, 'Фирма \"Вега\" '. Булевы константы записываются как .TRUE. или .Т. для обозначе­ния истины и .FALSE. или .F. в противном случае.

Операторы используются для объединения частей выражения. Части выра­жения должны иметь тип, соответствующий оператору, например, оператор "/" (деление) работает с двумя числовыми значениями.

Порядок выполнения операторов в выражении соответствует общепринято­му — с учетом скобок и приоритетов операторов. Например выражение "1+2*3" возвратит 7, а "(1+2)*3" возвратит 9.

Числовые операторы:

Имя оператора

Обозначение



Приоритет

Сложение

+

5

Вычитание

-

5

Умножение

*

6

Деление

/

6

В степень

** или ^

7




Строковые операторы:

Имя оператора

Обозначение

Приоритет

Объединение 1

+

5

Объединение 2

-

5

Оператор " Объединение 2" немного отличается тем, что пробелы в конце первой строки будут перемещены в конец результата. Например, результатом вычисления выражения " 'Иванов ' + 'И. И.' " будет "Иванов И. И.', а " 'Иванов ' - 'И. И.' " — 'ИвановИ.И.  '.

Операторы отношений:

Имя оператора

Обозначение

Приоритет

Равно

=

4

Не равно

<> или #

4

Меньше

<

4

Больше

>

4

Меньше или равно

<=

4

Больше или равно

>=

4

Содержит

$

4

Пример:

" 'CD' $ 'ABCD' " вернет ".Т."

" 8 < 7 " вернет ".F."

Логические операторы:

Имя оператора

Обозначение

Приоритет

Отрицание

.NOT.

3

И

.AND.

2

ИЛИ

.OR.

1


Содержание раздела