НайтиСКонца - по индексу |
Ищет в таблице запись с конца по указанному индексу.
НайтиСКонца(Объект, Индекс)
Объект (объект) – объект, содержащий запись. В случае успешного поиска сюда будет извлечена найденная запись.
Если объект на момент вызова функции содержит запись, ещё не извлеченную из базы данных, то в этой записи должны быть установлены ключевые поля. По значениям, указанным в ключевых полях, и будет вестись поиск.
Если же объект содержит запись, уже извлечённую из базы данных, то берётся по указанному индексу предыдущая запись.
Индекс (текст) – имя индекса. Именно индексом определяется, по каким полям и в какой последовательности будет искаться запись. Список индексов каждой таблицы можно посмотреть, открыв соответствующий словарь данных (файл с расширением ".dic") и выбрав нужную таблицу. Там же можно посмотреть и список полей, входящих в каждый из индексов.
При проведении поиска учтите, что, во-первых, некоторые поля в индексе могут быть отсортированы в обратном порядке, а, во-вторых, индекс может строиться не по целому полю, а только по его части (так индексируется большинство текстовых полей).
1 – найдена запись с указанными значениями ключевых полей. Найденная запись устанавливается в объекте, указанном при вызове функции.
0 – нужная запись не найдена. В этом случае запись в объекте инициализируется нулевыми значениями (становится "пустой").
-1 - нужная запись не найдена. В этом случае в объекте устанавливается ближайшая запись с индексом, наиболее подходящим по заданному в поиске параметру.
При помощи функции "НайтиСКонца" можно искать максимальное значение. Например, найти последний номер в реестре документов:
пД = Таблица("Документы");
'пД.ТипДокумента' = 'Документ.ТипДокумента';
'пД.ГруппаНумерации' = 'Документ.ГруппаНумерации';
пД.Номер = 9999999999; # просто очень большое число
Если(НайтиСКонца(пД, "ГруппаНумерации"))
Сообщить(пД.Номер);