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