Difference between revisions of "DB.UseOption"
m (1 revision imported) |
|
(No difference)
|
Revision as of 07:43, 7 February 2021
UseOption (Режимы загрузки объекта) | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Функция получает или устанавливает значение дополнительных режимов загрузки текущего объекта базы данных. Доступны такие режимы, как загрузка периодических реквизитов и загрузка строчных частей. При создании объекта, все режимы устанавливаются на значения по умолчанию, после изменения режимов, они сохраняются для данного объекта до его удаления из системы.
Синтаксис
DB.UseOption(<Наименование установки (STRING)>,<Значение установки>):<Текущее значение установки>
Аргументы
<Наименование установки (STRING)>
- Задает наименование режима, который нужно прочитать или изменить. Доступы следующие значения:- LinePartsLoading, LineParts или Opt1 - загрузка все строчных частей объекта в момент его позиционирования и загрузки такими функциями, как Find или Select. Возможные значения: 0 -- не загружать (по умолчанию), 1 -- загружать.
- PeriodicalPropertiesLoading, PeriodicalProperties или Opt2 - загрузка периодических реквизитов объекта в момент его позиционирования и загрузки такими функциями, как Find или Select. Возможные значения: 0 -- не загружать (по умолчанию), 1 -- загружать. Значения будут загружаться на дату, которую можно изменить или получить функциями UseDate или EndPeriodDate.
<Значение установки>
- (необязательный аргумент) При наличии этого аргумента, функция изменяет режим загрузки объекта, иначе происходит только чтение режима. Значение параметра зависит от устанавливаемого (получаемого) режима.
Возвращаемое значение
Возвращается указанный текущий режим загрузки.
Примеры
//Пример обработчика визуального события 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;