Предыдущий по индексу

Берёт предыдущую запись таблицы по указанному индексу.

Синтаксис

Предыдущий(Таблица [,Индекс])

Параметры

Таблица (объект) – запись указанной таблицы. Каждый раз при вызове функции сюда будет извлекаться очередная запись.

Если объект содержит "пустую" запись (то есть не извлеченную из базы данных), то будет взята последняя запись в индексе. Если же индекс не указан, то извлекается соответственно последняя запись таблицы.

Если же объект содержит запись, извлечённую из базы данных, то берётся предыдущая.

Индекс (текст) – имя индекса, по которому определяется предыдущая запись. Список индексов таблицы можно посмотреть, открыв соответствующий словарь данных (файл с расширением ".dic") и выбрав нужную таблицу.

Если в описании индекса стоит флаг "Нулевые ключи в индекс не вносятся", то записи, с нулевыми ключевыми полями в такой индекс не попадают. Соответственно такие записи не будут извлекаться функцией по этому индексу.

Если указан индекс иерархии, то записи будут перебираться в том же порядке, в котором вы видите записи при нажатии <Ctrl+B> в иерархической таблице. Записи, находящиеся вне иерархии, извлекаться в этом случае не будут. Чтобы перебрать по индексу иерархии записи, относящиеся к определённому уровню, можно использовать функцию "Найти".

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

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

Возвращает

Да (логическое значение) – была извлечена предыдущая запись.

Нет (логическое значение) – больше нет записей.

Примеры

Функцию удобно применять, например, при поиске максимального табельного номера сотрудника:

оСотр = Таблица("Сотрудники");
Пока(Предыдущий(оСотр, ""))
   Сообщить(оСотр.ТабНомер)

См. также:

•  Следующий по индексу

•  УстановитьМаксКлюч

•  УстановитьМинКлюч

•  Найти – по индексу

•  Найти – по значению индекса