Difference between revisions of "DB.UseOption"

From SunFlurry wiki
Jump to: navigation, search
m (1 revision imported)
m (1 revision imported)
 
(One intermediate revision by one other user not shown)
Line 13: Line 13:
 
* [[Объекты]]
 
* [[Объекты]]
 
* [[Объект базы данных]]}}
 
* [[Объект базы данных]]}}
Функция получает или устанавливает значение дополнительных режимов загрузки текущего объекта базы данных. Доступны такие режимы, как загрузка периодических реквизитов и загрузка строчных частей. При создании объекта, все режимы устанавливаются на значения по умолчанию, после изменения режимов, они сохраняются для данного объекта до его удаления из системы.
+
Функция получает или устанавливает значение дополнительных режимов загрузки или работы текущего объекта базы данных. Доступны такие режимы, как загрузка периодических реквизитов, загрузка строчных частей и ограничения количества запрашиваемых за один раз элементов при выборке. При создании объекта, все режимы устанавливаются на значения по умолчанию, после изменения режимов, они сохраняются для данного объекта до его удаления из системы.
  
 
== Синтаксис ==
 
== Синтаксис ==
Line 24: Line 24:
 
** '''LinePartsLoading''', '''LineParts''' или '''Opt1''' - загрузка все строчных частей объекта в момент его позиционирования и загрузки такими функциями, как [[DB.Find|Find]] или [[DB.Select|Select]]. Возможные значения: '''0''' -- не загружать (по умолчанию), '''1''' -- загружать.
 
** '''LinePartsLoading''', '''LineParts''' или '''Opt1''' - загрузка все строчных частей объекта в момент его позиционирования и загрузки такими функциями, как [[DB.Find|Find]] или [[DB.Select|Select]]. Возможные значения: '''0''' -- не загружать (по умолчанию), '''1''' -- загружать.
 
** '''PeriodicalPropertiesLoading''', '''PeriodicalProperties''' или '''Opt2''' - загрузка периодических реквизитов объекта в момент его позиционирования и загрузки такими функциями, как [[DB.Find|Find]] или [[DB.Select|Select]]. Возможные значения: '''0''' -- не загружать (по умолчанию), '''1''' -- загружать. Значения будут загружаться на дату, которую можно изменить или получить функциями [[DB.UseDate|UseDate]] или [[DB.EndPeriodDate|EndPeriodDate]].
 
** '''PeriodicalPropertiesLoading''', '''PeriodicalProperties''' или '''Opt2''' - загрузка периодических реквизитов объекта в момент его позиционирования и загрузки такими функциями, как [[DB.Find|Find]] или [[DB.Select|Select]]. Возможные значения: '''0''' -- не загружать (по умолчанию), '''1''' -- загружать. Значения будут загружаться на дату, которую можно изменить или получить функциями [[DB.UseDate|UseDate]] или [[DB.EndPeriodDate|EndPeriodDate]].
 +
** '''SelectMaxElements''', '''SelectMax''' или '''Opt3''' - Задает максимальное количество элементов, запрашиваемое с сервера БД за один раз функциями [[DB.Select|Select]] и [[DB.SelectEx|SelectEx]]. По-умолчанию, система подбирает это количество таким образом, чтобы уменьшить число запросов при обходе выборки, создаваемой функцией [[DB.Select|Select]]. Однако некоторые справочники могут содержать очень большие текстовые поля, что может сделать запрос выборки по умолчанию (к примеру, 1000 элементов) слишком большим. Это значение может уменьшить количество элементов, получаемых в выборке за один раз, и тем самым обойти проблему.
 
* <code>''<Значение установки>''</code> - {{Optional}} При наличии этого аргумента, функция изменяет режим загрузки объекта, иначе происходит только чтение режима. Значение параметра зависит от устанавливаемого (получаемого) режима.
 
