DB.Load

From SunFlurry wiki
Jump to: navigation, search
  Load (Поиск и загрузка объекта)
Объект:Объект базы данных
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Сервер и БД
Исключения:Невозможно превратить в строку, число, ошибка в фильтрах
Визуальность:Нет

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

Синтаксис

DB.Load(<Максимальное количество объектов (INT)>=0,<Стандарные фильтры>...):<Найденные объекты (LIST)>

Аргументы

  • <Максимальное количество объектов (INT)> - (необязательный аргумент) Задает максимальное количество объектов для загрузки (т.е., будут загружены только указанное количество объектов, попавших под фильтр, остальные будут игнорированы). По умолчанию 0 -- не ограничивать количество объектов.
  • <Стандартные фильтры> - (необязательный аргумент) Стандартные фильтры позиционирования описаны в статье Стандартные фильтры.

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

Возвращается список, заполненный найденными объектами. Если ни одного объекта не найдено, будет возвращен пустой список.

Примеры

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

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