Tab.Column.ForbidMassLoad

From SunFlurry wiki
Jump to: navigation, search
  ForbidMassLoad (Запрет загрузки столбца)
Объект:Таблица
Статус разработки: Реализована
Тип:Атрибут
Обращение к БД:Нет
Доступность:Чтение и запись
Визуальность:Нет

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

Синтаксис

Tab.Column.ForbidMassLoad:<Запретить загрузку столбца функцией Massload (INT)>

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

Возвращает режим запрета загрузки элементов ячеек текущего столбца таблицы из базы данных при вызове функции MassLoadObjects.

Примеры

//Создание запроса по документам "Реализация" в диапазоне дат с "НачДата" по "КонДата"
//В запрос будут входить все документы в строчной части "Номенклатура" которых есть объекты с реквизитом флАлкогольнаяПродукцияравным 1.
ТЗ:="зСтатус:=Doc.Реализация.@Status;Condition(зСтатус>1);зДата:=Doc.Реализация.DocDate;Condition((зДата>=НачДата)And(зДата<КонДата));
|зДок:=Doc.Реализация;
|зАлк:=Doc.Реализация.Номенклатура.Номенклатура.флАлкогольнаяПродукция;
|Condition(зАлк=1);
|зН:=Doc.Реализация.Номенклатура.Номенклатура;
|зЮЛ:=Doc.Реализация.ЮрЛицо;
|Group зН;";

//Запрос останавливается до начала постпроцессинга
З:=Query.Create();
З.Execute(ТЗ,0);

//Получение таблицы запроса и модификация ее необходимым образом
//При сортировке таблицы по столбцу "зН", система произвела бы загрузку всех объектов БД, присутствующих в таблице,
//  в том числе в столбце "зДок", загрузка это столбца нам не нужна, но сами значения будут использоваться
//  если разрешить загрузку, это не только замедлит выполнение постпроцесса, но и сильно потратит память, если документов достаточно много.
Тб:=З.ResultTable;
Тб.AddColumn("Контрагент");
Тб.AddColumn("пДок");
Тб.Column("зДок").ForbidMassLoad:=1;

//Заполнение требуемых доп. столбцов
..

//Продолжение выполнения запроса
З.Postprocess();