DB.Find

From SunFlurry wiki
Revision as of 11:46, 20 September 2019 by Admin (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
  Find (Поиск и загрузка объекта)
Объект:Объект базы данных
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Сервер и БД
Исключения:Невозможно превратить в строку, ошибка в фильтрах
Визуальность:Нет

Функция производит поиск и позиционирование на объект текущего вида. Объект идентифицируется с помощью фильтров. Если объект найден, он будет загружен, если не найден, текущий объект не будет изменен, если в базе данных найдено более одного объекта, будет загружен первый из найденных. При поиске объектов используется порядок сортировки, заданный функцией UseOrder и ограничение, заданное функцией UseBorders. При загрузке объекта, работают правила, заданные функцией UseOption.

Синтаксис

DB.Find(<Стандарные фильтры>...):<Объект был найден (INT)>

Аргументы

  • <Стандартные фильтры> - (необязательный аргумент) Стандартные фильтры позиционирования описаны в статье Стандартные фильтры.

Возвращаемое значение

Возвращается 1, если объект был найден (позиционирован), иначе возвращает 0 и состояние объекта не будет изменено.

Примеры

//Поиск документа Реализация по реквизиту aEl.Идентификатор с датой, совпадающей с датой документа aEl, при этом документ не должен совпадать с документом aEl
аДок:=Doc.Реализация;
If аДок.Find("<DocDate,>=DocDate,Идентификатор,<>@ELEMENT",BegOfDay(aEl.DocDate+1),BegOfDay(aEl.DocDate),aEl.Идентификатор,aEl) Then
  //Выполнение действий, когда документ найден
  ...
EndIf;

//Тот же пример, но с использованием сложного режима фильтров
аДок:=Doc.Реализация;
If аДок.Find("~(BegOfDay(DocDate)=BegOfDay(aEl.DocDate))And(Идентификатор=aEl.Идентификатор)And(aEl<>@ELEMENT)") Then
  //Выполнение действий, когда документ найден
  ...
EndIf;