ObjectCollector.Get

From SunFlurry wiki
Jump to: navigation, search
  Get (Получение объекта)
Объект:Сборщик объектов
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Визуальность:Нет

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

Синтаксис

ObjectCollector.Get(<Объект, для добавления или получения из коллекции (DB)>):<Подобный объект из коллекции (DB)>

Аргументы

  • <Объект, для добавления или получения из коллекции (DB)> - Объект базы данных, который требуется пропустить через сборщик.

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

Возвращается исходный или подобный объект базы данных.

Примеры

//З -- объект запроса, создающий выборку по документам
ObjC:=ObjectCollector.Create();
//Цикл по документам, массу которых необходимо рассчитать
While З.Next(1) Do
  Док:=З.зДок;

  Масса:=0;
  Мест:=0;
  bTab:=Док.Copy().LineParts("Номенклатура");
  bTab.Select();
  While bTab.Next() Do
    //Так как номенклатура частично повторяется во всех документах,
    //  получение номенклатуры из сборщика объектов экономит память и время загрузки свойств для большинства позиций
    зН:=ObjC.Get(bTab.Номенклатура);
    Масса:=Масса+зН.МассаБрутто*bTab.Количество;
    Мест:=Мест+bTab.Количество/зН.ОсновнойКоэффициент;
  EndDo;
  
  ТаблицаМасс.AddLine("Документ,Масса,Мест",Док,Масса,Мест);
EndDo;