* <code>''<Значение установки>''</code> - {{Optional}} При наличии этого аргумента, функция изменяет режим загрузки объекта, иначе происходит только чтение режима. Значение параметра зависит от устанавливаемого (получаемого) режима.
  
 
==== Возвращаемое значение ====
 
==== Возвращаемое значение ====
Возвращается указанный текущий режим загрузки.
+
Возвращается указанный текущий режим (значение режима) загрузки или работы.
  
 
== Примеры ==
 
== Примеры ==

Latest revision as of 07:51, 22 January 2025

  UseOption (Режимы загрузки объекта)
Объект:Объект базы данных
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Исключения:Невозможно превратить в строку, неверное имя режима
Визуальность:Нет

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

Синтаксис

DB.UseOption(<Наименование установки (STRING)>,<Значение установки>):<Текущее значение установки>

Аргументы

  • <Наименование установки (STRING)> - Задает наименование режима, который нужно прочитать или изменить. Доступы следующие значения:
    • LinePartsLoading, LineParts или Opt1 - загрузка все строчных частей объекта в момент его позиционирования и загрузки такими функциями, как Find или Select. Возможные значения: 0 -- не загружать (по умолчанию), 1 -- загружать.
    • PeriodicalPropertiesLoading, PeriodicalProperties или Opt2 - загрузка периодических реквизитов объекта в момент его позиционирования и загрузки такими функциями, как Find или Select. Возможные значения: 0 -- не загружать (по умолчанию), 1 -- загружать. Значения будут загружаться на дату, которую можно изменить или получить функциями UseDate или EndPeriodDate.
    • SelectMaxElements, SelectMax или Opt3 - Задает максимальное количество элементов, запрашиваемое с сервера БД за один раз функциями Select и SelectEx. По-умолчанию, система подбирает это количество таким образом, чтобы уменьшить число запросов при обходе выборки, создаваемой функцией Select. Однако некоторые справочники могут содержать очень большие текстовые поля, что может сделать запрос выборки по умолчанию (к примеру, 1000 элементов) слишком большим. Это значение может уменьшить количество элементов, получаемых в выборке за один раз, и тем самым обойти проблему.
  • <Значение установки> - (необязательный аргумент) При наличии этого аргумента, функция изменяет режим загрузки объекта, иначе происходит только чтение режима. Значение параметра зависит от устанавливаемого (получаемого) режима.

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

Возвращается указанный текущий режим (значение режима) загрузки или работы.

Примеры

//Пример обработчика визуального события OnBeforeLoadElements, который подставляет особую таблицу загрузки
//  при выводе элементов таблицы простого справочника в случае, когда ограничения для текущего пользователя не
//  позволяют ему видеть все элементы. 
//Элементы справочника содержат периодические реквизиты, которые необходимо отразить в таблице, поэтому, нам необходимо
//  загружать их совместно с остальными реквизитами.
Стр:=Trim(Пользователь.ЗапрещенныеТипыЦен);
If Стр="" Then
  //Выполнить загрузку по умолчанию, если ограничений нет.
  Exit 0;
EndIf;

aEl:=Ref.цЦены;
//Сортировка совпадает с визуальной
aEl.UseOrder(Form.MainTab.SortString);
//Загружать периодические реквизиты
aEl.UseOption("PeriodicalPropertiesLoading",1);
//Произведем загрузку в список
aList:=aEl.Load(0,"@Parent,@Status",Form.MainTab.ParentElement,0);

//Создадим список цен (bList) только с разрешенными типами цен
bList:=List.Create();
For i:=1 to aList.Size() Do
  Эл:=aList.Get(i);
  Код:=Trim(Эл.ТипЦен.Code)+"@";
  If Pos(Код,Стр1)>0 Then
    Continue;
  EndIf;  
  bList.Add(Эл);
Enddo;

//Копирует результат в основную таблицу в скрытое поле "элемент", остальные поля система заполнит самостоятельно
bList.CopyTo(Form.MainTab.Value,1,bList.Size(),"@ELEMENT");
//Признак: таблица уже загружена
Result:=1;