DB.Unload

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

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

Синтаксис

DB.Unload(<Оставить заголовок объекта (INT)>=0)

Аргументы

  • <Оставить заголовок объекта (INT)> - (необязательный аргумент) (планируется к реализации) При очистке реквизитов оставить объект в режиме загрузки заголовков.

Примеры

//Пример показывает цикл обработки таблицы с документами ВозвратОтПокупателя после выполнения запроса, вместо Copy используется Unload
ТЗ:="зДата:=BegOfDay(Doc.ВозвратОтПокупателя.DocDate);Condition((зДата>=НачДата)And(зДата<=КонДата));
  |Док:=Doc.ВозвратОтПокупателя;
  |зКО:=Doc.ВозвратОтПокупателя.КодОперации;
  |Condition(зКО IN СпКО);
  |зИд:=Doc.ВозвратОтПокупателя.УникальныйИдентификатор;
  |зИд2:=Doc.ВозвратОтПокупателя.УникальныйИдентификатор2;
  |Condition(зИд2<>тИд);
  |Group Док;"; 
З:=Query.Create();
З.Execute(ТЗ,0);
aTab:=З.ResultTable;

aTab.Select();
While aTab.Next() Do
  зДок:=aTab.Док;
  If (зДок.Status()<2)Or((зДок.РезультатДоставки<>1)and(зДок.РезультатДоставки<>2)) Then
    //Пропускаем необработанные документы
    Continue;
  EndIf;

  ...

  //После работы с текущим документом, произведем его очистку, чтобы не заполнять запрос загруженными документами.
  зДок.Unload();
EndDo;